RDKB-66205: [MLO] Add telemetry markers and reporting support for MLO client adoption, latency, connectivity, GMC, and reboot impact - #1322
Open
vfrvtlk wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds WiFiHealth telemetry logging for 802.11be Multi-Link Operation (MLO) client adoption by reporting per-MLD counts of connected MLO clients and a breakdown by number of active links.
Changes:
- Adds an
upload_mld_telemetry_data()helper (guarded byCONFIG_IEEE80211BE) to count MLO clients per MLD and log markers intowifihealth.txt. - Triggers the new MLO telemetry upload once per client diagnostics cycle (when
vap_idx == 0) inupdate_clientdiagdata().
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… client adoption, latency, connectivity, GMC, and reboot impact Reason for change: Addition of related MLO clients metrics 1) total number of MLO devices connected on each configured MLD 2) Number of nLink connected devices Test Procedure: Connect MLO/Non MLO clients and verify if metrics are correctly printed into rdklogs/logs/wifihealth.txt Risks: Low Priority: P1 Signed-off-by: Vitaliy Lyashenko <v.for.vitalik@gmail.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
Suppressed comments (3)
source/apps/whix/wifi_whix.c:865
- Clients with
nb_links > 3are included inmlo_clients_countbut excluded from the per-link counters (default case does nothing), making the metrics internally inconsistent. If >3 links are possible (givenMAX_NUM_RADIOS), either clamp/binnb_links >= 3into the 3-link metric (or a new4PLUSmetric) so totals remain explainable.
unsigned int nb_links = 0;
for (int i = 0; i < MAX_NUM_RADIOS; i++) {
if (sta->mld_info.cli_LinkInfo[i].cli_Valid)
nb_links++;
}
switch (nb_links) {
case 1: l1++; break;
case 2: l2++; break;
case 3: l3++; break;
default: break;
}
source/apps/whix/wifi_whix.c:823
buffis sized toMAX_BUFF_SIZE(based onBSS_MAX_NUM_STATIONS) but each formatted line is short; this inflates stack usage unnecessarily and repeatsmemset+ multiplewrite_to_file()calls permld_id. Consider using a small fixed line buffer sized to the maximum telemetry line length (or building a single multi-line buffer and writing once permld_id) to reduce stack pressure and I/O overhead.
char buff[MAX_BUFF_SIZE];
source/apps/whix/wifi_whix.c:884
buffis sized toMAX_BUFF_SIZE(based onBSS_MAX_NUM_STATIONS) but each formatted line is short; this inflates stack usage unnecessarily and repeatsmemset+ multiplewrite_to_file()calls permld_id. Consider using a small fixed line buffer sized to the maximum telemetry line length (or building a single multi-line buffer and writing once permld_id) to reduce stack pressure and I/O overhead.
memset(buff, 0, MAX_BUFF_SIZE);
snprintf(buff, MAX_BUFF_SIZE - 1, "%s WIFI_MLO_%u_CLIENT_COUNT:%u\n", tmp, mld_id, mlo_clients_count);
write_to_file(wifi_health_log, buff);
memset(buff, 0, MAX_BUFF_SIZE);
snprintf(buff, MAX_BUFF_SIZE - 1, "%s WIFI_MLO_%u_1LINK_CLIENT_COUNT:%u\n", tmp, mld_id, l1);
write_to_file(wifi_health_log, buff);
snprintf(buff, MAX_BUFF_SIZE - 1, "%s WIFI_MLO_%u_2LINK_CLIENT_COUNT:%u\n", tmp, mld_id, l2);
write_to_file(wifi_health_log, buff);
snprintf(buff, MAX_BUFF_SIZE - 1, "%s WIFI_MLO_%u_3LINK_CLIENT_COUNT:%u\n", tmp, mld_id, l3);
write_to_file(wifi_health_log, buff);
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Reason for change: Addition of related MLO clients metrics 1) total number of MLO devices connected on each configured MLD 2) Number of nLink connected devices
Test Procedure: Connect MLO/Non MLO clients and verify if metrics are correctly printed into rdklogs/logs/wifihealth.txt
Risks: Low
Priority: P1