mbox series

[v2,0/2] MLO MBSSID Support

Message ID 20241025013857.2793346-1-quic_msinada@quicinc.com
Headers show
Series MLO MBSSID Support | expand

Message

Muna Sinada Oct. 25, 2024, 1:38 a.m. UTC
Enable MBSSID for Multi-link Operation.

For MLD if transmitting link of an MBSSID group is part of MLD then
link id of TX link BSS along with TX interface index has to be
specified. Add new MBSSID NL attribute to get link id of transmitting
vap link in case TX vap is an MLD

Additinaly for MLD, a pointer to Tx link BSS is needed by non-tx link
BSS. Currently mbssid_tx_vif is inside vif structure which won't
suffice for finding tx link for any non-tx link. Remove mbssid_tx_vif
and add mbssid_tx_bss to link conf.

Update ATH drivers to access mbssid_tx_bss member instead of
mbssid_tx_vif.

---
v2: addressed review comments
 - wifi: nl80211: add link id of transmitted profile for MLO MBSSID
	 - cleaned up commit message
	 - added link id value for non-MLO to documentation
	 - rewrote documentation for link id NL attibute
	 - cleaned up error path
	 - removed usage of tx_netdev
 - wifi: mac80211: restructure vif and link conf for mlo mbssid support
 	 - removed usage of mbssid_tx_vif and mbssid_tx_vif_linkid and added
	   link to Tx link BSS instead
	 - correct accessing rcu protected members

---
Rameshkumar Sundaram (2):
  wifi: nl80211: add link id of transmitted profile for MLO MBSSID
  wifi: mac80211: restructure vif and link conf for mlo mbssid support

 drivers/net/wireless/ath/ath11k/mac.c         | 26 ++---
 drivers/net/wireless/ath/ath12k/mac.c         | 24 ++---
 drivers/net/wireless/virtual/mac80211_hwsim.c |  2 +-
 include/net/cfg80211.h                        |  3 +
 include/net/mac80211.h                        |  6 +-
 include/uapi/linux/nl80211.h                  |  7 ++
 net/mac80211/cfg.c                            | 83 +++++++++++++---
 net/mac80211/ieee80211_i.h                    |  1 +
 net/mac80211/iface.c                          | 98 +++++++++++++++----
 net/wireless/nl80211.c                        | 43 +++++---
 net/wireless/sme.c                            |  4 +-
 11 files changed, 222 insertions(+), 75 deletions(-)