aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tdls.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2022-07-21 10:56:48 +0200
committerJohannes Berg <johannes.berg@intel.com>2022-07-22 14:28:36 +0200
commit963d0e8d08d97f9133b9fd00354ebc1a2467484b (patch)
tree4ec43e69456ef37f7b5dee322d2013fc95ae949b /net/mac80211/tdls.c
parentwifi: mac80211: expand ieee80211_mgmt_tx() for MLO (diff)
downloadlinux-dev-963d0e8d08d97f9133b9fd00354ebc1a2467484b.tar.xz
linux-dev-963d0e8d08d97f9133b9fd00354ebc1a2467484b.zip
wifi: mac80211: optionally implement MLO multicast TX
For drivers using software encryption for multicast TX, such as mac80211_hwsim, mac80211 needs to duplicate the multicast frames on each link, if MLO is enabled. Do this, but don't just make it dependent on the key but provide a separate flag for drivers to opt out of this. This is not very efficient, I expect that drivers will do it in firmware/hardware or at least with DMA engine assistence, so this is mostly for hwsim. To make this work, also implement the SNS11 sequence number space that an AP MLD shall have, and modify the API to the __ieee80211_subif_start_xmit() function to always require the link ID bits to be set. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/tdls.c')
-rw-r--r--net/mac80211/tdls.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/tdls.c b/net/mac80211/tdls.c
index 36bfc54b3d2d..f4b4d25eef95 100644
--- a/net/mac80211/tdls.c
+++ b/net/mac80211/tdls.c
@@ -1054,7 +1054,8 @@ ieee80211_tdls_prep_mgmt_packet(struct wiphy *wiphy, struct net_device *dev,
/* disable bottom halves when entering the Tx path */
local_bh_disable();
- __ieee80211_subif_start_xmit(skb, dev, flags, 0, NULL);
+ __ieee80211_subif_start_xmit(skb, dev, flags,
+ IEEE80211_TX_CTRL_MLO_LINK_UNSPEC, NULL);
local_bh_enable();
return ret;