How rdkcentral/epon-manager works
epon-manager is RDK middleware that configures and controls EPON lower layers through the HAL, while exposing device state to other RDK components. Its main workflow is: initialize the manager and persistent settings, accept HAL events and TR-181 requests, update shared ONU/interface state or invoke HAL operations, then report link changes and telemetry. The graph preserves the documented LLID, CPE/DPoE, VEIP, polling, and persistence capabilities. Some subsystem wiring is documented rather than visible in the sampled excerpts, so uncertain call edges are omitted.
Main entry points: eponMgr_controller.c Event controller · eponMgr_data.c Shared data context · epon_manager_main.c Process entry · eponMgr_rbus.c RBUS connection
Components 18
Manager runtime
- Process entry
src/core/epon_manager_main.c - Event controller
src/core/controller/eponMgr_controller.c - Event queue
src/core/data_structures/eponMgr_queue.c - Statistics poller
src/core/stats_poller/eponMgr_stats_poller.c
EPON state and HAL
- Shared data context
src/core/data_structures/eponMgr_data.c - ONU and LLID state
src/core/data_structures/eponMgr_onu_state.c - Statistics data
src/core/data_structures/eponMgr_statsData.c
RBUS interfaces
- RBUS connection
src/rbus/eponMgr_rbus.c - TR-181 model
src/rbus/tr181/eponMgr_tr181.c - WanManager updates
src/rbus/wanmanager_update/eponMgr_wanmanager_update.c
Persistence and telemetry
- Configuration persistence
src/core/config/eponMgr_persistence.c - PSM adapter
src/rbus/eponMgr_psm.c - Telemetry reporting
src/telemetry/eponMgr_telemetry.c
Other components
- RDK components
- EPON HAL
- RDK RBUS services
- CCSP PSM
- RDK telemetry
Connections 26
- RDK components → Process entry: starts
- Process entry → Telemetry reporting: initializes
- Process entry → Event controller: initializes and runs
- Event controller → RBUS connection: initializes
- Event controller → Configuration persistence: loads settings
- Configuration persistence → PSM adapter: reads and writes
- PSM adapter → RBUS connection: gets handle
- PSM adapter → CCSP PSM: invokes PSM methods
- RBUS connection → RDK RBUS services: opens connection
- RBUS connection → TR-181 model: registers model
- TR-181 model → Shared data context: reads and updates
- TR-181 model → EPON HAL: invokes operations
- Event controller → EPON HAL: initializes HAL
- EPON HAL → Event controller: delivers events
- Event controller → Event queue: enqueues events
- Event controller → Shared data context: updates state
- Shared data context → ONU and LLID state: maintains state
- Event controller → TR-181 model: syncs dynamic tables
- Event controller → WanManager updates: notifies link changes
- WanManager updates → RDK RBUS services: updates status
- Event controller → Statistics poller: starts and stops
- Statistics poller → Shared data context: queries statistics
- Shared data context → Statistics data: caches counters
- Event controller → Telemetry reporting: raises events
- Process entry → Telemetry reporting: reports startup and shutdown
- Telemetry reporting → RDK telemetry: reports events