diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-04-03 14:35:57 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-04-11 16:23:49 -0400 |
commit | 4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8 (patch) | |
tree | 7d79667ca414d70b99cb82a646d1a3c2cc466670 /net/mac80211/ieee80211_i.h | |
parent | 3edaf3e61fda3aa9ff8d38445bf92f2bec23bf63 (diff) | |
download | linux-4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8.tar.gz linux-4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8.tar.bz2 linux-4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8.zip |
mac80211: add explicit monitor interface if needed
The queue mapping redesign that I'm planning to do
will break pure injection unless we handle monitor
interfaces explicitly. One possible option would
be to have the driver tell mac80211 about monitor
mode queues etc., but that would duplicate the API
since we already need to have queue assignments
handled per virtual interface.
So in order to solve this, have a virtual monitor
interface that is added whenever all active vifs
are monitors. We could also use the state of one
of the monitor interfaces, but managing that would
be complicated, so allocate separate state.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 41f7295cd891..8ed074f7e6cd 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -1100,6 +1100,9 @@ struct ieee80211_local { struct net_device napi_dev; struct napi_struct napi; + + /* virtual monitor interface */ + struct ieee80211_sub_if_data __rcu *monitor_sdata; }; static inline struct ieee80211_sub_if_data * |