Skip to content

RDKB-64295: Match MLO Assoc addresses#1121

Open
bmilcz-comcast wants to merge 1 commit into
rdkcentral:developfrom
bmilcz-comcast:rdkb-64295-linkaddr-matching
Open

RDKB-64295: Match MLO Assoc addresses#1121
bmilcz-comcast wants to merge 1 commit into
rdkcentral:developfrom
bmilcz-comcast:rdkb-64295-linkaddr-matching

Conversation

@bmilcz-comcast
Copy link
Copy Markdown
Contributor

Impacted Platforms: XB10
Reason for change: Broadcom driver replaces incoming SA MAC with MLD MAC. This change inspects the frame in search of STA profiles or vendor dependent IE in order to find a ProbeReq with matchin MAC. Test Procedure: Check if ProbeReq can get matched against Assoc.

Risks: None
Priority: P1

Copy link
Copy Markdown
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 updates the LEVL management-frame correlation logic to better match Probe Request frames to Association Request frames on XB10 Broadcom platforms where the driver may replace the incoming SA (link MAC) with the MLD MAC.

Changes:

  • Added parsing of Multi-Link (MLO) IEs in AssocReq frames to extract MLD MAC / link MACs and match them against stored ProbeReq entries.
  • Added fallback parsing of a vendor-specific IE to locate the “replaced MAC” and match it against stored ProbeReq entries.
  • Gated the new matching attempt behind _XB10_PRODUCT_REQ_ at the call site.

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

Comment thread source/apps/levl/wifi_levl.c Outdated
wifi_util_dbg_print(WIFI_APPS, "%s:%d: found matching ProbeReq with Link MAC: %s\n",
__func__, __LINE__, vendor_mac_str);
elem = (probe_req_elem_t *)hash_map_remove(app->data.u.levl.probe_req_map,
vendor_mac_str);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

done

Comment on lines +294 to +296
static probe_req_elem_t *find_matching_mlo_probe_req(struct ieee80211_mgmt *frame,
frame_data_t *msg, wifi_app_t *app)
{
Comment thread source/apps/levl/wifi_levl.c Outdated
elem = (probe_req_elem_t *)hash_map_remove(app->data.u.levl.probe_req_map, mac_str);
pthread_mutex_unlock(&app->data.u.levl.lock);

#if defined(_XB10_PRODUCT_REQ_)
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.

use CONFIG_IEEE80211BE instead of XB10_PRODUCT_REQ

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

done

@bmilcz-comcast bmilcz-comcast force-pushed the rdkb-64295-linkaddr-matching branch from 3399fd4 to 1b6fa88 Compare May 12, 2026 06:51
@bmilcz-comcast
Copy link
Copy Markdown
Contributor Author

Moved vendor IE check up, since we should mostly rely on this and in bad case we should try and go with either the MLD MAC or MAC from STA profile. It is still being clarified if the ProbeReq needs to be from the same band.

@bmilcz-comcast
Copy link
Copy Markdown
Contributor Author

It still is not determined whether we should act upon out-of-band (e.g. Assoc on 5G Probe on 6G) ProbeRequests.
With existing ds_dlist structs, in last commit I'm showing how this could be implemented.

Once we get the final requirements specified, commit with ds_dlist will be either squashed in or thrown out
(both after review and tests of course).

@bmilcz-comcast bmilcz-comcast force-pushed the rdkb-64295-linkaddr-matching branch 4 times, most recently from 332e366 to fc56a05 Compare May 25, 2026 08:31
@bmilcz-comcast
Copy link
Copy Markdown
Contributor Author

Current understanding for MLO is - no matter the band, deliver the frame if it is identified for the client.

@bmilcz-comcast bmilcz-comcast force-pushed the rdkb-64295-linkaddr-matching branch from fc56a05 to 693fba9 Compare May 25, 2026 11:03
Impacted Platforms: XB10
Reason for change: Broadcom driver replaces incoming SA MAC with MLD
MAC. This change inspects the frame in search of STA profiles or vendor
dependent IE in order to find a ProbeReq with matchin MAC.
Test Procedure: Check if ProbeReq can get matched against Assoc.

Risks: None
Priority: P1
Signed-off-by: Brayan Milczarek <brayan_milczarek@comcast.com>
@bmilcz-comcast bmilcz-comcast force-pushed the rdkb-64295-linkaddr-matching branch from 693fba9 to 0d0361e Compare May 25, 2026 12:35
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.

3 participants