Skip to content

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
rdkcentral:developfrom
vfrvtlk:dev_RDKB-66205
Open

RDKB-66205: [MLO] Add telemetry markers and reporting support for MLO client adoption, latency, connectivity, GMC, and reboot impact#1322
vfrvtlk wants to merge 1 commit into
rdkcentral:developfrom
vfrvtlk:dev_RDKB-66205

Conversation

@vfrvtlk

@vfrvtlk vfrvtlk commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

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

Copilot AI review requested due to automatic review settings August 6, 2026 12:56
@vfrvtlk
vfrvtlk requested a review from a team as a code owner August 6, 2026 12:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 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 by CONFIG_IEEE80211BE) to count MLO clients per MLD and log markers into wifihealth.txt.
  • Triggers the new MLO telemetry upload once per client diagnostics cycle (when vap_idx == 0) in update_clientdiagdata().

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/apps/whix/wifi_whix.c
Comment thread source/apps/whix/wifi_whix.c Outdated
Copilot AI review requested due to automatic review settings August 6, 2026 16:13
… 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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 > 3 are included in mlo_clients_count but excluded from the per-link counters (default case does nothing), making the metrics internally inconsistent. If >3 links are possible (given MAX_NUM_RADIOS), either clamp/bin nb_links >= 3 into the 3-link metric (or a new 4PLUS metric) 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

  • buff is sized to MAX_BUFF_SIZE (based on BSS_MAX_NUM_STATIONS) but each formatted line is short; this inflates stack usage unnecessarily and repeats memset + multiple write_to_file() calls per mld_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 per mld_id) to reduce stack pressure and I/O overhead.
    char buff[MAX_BUFF_SIZE];

source/apps/whix/wifi_whix.c:884

  • buff is sized to MAX_BUFF_SIZE (based on BSS_MAX_NUM_STATIONS) but each formatted line is short; this inflates stack usage unnecessarily and repeats memset + multiple write_to_file() calls per mld_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 per mld_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);

Comment thread source/apps/whix/wifi_whix.c
Comment thread source/apps/whix/wifi_whix.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants