This serie aims to allow non-MLD sta to roam between same MLD AP links as if they were two BSSs belonging to the same ESS. The first issue is that when a non-MLD STA is connected to one MLD AP link all received management frames are reported to userland with the current associated link id even if STA sent those frames on one of the other links (e.g. offchannel probe request). Because hostapd relies on this link id information to select the proper link for answering those management frames, probe responses to offchannel requests are sent through the wrong link and the sta misses them. To fix that, the first patch of this serie tries to match reported management frames link id with the received frequency. In case no suitable link is found, frames are reported without link information (link id == -1) and hostapd does the freq to link conversion to respond. The second issue comes from the fact that hostapd queries a sta removal for the previous association even after the sta has successfully roamed to the new link, causing the current sta to be removed. To avoid that the second patch checks the sta removal link id parameter. If a link id is supplied and the sta is not currently using this link, this removal is ignored. An additionnal hostapd patch is needed so that a link id parameter is added with NL80211_CMD_DEL_STATION requests, and will be sent to hostapd mailing if it appears that this serie makes sense. The third patch fixes the link id information initialization when tx frame with 802.11 HW offloading, this will be needed later to get sta roaming working with ath12k. An additionnal ath12k fix will also be provided in order to get non-MLD sta roaming working with this driver. This serie along with the mentionned hostapd patch allowes a non-MLD STA to successfully roam between several MLD AP links with hwsim. --- Changes v1 -> v2: - Moving this serie as RFC. I am not fully satisfied with Patch 1/3 but can't find a leaner way to handle off channel mgmt frames. Remi Pommarel (3): wifi: mac80211: Get link_id from freq for received management frame wifi: mac80211: Correctly init MLO link in ieee80211_8023_xmit() wifi: mac80211: Check link id at station removal net/mac80211/cfg.c | 3 ++- net/mac80211/rx.c | 41 ++++++++++++++++++++++++++++++++++++++++- net/mac80211/sta_info.c | 7 ++++++- net/mac80211/sta_info.h | 2 +- net/mac80211/tx.c | 2 ++ 5 files changed, 51 insertions(+), 4 deletions(-) -- 2.40.0