mac80211: support scan features for improved scan privacy
Support the new random SN and minimal probe request contents scan flags for the case of software scan - for hardware scan the drivers need to opt in, but may need to do only that, depending on their implementation. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
This commit is contained in:

committed by
Johannes Berg

parent
2e076f1990
commit
b9771d41ae
@@ -165,6 +165,7 @@ typedef unsigned __bitwise ieee80211_tx_result;
|
||||
#define TX_DROP ((__force ieee80211_tx_result) 1u)
|
||||
#define TX_QUEUED ((__force ieee80211_tx_result) 2u)
|
||||
|
||||
#define IEEE80211_TX_NO_SEQNO BIT(0)
|
||||
#define IEEE80211_TX_UNICAST BIT(1)
|
||||
#define IEEE80211_TX_PS_BUFFERED BIT(2)
|
||||
|
||||
@@ -1880,19 +1881,20 @@ void ieee80211_regulatory_limit_wmm_params(struct ieee80211_sub_if_data *sdata,
|
||||
void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata,
|
||||
bool bss_notify, bool enable_qos);
|
||||
void ieee80211_xmit(struct ieee80211_sub_if_data *sdata,
|
||||
struct sta_info *sta, struct sk_buff *skb);
|
||||
struct sta_info *sta, struct sk_buff *skb,
|
||||
u32 txdata_flags);
|
||||
|
||||
void __ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
|
||||
struct sk_buff *skb, int tid,
|
||||
enum nl80211_band band);
|
||||
enum nl80211_band band, u32 txdata_flags);
|
||||
|
||||
static inline void
|
||||
ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
|
||||
struct sk_buff *skb, int tid,
|
||||
enum nl80211_band band)
|
||||
enum nl80211_band band, u32 txdata_flags)
|
||||
{
|
||||
rcu_read_lock();
|
||||
__ieee80211_tx_skb_tid_band(sdata, skb, tid, band);
|
||||
__ieee80211_tx_skb_tid_band(sdata, skb, tid, band, txdata_flags);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
@@ -1910,7 +1912,7 @@ static inline void ieee80211_tx_skb_tid(struct ieee80211_sub_if_data *sdata,
|
||||
}
|
||||
|
||||
__ieee80211_tx_skb_tid_band(sdata, skb, tid,
|
||||
chanctx_conf->def.chan->band);
|
||||
chanctx_conf->def.chan->band, 0);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
@@ -2034,6 +2036,8 @@ void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
enum {
|
||||
IEEE80211_PROBE_FLAG_DIRECTED = BIT(0),
|
||||
IEEE80211_PROBE_FLAG_MIN_CONTENT = BIT(1),
|
||||
IEEE80211_PROBE_FLAG_RANDOM_SN = BIT(2),
|
||||
};
|
||||
|
||||
int ieee80211_build_preq_ies(struct ieee80211_local *local, u8 *buffer,
|
||||
|
Reference in New Issue
Block a user