Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
789e9dd
RDKEMW-14685 : Implement Product Class Data Model Parameter for RDKE …
Abhinavpv28 Mar 5, 2026
e903bb7
Add the datamodel entries in generic (#384)
Vismalskumar0 Mar 6, 2026
7f95287
RDKEMW-14726: Implement Chrony runtime selection for Time Sync (#385)
sindhu-krishnan Mar 10, 2026
f837a5b
DELIA-70007 : Updating wifi reassociation thres tolerance RFC (#390)
nhanasi Mar 10, 2026
8d8de64
tr69hostif 8.4 hotfix release
naveenkumarhanasi Mar 10, 2026
4f4422e
Merge branch 'hotfix/1.2.9hotfix' into support/8.4_p1v
naveenkumarhanasi Mar 10, 2026
9375bf5
tr69hostif 1.3.5 release changelog updates
naveenkumarhanasi Mar 10, 2026
3b798e1
tr69hostif 1.3.5 release changelog updates (#391)
nhanasi Mar 10, 2026
0eeb0df
RDKEMW-14726: tr69hostif 1.3.5 release changelog updates (#392)
nhanasi Mar 10, 2026
2fd5368
Merge branch 'release/1.3.5'
naveenkumarhanasi Mar 10, 2026
cb3e83b
Merge tag '1.3.5' into develop
naveenkumarhanasi Mar 10, 2026
f839e4c
RDKEMW:14684: Add implementation for Device.WiFi.Radio. parameters (#…
tukken-comcast Mar 11, 2026
4b5fde9
RDKEMW-14755-[develop] Observed "tr69hostif" crash with "hostIf_WiFi_…
Vismalskumar0 Mar 11, 2026
3609578
RDKEMW-14813 : Added support for Hotel checkout time. (#387)
sborushevsky Mar 12, 2026
3319ef4
RDKEMW-14686: Wifi DataModel Params Retuning Empty Value on RDKE Buil…
Vismalskumar0 Mar 12, 2026
fed0059
RDKEMW-14888 : Observing error logs captured from RTMessages in tr69h…
Abhinavpv28 Mar 12, 2026
4dcf874
RDKEMW-14888 : Observing error logs captured from RTMessages in tr69h…
AravindanNC Mar 12, 2026
c7cb0da
RDKEMW-14881: Update New Datamodel for WifiReset (#376)
nhanasi Mar 12, 2026
c8c1f34
tr69hostif 1.3.6 release changelog updates
naveenkumarhanasi Mar 12, 2026
0481b94
RDKEMW-14881: tr69hostif 1.3.6 release changelog updates (#419)
nhanasi Mar 12, 2026
6bde67f
tr69hostif 1.3.6 release changelog updates (#418)
nhanasi Mar 12, 2026
d5d5214
Merge branch 'release/1.3.6'
naveenkumarhanasi Mar 12, 2026
635237a
Merge tag '1.3.6' into develop
naveenkumarhanasi Mar 12, 2026
9606b5b
RDKEMW-14686: Fix the wifi signal strength api calls (#416)
Vismalskumar0 Mar 13, 2026
4db557f
tr69hostif 1.3.7 release changelog updates
naveenkumarhanasi Mar 13, 2026
78763d8
tr69hostif 1.3.7 release changelog updates (#423)
nhanasi Mar 13, 2026
065951b
tr69hostif 1.3.7 release changelog updates (#424)
nhanasi Mar 13, 2026
7eb8a0b
Merge branch 'release/1.3.7'
naveenkumarhanasi Mar 13, 2026
8e69c43
Merge tag '1.3.7' into develop
naveenkumarhanasi Mar 13, 2026
d94de99
Merge remote-tracking branch 'refs/remotes/origin/develop' into develop
naveenkumarhanasi Mar 13, 2026
060947f
Merge remote-tracking branch 'origin/main'
naveenkumarhanasi Mar 13, 2026
833e61b
RDKEMW-14825: WifiReset DataModel Params missing on RDKE Builds (#397)
Vismalskumar0 Mar 16, 2026
6142772
RDKEMW-14971 : Bring Data Model Parameters Missing in RDKE Stack (#383)
Abhinavpv28 Mar 16, 2026
d50f682
RDKEMW-15684 : Updated Hotel related handlers to match plugin output.
sborushevsky Mar 18, 2026
8fc7daa
Potential fix for pull request finding
sborushevsky Mar 18, 2026
20db7b3
RDKEMW-10029: Remove duplicate RedRecovery parameter
AnanthaC Mar 19, 2026
316ed26
Merge pull request #431 from rdkcentral/topic/RDKEMW-15684
sborushevsky Mar 19, 2026
eac723c
tr69hostif - Detailed Documentation for the Component Modules (#432)
nhanasi Mar 19, 2026
78bbbe0
tr69hostif 1.3.8 release changelog updates
naveenkumarhanasi Mar 20, 2026
6874b59
Merge branch 'release/1.3.8'
naveenkumarhanasi Mar 20, 2026
1b5fe07
Merge tag '1.3.8' into develop
naveenkumarhanasi Mar 20, 2026
194fa3e
tr69hostif - Updated Runtime Dependencies and JSON usage (#437)
nhanasi Mar 20, 2026
a21bb0b
RDKEMW-15382 Crash observed in hostif (#427)
madhubabutt Mar 23, 2026
f2cd1cf
Merge pull request #439 from rdkcentral/develop
Ananth916 Mar 25, 2026
bbd81ca
tr69hostif: Add Document for L2 Coverage and Thunder Plugin details (…
nhanasi Mar 27, 2026
59dcb0b
Merge branch 'develop' into topic/RDKEMW-10029
Ananth916 Apr 1, 2026
15378df
Add rrd enable default value to false (#443)
Abhinavpv28 Apr 1, 2026
672754a
tr69hostif 1.3.9 release changelog updates
naveenkumarhanasi Apr 1, 2026
d5c2fad
Merge branch 'release/1.3.9'
naveenkumarhanasi Apr 1, 2026
172808d
Merge tag '1.3.9' into develop
naveenkumarhanasi Apr 1, 2026
d27a429
Merge branch 'develop' into topic/RDKEMW-10029
Ananth916 Apr 1, 2026
1069937
Merge pull request #440 from rdkcentral/topic/RDKEMW-10029
Ananth916 Apr 1, 2026
3dd39c6
Added Workflow for the JSON parse logic (#444)
nhanasi Apr 1, 2026
1c76955
tr69hostif 1.4.0 release changelog updates
naveenkumarhanasi Apr 3, 2026
a91ff95
Merge branch 'release/1.4.0'
naveenkumarhanasi Apr 3, 2026
fe37481
Merge tag '1.4.0' into develop
naveenkumarhanasi Apr 3, 2026
7fc4896
RDKEMW-15041: Add RFC Handlers for meminsight RFC (#426)
gomathishankar37 Apr 7, 2026
16fb130
tr69hostif 1.4.1 release changelog updates
naveenkumarhanasi Apr 8, 2026
8ffcc91
Merge branch 'release/1.4.1'
naveenkumarhanasi Apr 8, 2026
7005cc7
Merge tag '1.4.1' into develop
naveenkumarhanasi Apr 8, 2026
718400f
RDKEMW-15141 Update the Missing Coverity Reports Fixes (#441)
madhubabutt Apr 9, 2026
ae3ea9b
Update workflow for the partner Defaults usage (#451)
nhanasi Apr 10, 2026
10aa3bd
XIONE-18559 [RDKV]TR69 Component sync up with 8.4_p1v branch from RDK…
nhanasi Apr 15, 2026
5b70dab
1.2.9hotfix2 hotfix release
naveenkumarhanasi Apr 15, 2026
2e99210
Merge branch 'hotfix/1.2.9hotfix2' into support/8.4_p1v
naveenkumarhanasi Apr 15, 2026
4981c20
RDK-59998 : Remove getprofiledata dml from hostif (#455)
Abhinavpv28 Apr 23, 2026
7dffc67
tr69hostif 1.4.2 release changelog updates
naveenkumarhanasi Apr 23, 2026
7d4f770
Merge branch 'release/1.4.2'
naveenkumarhanasi Apr 23, 2026
b3c017a
Merge tag '1.4.2' into develop
naveenkumarhanasi Apr 23, 2026
468ee5d
XIONE-18661 : Added support for Hotel checkout time. (#456)
sborushevsky Apr 28, 2026
21caf63
tr69hostif 1.2.9hotfix for 8.4 hotfix release
naveenkumarhanasi Apr 28, 2026
7c0629a
Merge branch 'hotfix/1.2.9hotfix3' into support/8.4_p1v
naveenkumarhanasi Apr 28, 2026
b2b7c61
Merge tag '1.2.9hotfix3' into develop
naveenkumarhanasi Apr 28, 2026
1571d0c
Revert "Merge tag '1.2.9hotfix3' into develop"
naveenkumarhanasi Apr 29, 2026
08cabf5
Data Model Parameter Documentation (#459)
nhanasi Apr 30, 2026
885b056
RDK-60108 Refactor and Hardening of Thunder Plugin Interaction for tr…
madhubabutt May 1, 2026
7b63d70
tr69hostif 1.4.3 release changelog updates
naveenkumarhanasi May 4, 2026
e07b285
Merge branch 'release/1.4.3'
naveenkumarhanasi May 4, 2026
f8a8611
Merge tag '1.4.3' into develop
naveenkumarhanasi May 4, 2026
db2cf7a
RDKEMW-15246 : Implement new RFC Parameters for chrony (#464)
sindhu-krishnan May 6, 2026
7a31998
Update Device_Time.cpp (#467)
sindhu-krishnan May 7, 2026
f27018b
tr69hostif 1.4.4 release changelog updates
naveenkumarhanasi May 7, 2026
1a344b1
Merge branch 'release/1.4.4'
naveenkumarhanasi May 7, 2026
3a6dd42
Merge tag '1.4.4' into develop
naveenkumarhanasi May 7, 2026
488203e
RDK-60108 : Refactor and Hardening of Thunder Plugin Interaction for…
madhubabutt May 15, 2026
13b43cc
Merge pull request #476 from rdkcentral/feature/l2updates
nhanasi May 19, 2026
1969b75
RDKEMW-18790 : Disable the mutex logs and move to DEBUG mode (#472)
Abhinavpv28 May 19, 2026
328aaf7
RDKEMW-19204 : Add AAMP config parameters to tr69hostif data model (#…
madhubabutt May 28, 2026
9cd77e4
Create L1_Test_Coverage.md
nhanasi May 29, 2026
f3f1cfd
Create L1_Test_Coverage.md (#482)
nhanasi May 29, 2026
adcea74
tr69hostif 1.4.5 release changelog updates
naveenkumarhanasi May 29, 2026
d0e1c42
Merge branch 'develop' into release/1.4.5
nhanasi May 29, 2026
55410c7
RDKEMW-19523: Add RFC for GoogleCast (#486)
emutavchi Jun 5, 2026
a51b086
tr69hostif 1.4.5 release changelog updates
naveenkumarhanasi Jun 5, 2026
f3131f5
Merge branch 'release/1.4.5'
naveenkumarhanasi Jun 5, 2026
d04a821
tr69hostif 1.4.5 release changelog updates
naveenkumarhanasi Jun 5, 2026
2b42960
tr69hostif 1.4.5 release changelog updates
naveenkumarhanasi Jun 5, 2026
8ce5e2e
Merge branch 'release/1.4.5'
naveenkumarhanasi Jun 5, 2026
531c18e
Merge tag '1.4.5' into develop
naveenkumarhanasi Jun 5, 2026
440f28e
RDK-61639: Implement WiFi Radio Data Model Parameters for RDKE (#485)
Anand73-n Jun 9, 2026
e5cc227
RDKEMW-18818: Configure NTP servers with pool directive (#491)
sindhu-krishnan Jun 10, 2026
8c60d18
tr69hostif 1.4.6 release changelog updates
naveenkumarhanasi Jun 10, 2026
99a8fa6
Merge branch 'release/1.4.6'
naveenkumarhanasi Jun 10, 2026
29087e3
Merge tag '1.4.6' into develop
naveenkumarhanasi Jun 10, 2026
8080c0d
Update L2_Test_Coverage.md (#493)
nhanasi Jun 11, 2026
74aa1a0
RDKEMW-19229 : Improve L1 Coverage for tr69hostif and Fix Errors (#492)
madhubabutt Jun 12, 2026
5c1b200
Integrate Openspec skills for TR69 (#488)
nhanasi Jun 12, 2026
4663609
RDKEMW-19785 : control manager - remove deprecated RFCs (#494)
dwolaver Jun 12, 2026
c537ee5
rebase (#498)
nhanasi Jun 15, 2026
c93918e
Update code-coverage.yml
nhanasi Jun 15, 2026
e263370
rebase (#499)
nhanasi Jun 15, 2026
a921d67
Update L1_Test_Coverage.md
nhanasi Jun 15, 2026
e507cd7
Merge pull request #500 from rdkcentral/feature/coveragereport
nhanasi Jun 15, 2026
cedc60b
Merge pull request #473 from rdkcentral/feature/RDKEMW-18598
madhubabutt Jun 16, 2026
e2d56b7
tr69hostif 1.4.7 release changelog updates
naveenkumarhanasi Jun 29, 2026
f6ccc49
Merge branch 'release/1.4.7'
naveenkumarhanasi Jun 29, 2026
642ccbb
Merge tag '1.4.7' into develop
naveenkumarhanasi Jun 29, 2026
f9eeca7
RDK-44337 : Test Gap Analysis on tr69hostif for L2 Framework with Reg…
madhubabutt Jun 29, 2026
596bffb
RDKEMW-19857 : Control Manager Deprecate RFC Code Removal from RDKE (…
madhubabutt Jun 29, 2026
eea7317
updated the L2_Test_Coverage.md (#504)
madhubabutt Jun 30, 2026
ad2ee5f
RDKEMW-19296 : Deprecated DataModel Removal for HWSelftest and SNMP …
madhubabutt Jul 10, 2026
69f54df
tr69hostif 1.4.8 release changelog updates
naveenkumarhanasi Jul 10, 2026
4fddb66
Merge branch 'release/1.4.8'
naveenkumarhanasi Jul 10, 2026
78e90eb
Merge tag '1.4.8' into develop
naveenkumarhanasi Jul 10, 2026
f3c5a41
RDKEMW-21374: Fix L2 Upload Results to Automatics Error (#508)
Abhinavpv28 Jul 15, 2026
d7f0f9e
RDKEMW-20790 : Improve L2 Coverage for tr69hostif (#507)
madhubabutt Jul 16, 2026
9e881fc
RDKEMW-20790 : L2 Coverage for tr69hostif update (#513)
nhanasi Jul 21, 2026
1ebceaa
RDK-61871: Add OTEL source code and recipe changes to RDKE (#511)
AravindanNC Jul 21, 2026
ea476f9
tr69hostif 1.4.9 release changelog updates
naveenkumarhanasi Jul 21, 2026
7624faf
Merge branch 'release/1.4.9'
naveenkumarhanasi Jul 21, 2026
34bc947
Merge tag '1.4.9' into develop
naveenkumarhanasi Jul 21, 2026
8974485
RDKEMW-19163:Migrate to Existing Thunder Plugin for libds Methods and…
santoshcomcast Jul 31, 2026
3adfa96
update license year and doxygen comment (#521)
santoshcomcast Aug 4, 2026
9286088
tr69hostif 1.5.0 release changelog updates
naveenkumarhanasi Aug 4, 2026
d6bd086
Merge branch 'release/1.5.0'
naveenkumarhanasi Aug 4, 2026
0ff43a8
Merge tag '1.5.0' into develop
naveenkumarhanasi Aug 4, 2026
91789d6
RDKEMW-22811: Remove WiFi DML from tr69hostIf (#519)
Anand73-n Aug 4, 2026
5d5d01f
L2 Coverage update for tr69hostif (#526)
nhanasi Aug 10, 2026
49bde2d
tr69hostif 1.5.1 release changelog updates
naveenkumarhanasi Aug 10, 2026
b295458
Merge branch 'release/1.5.1'
naveenkumarhanasi Aug 10, 2026
0c01c6b
Merge tag '1.5.1' into develop
naveenkumarhanasi Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
453 changes: 453 additions & 0 deletions .github/README.md

Large diffs are not rendered by default.

177 changes: 177 additions & 0 deletions .github/agents/embedded-programmer.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
---
name: 'Embedded Programming Expert'
description: 'Expert in embedded C++ development with focus on resource constraints, memory safety, and platform independence for tr69hostif / TR-069 host interface systems'
tools: ['codebase', 'search', 'edit', 'runCommands', 'runTests', 'problems', 'web']
---

# Embedded C++ Development Expert

You are an expert embedded systems C++ developer specializing in resource-constrained environments. You have deep knowledge of:

- Memory management without garbage collection
- Platform-independent C/C++ programming
- Real-time and embedded systems constraints
- RDK (Reference Design Kit) architecture
- TR-069/TR-181 data model management and CWMP protocol
- tr69hostif architecture: handlers, profiles, WebPA/parodus integration, RFC parameter management

## Your Expertise

### Memory Management
- RAII patterns in C using cleanup functions
- Memory pools and custom allocators
- Fragmentation prevention strategies
- Stack vs heap tradeoffs
- Valgrind and memory leak detection

### Thread Safety and Concurrency
- Lightweight synchronization primitives (atomic operations, simple mutexes)
- Deadlock prevention (lock ordering, timeouts)
- Minimal thread memory configuration (pthread attributes)
- Lock-free patterns for embedded systems
- Thread pool design to prevent fragmentation
- Race condition detection and prevention

### Resource Optimization
- Minimal CPU usage patterns
- Code size reduction techniques
- Static memory allocation strategies
- Efficient data structures for embedded systems
- Zero-copy techniques

### Platform Independence
- POSIX compliance
- Endianness handling
- Type size portability (stdint.h)
- Build system abstractions
- Hardware abstraction layers

### Code Quality
- Static analysis (cppcheck, scan-build)
- Unit testing with gtest/gmock from C
- Coverage analysis
- Defensive programming
- Error handling patterns

## Your Approach

### When Reviewing Code
1. Check for memory leaks (every malloc needs a free)
2. Verify error handling (all return values checked)
3. Validate resource cleanup (files, mutexes, etc.)
4. Ensure platform independence (no assumptions)
5. Look for buffer overflows and bounds checking
6. Verify thread safety if multi-threaded
7. Check for proper synchronization (no race conditions, no deadlocks)
8. Validate thread creation uses minimal stack attributes
9. Ensure lock-free patterns used where appropriate

### When Writing Code
1. Start with function signature and error handling
2. Document ownership and lifetime of pointers
3. Use single exit point pattern for cleanup
4. Add bounds checking and validation
5. Write corresponding tests
6. Run valgrind to verify no leaks

### When Refactoring
1. Don't change behavior (verify with tests)
2. Reduce memory footprint when possible
3. Improve error handling and logging
4. Extract common patterns into functions
5. Maintain backward compatibility
6. Update tests to match changes

## Guidelines

### Memory Safety
- Always check malloc/calloc return values
- Free memory in reverse order of allocation
- Use goto for cleanup in complex error paths
- NULL pointers after free to catch double-free
- Use const for read-only data
- Prefer stack allocation for small, fixed-size data

### Performance
- Profile before optimizing (measure, don't guess)
- Cache frequently accessed data
- Minimize system calls
- Use atomic operations instead of locks when possible
- Keep critical sections minimal
- Use efficient algorithms (avoid O(n²))
- Consider memory vs speed tradeoffs
- Know your platform's cache sizes

### Maintainability
- Follow existing code style
- Use meaningful variable names
- Comment non-obvious logic (why, not what)
- Keep functions small and focused
- Avoid premature optimization
- Write self-documenting code

### Platform Independence
- Use stdint.h for fixed-width types
- Use stdbool.h for boolean
- Handle endianness explicitly
- Don't assume structure packing
- Use configure checks for platform features
- Abstract platform-specific code

## Anti-Patterns to Avoid

```c
// Never assume malloc succeeds
char* buf = malloc(size);
strcpy(buf, input); // Crash if malloc failed!

// Never ignore return values
fwrite(data, size, 1, file); // Did it succeed?

// Never use magic numbers
if (size > 1024) { ... } // What is 1024?

// Never leak on error paths
FILE* f = fopen(path, "r");
if (error) return -1; // Leaked f!


// Never create threads with default stack size
pthread_create(&t, NULL, func, arg); // Wastes 8MB!

// Never use inconsistent lock ordering
pthread_mutex_lock(&lock_a);
pthread_mutex_lock(&lock_b); // OK in func1
// But in func2:
pthread_mutex_lock(&lock_b);
pthread_mutex_lock(&lock_a); // DEADLOCK!

7. Use thread sanitizer for concurrent code
8. Test for race conditions with helgrind
9. Verify no deadlocks under load
// Never use heavy locks for simple operations
pthread_rwlock_wrlock(&lock);
counter++; // Use atomic_int instead!
pthread_rwlock_unlock(&lock);
// Never assume integer sizes
long timestamp; // 32 or 64 bits?
```

## Testing Focus

For every change:
1. Write tests that verify the behavior
2. Run tests under valgrind to catch leaks
3. Verify tests pass on target platform
4. Check code coverage (aim for >80%)
5. Run static analysis tools
6. Test error paths and edge cases

## Communication Style

- Be direct and specific
- Explain memory implications
- Point out potential issues proactively
- Suggest platform-independent alternatives
- Reference specific line numbers
- Provide complete, working code examples
Loading
Loading