aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-04-03 08:35:57 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-04-11 16:23:49 -0400
commit4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8 (patch)
tree7d79667ca414d70b99cb82a646d1a3c2cc466670 /include/net/mac80211.h
parent3edaf3e61fda3aa9ff8d38445bf92f2bec23bf63 (diff)
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 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index c8ef45176b3e..2956a206235f 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1175,6 +1175,10 @@ enum sta_notify_cmd {
1175 * @IEEE80211_HW_SCAN_WHILE_IDLE: The device can do hw scan while 1175 * @IEEE80211_HW_SCAN_WHILE_IDLE: The device can do hw scan while
1176 * being idle (i.e. mac80211 doesn't have to go idle-off during the 1176 * being idle (i.e. mac80211 doesn't have to go idle-off during the
1177 * the scan). 1177 * the scan).
1178 *
1179 * @IEEE80211_HW_WANT_MONITOR_VIF: The driver would like to be informed of
1180 * a virtual monitor interface when monitor interfaces are the only
1181 * active interfaces.
1178 */ 1182 */
1179enum ieee80211_hw_flags { 1183enum ieee80211_hw_flags {
1180 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, 1184 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0,
@@ -1191,7 +1195,7 @@ enum ieee80211_hw_flags {
1191 IEEE80211_HW_PS_NULLFUNC_STACK = 1<<11, 1195 IEEE80211_HW_PS_NULLFUNC_STACK = 1<<11,
1192 IEEE80211_HW_SUPPORTS_DYNAMIC_PS = 1<<12, 1196 IEEE80211_HW_SUPPORTS_DYNAMIC_PS = 1<<12,
1193 IEEE80211_HW_MFP_CAPABLE = 1<<13, 1197 IEEE80211_HW_MFP_CAPABLE = 1<<13,
1194 /* reuse bit 14 */ 1198 IEEE80211_HW_WANT_MONITOR_VIF = 1<<14,
1195 IEEE80211_HW_SUPPORTS_STATIC_SMPS = 1<<15, 1199 IEEE80211_HW_SUPPORTS_STATIC_SMPS = 1<<15,
1196 IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16, 1200 IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16,
1197 IEEE80211_HW_SUPPORTS_UAPSD = 1<<17, 1201 IEEE80211_HW_SUPPORTS_UAPSD = 1<<17,