RDKB-63023 - RDKB-63660 : LM Lite support for MLO connected client notification#64
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds Multi-Link Operation (MLO) awareness to LM Lite’s connected-client notifications and data model by introducing per-link fields and a new Device.Hosts.Host.{i}.MloLink.{j} sub-table, while preserving legacy non‑MLO behavior.
Changes:
- Extends the Host data model with
X_RDK-MldClient,X_RDK-MloLinkNumberofEntries, and a newMloLinkstatic table (RSSI / Layer1Interface / AssociatedDevice per link). - Updates WiFi sync/notify plumbing to carry per-link AP/SSID/RSSI arrays (and MLO enable/link-count) through validation and event queues.
- Adds parsing for the new WiFi sync payload format (bracketed
;-delimited lists) and registers new DML entry points.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| source/lm/plugin_main.c | Registers new Host.MloLink DML functions with the plugin framework. |
| source/lm/lm_wrapper.h | Extends LM_wifi_wsta_t to carry MLO enable/link count and per-link arrays. |
| source/lm/lm_main.h | Adds new Host param IDs, MAX_MLO_LINKS, and host-side MLO link list type. |
| source/lm/lm_main.c | Implements MLO link list lifecycle, populates Host/MloLink fields during WiFi sync, and updates sync function signatures. |
| source/lm/cosa_hosts_dml.h | Declares Host.MloLink DML APIs. |
| source/lm/cosa_hosts_dml.c | Parses new WiFi sync payload and implements Host.MloLink DML accessors. |
| config/LMLite.XML | Exposes new Host params and the MloLink static table in the data model. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…n-manager-lite into feature/RDKB-63023
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Comments suppressed due to low confidence (1)
source/lm/cosa_hosts_dml.c:856
- Typo in log message: "Inapproriate" should be "Inappropriate" to improve log searchability and professionalism.
if (IsNumberString(Status)) {
iStatus = atoi(Status);
}else {
CcspTraceWarning((" \n Hosts_SetParamStringValue : < %s : %d > Inapproriate STATUS value in ParamString \n",__FUNCTION__,__LINE__));
return FALSE;
Testing done on Sercomm XB10 device with both connected MLO and non-MLO clients.
Below is the parameters for each scenario. Complete test logs attached.
one_wifi_integ_test.txt
MLO Connect : Pixel-9-Pro, MloEnable=1, Status=1
PhysAddress : ca:56:02:92:6f:7c
HostName : Pixel-9-Pro
Active : true
X_CISCO_COM_RSSI : 0
X_RDK-MldClient : true
MloLinkNumberOfEntries : 2
MloLink.1.X_RDK-RSSI : -53
MloLink.1.X_RDK-Layer1Interface : Device.WiFi.SSID.2
MloLink.1.X_RDK-AssociatedDevice : Device.WiFi.AccessPoint.2.AssociatedDevice.1
MloLink.2.X_RDK-RSSI : -53
MloLink.2.X_RDK-Layer1Interface : Device.WiFi.SSID.1
MloLink.2.X_RDK-AssociatedDevice : Device.WiFi.AccessPoint.1.AssociatedDevice.1
MLO Disconnect : Pixel-9-Pro, MloEnable=1, Status=0
PhysAddress : ca:56:02:92:6f:7c
HostName : Pixel-9-Pro
Active : false
X_CISCO_COM_RSSI : 0
X_RDK-MldClient : true
MloLinkNumberOfEntries : 2
MloLink.1.X_RDK-RSSI : 0
MloLink.1.X_RDK-Layer1Interface : Device.WiFi.SSID.2
MloLink.1.X_RDK-AssociatedDevice : (empty)
MloLink.2.X_RDK-RSSI : 0
MloLink.2.X_RDK-Layer1Interface : Device.WiFi.SSID.1
MloLink.2.X_RDK-AssociatedDevice : (empty)
Non-MLO Connect : iPhone, MloEnable=0, Status=1
PhysAddress : 7a:db:0b:a1:fc:22
HostName : iPhone
Active : true
AssociatedDevice : Device.WiFi.AccessPoint.2.AssociatedDevice.1
Layer1Interface : Device.WiFi.SSID.2
X_CISCO_COM_RSSI : -62
X_RDK-MldClient : false
MloLinkNumberOfEntries : 0
Non-MLO Disconnect : iPhone, MloEnable=0, Status=0
Parameter : Value
PhysAddress : 7a:db:0b:a1:fc:22
HostName : iPhone
Active : false
AssociatedDevice : (empty)
X_CISCO_COM_RSSI : -62
X_RDK-MldClient : false
MloLinkNumberOfEntries : 0
Tested on Sercomm XB10 Device with non-mlo connected client without integrated Onewifi changes to ensure old notification format is also handled. test logs attached.
old_and_new_notifications_test.txt