RDKB-62526: Support for new WFA data elements.#925
Merged
narendradandu merged 15 commits intordkcentral:developfrom Mar 9, 2026
Merged
RDKB-62526: Support for new WFA data elements.#925narendradandu merged 15 commits intordkcentral:developfrom
narendradandu merged 15 commits intordkcentral:developfrom
Conversation
Contributor
2fa1fc4 to
8df4d06
Compare
…WFA Data Elements support Reason for change: 1. Implement WFA Data Elements schema-based registration via JSON. Implementation of WFA DM parameters are stubbed. 2. Support both Native WiFi DM and WFA Data Elements with unified JSON parsing. 3. Memory footprint improvments. Test Procedure: 1. Verify WFA Data Elements schema parsing from JSON files 2. Verify Native DM schema registration 3. Confirm bus namespace registration for all elements 4. Verify TR-181 path conversion from YANG format Risks: Medium Priority: P1 Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
Reason for change: Add Multi-Link Operation (MLO) support to the WiFi JSON based DML.
DM: - Device.WiFi.SSID.{i}.MLDUnit
- Device.WiFi.SSID.{i}.X_RDK_MLDLinkID
Test Procedure: Configure MLO group and connect MLO clients with multiple links.
Configuration example:
dmcli eRT setv Device.WiFi.SSID.1.X_RDK_MLDLinkID uint 2
dmcli eRT setv Device.WiFi.SSID.2.X_RDK_MLDLinkID uint 0
dmcli eRT setv Device.WiFi.SSID.17.X_RDK_MLDLinkID uint 1
dmcli eRT setv Device.WiFi.SSID.1.MLDUnit int 0
dmcli eRT setv Device.WiFi.SSID.2.MLDUnit int 0
dmcli eRT setv Device.WiFi.SSID.17.MLDUnit int 0
dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true
reboot
Risks: Low
Priority: P1
Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
Reason for change: Create get handler implementation example for WFA DE node. Test Procedure: Check if Device.WiFi.DataElements.Network.SSID path is available via dmcli Risks: Low Priority: P1 Signed-off-by: Vitaliy Lyashenko <v.for.vitalik@gmail.com>
Reason for change: Create get handler implementation for APMLD. node. Test Procedure: Check if Device.WiFi.DataElements.Network.Device.1.APMLD. path is available and provides values for APMLDConfig / NumberOfEntires / MLDMACAddress Risks: Low Priority: P1 Signed-off-by: Vitaliy Lyashenko <v.for.vitalik@gmail.com>
Reason for change: Dynamic tables of WFA DE DM should always be synchronized with native DM configuration Test Procedure: Check if Device.WiFi.DataElements.Network.Device.1.APMLD.i. path is available for each configured MLD unit Risks: Low Priority: P1 Signed-off-by: Vitaliy Lyashenko <v.for.vitalik@gmail.com>
28774e7 to
db525ee
Compare
Reason for change: Create get handler implementation for STAMLD. and AffiliatedSTA node.
Test Procedure: Check if Device.WiFi.DataElements.Network.Device.1.APMLD.{i}.STAMLD.
Device.WiFi.DataElements.Network.Device.1.APMLD.{i}.STAMLD.{i}.AffiliatedSTA.{i}
paths are available and provides values according to BBF.
Risks: Low
Priority: P1
Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
Reason for change: Implement AffiliatedAP handling (TODO statistics part) Test Procedure: Check if path Device.WiFi.DataElements.Network.Device.APMLD.AffiliatedAP.I. is available Check if tables APMLD/STAMLD/AffiliatedAP/AffiliatedSTA are properly updated Risks: Low Priority: P1 Signed-off-by: Vitaliy Lyashenko <v.for.vitalik@gmail.com>
Reason for change: Implement Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.STAMLD.{i}.
- PairwiseAKM
- PairwiseCipher
- RSNCapabilities
Test Procedure: Get an varify values of DM parameters above,
Risks: Low
Priority: P1
Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
Reason for change: Implementation of new WFA data model Test Procedure: Device.WiFi.DataElements. DM tree is available Risks: Medium Priority: P1 Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
Reason for change: Fix compilation error for WLE-WNC Test Procedure: All build are successful Risks: None Priority: P1 Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
db525ee to
ebeaf00
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces JSON-Schema-driven Data Model registration (including WFA Data Elements) and extends associated-client telemetry to support MLD/RSN capabilities and max link rates.
Changes:
- Extend associated client encode/decode and stats propagation with MLD fields, RSN capabilities, and max uplink/downlink rates.
- Replace the legacy DML JSON parser with a JSON Schema (draft-style) parser and wire up native + WFA schema registration.
- Add WFA Data Elements data model + callbacks, and introduce an RBUS “sync” handler path for table elements.
Reviewed changes
Copilot reviewed 25 out of 26 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| source/webconfig/wifi_encoder.c | Adds MLD/RSN/max-rate fields to associated-client JSON encoding. |
| source/webconfig/wifi_decoder.c | Decodes new associated-client fields (MLD/RSN/max-rate) from JSON. |
| source/stats/wifi_monitor.c | Extracts RSN capabilities from RSN IE and stores into security struct. |
| source/platform/rdkb/bus.c | Adds a table “sync” handler mapping via RBUS methodHandler. |
| source/platform/common/data_model/wifi_dml_json_parser.h | Declares JSON Schema parsing/registration APIs for bus DM. |
| source/platform/common/data_model/wifi_dml_json_parser.c | Implements JSON Schema traversal, $ref resolution, and bus registration. |
| source/platform/common/data_model/wifi_dml_cb.c | Adds SSID MLD parameters (MLDUnit / X_RDK_MLDLinkID) get/set support. |
| source/platform/common/data_model/wifi_dml_api.h | Exposes JSON parser APIs and adds RSN selector helpers + default bus handlers. |
| source/platform/common/data_model/wifi_dml_api.c | Adds RSSI->RCPI and RSN selector helpers; registers native + WFA schemas at startup; adds default bus handlers. |
| source/platform/common/data_model/wifi_data_model_parse.h | Removes legacy DML JSON parsing header. |
| source/platform/common/data_model/wifi_data_model_parse.c | Removes legacy DML JSON parsing implementation. |
| source/platform/common/data_model/wifi_data_model.h | Centralizes TR-181 path macros and declares native DM callback mapper. |
| source/platform/common/data_model/wifi_data_model.c | Adds native DM callback mapping wrapper to the new callback selection mechanism. |
| source/platform/common/data_model/wfa/wfa_dml_cb.h | Declares WFA Data Elements callback APIs. |
| source/platform/common/data_model/wfa/wfa_dml_cb.c | Implements WFA Data Elements getters and conversions (RCPI, RSN selector hex). |
| source/platform/common/data_model/wfa/wfa_data_model.h | Adds WFA Data Elements TR-181 paths, table indices, and callback registration API. |
| source/platform/common/data_model/wfa/wfa_data_model.c | Implements WFA element callback mapping, table row sync handlers, and table-size logic. |
| source/dml/wifi_ssp/ssp_main.c | Registers WFA schema from the SSP path as well. |
| source/dml/dml_webconfig/dml_onewifi_api.h | Adds APMLD/STAMLD data structures and APIs to support WFA tables. |
| source/dml/dml_webconfig/dml_onewifi_api.c | Implements APMLD/STAMLD discovery and lookup based on assoc-device data. |
| source/core/wifi_ctrl.h | Adds BUS_WFA_DML_CONFIG_FILE constant. |
| source/core/Makefile.am | Updates build wiring for the new JSON DML + WFA sources across build options. |
| include/wifi_base.h | Adds rsn_capabilities to conn_security_t and makes MLD constants unconditional. |
| config/bus_dml_config.json | Converts/reshapes the native DM config into a JSON-Schema-like structure for the new parser. |
| NOTICE | Adds licensing notice for the WFA schema JSON file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2f5772f to
64dbae1
Compare
narendradandu
approved these changes
Mar 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.