Skip to content

RDKB-62526: Support for new WFA data elements.#925

Merged
narendradandu merged 15 commits intordkcentral:developfrom
WellPeter:wfa_elements_develop
Mar 9, 2026
Merged

RDKB-62526: Support for new WFA data elements.#925
narendradandu merged 15 commits intordkcentral:developfrom
WellPeter:wfa_elements_develop

Conversation

@WellPeter
Copy link
Contributor

No description provided.

@WellPeter WellPeter requested a review from a team as a code owner February 26, 2026 15:43
@rdkcmf-jenkins
Copy link
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/OneWifi/925/rdkb/components/opensource/ccsp/OneWifi

  • Commit: 2fa1fc4

Report detail: gist'

@WellPeter WellPeter force-pushed the wfa_elements_develop branch from 2fa1fc4 to 8df4d06 Compare February 27, 2026 16:08
WellPeter and others added 5 commits March 2, 2026 13:54
…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>
@WellPeter WellPeter force-pushed the wfa_elements_develop branch from 28774e7 to db525ee Compare March 2, 2026 12:48
WellPeter and others added 5 commits March 2, 2026 14:58
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>
@WellPeter WellPeter force-pushed the wfa_elements_develop branch from db525ee to ebeaf00 Compare March 2, 2026 12:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@narendradandu narendradandu changed the title Wfa elements develop RDKB-62526: New WFA data elements Mar 9, 2026
@narendradandu narendradandu changed the title RDKB-62526: New WFA data elements RDKB-62526: Support for new WFA data elements. Mar 9, 2026
@narendradandu narendradandu merged commit 310189d into rdkcentral:develop Mar 9, 2026
7 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Mar 9, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants