aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/mac80211
diff options
context:
space:
mode:
authorMathy Vanhoef <Mathy.Vanhoef@kuleuven.be>2020-07-23 14:01:49 +0400
committerJohannes Berg <johannes.berg@intel.com>2020-07-31 09:27:00 +0200
commite02281e7a5c524aaf6a52bb01afc4cc49addb908 (patch)
treea0156151a4fa609da1372048b2560e64a870c267 /net/mac80211
parentmac80211: never drop injected frames even if normally not allowed (diff)
downloadwireguard-linux-e02281e7a5c524aaf6a52bb01afc4cc49addb908.tar.xz
wireguard-linux-e02281e7a5c524aaf6a52bb01afc4cc49addb908.zip
mac80211: add radiotap flag to prevent sequence number overwrite
The radiotap specification contains a flag to indicate that the sequence number of an injected frame should not be overwritten. Parse this flag and define and set a corresponding Tx control flag. Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@kuleuven.be> Link: https://lore.kernel.org/r/20200723100153.31631-2-Mathy.Vanhoef@kuleuven.be Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/tx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 007e070227fd..413345056445 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -2085,6 +2085,8 @@ static bool ieee80211_parse_tx_radiotap(struct ieee80211_local *local,
txflags = get_unaligned_le16(iterator.this_arg);
if (txflags & IEEE80211_RADIOTAP_F_TX_NOACK)
info->flags |= IEEE80211_TX_CTL_NO_ACK;
+ if (txflags & IEEE80211_RADIOTAP_F_TX_NOSEQNO)
+ info->control.flags |= IEEE80211_TX_CTRL_NO_SEQNO;
break;
case IEEE80211_RADIOTAP_RATE: