History

wifi: cfg80211: optionally support monitor on disabled channels

If the hardware supports a disabled channel, it may in some cases be possible to use monitor mode (without any transmit) on it when it's otherwise disabled. Add a new channel flag IEEE80211_CHAN_CAN_MONITOR that makes it possible for a driver to indicate such a thing. Make it per channel so drivers could have a choice with it, perhaps it's only possible on some channels, perhaps some channels are not supported at all, but still there and marked disabled. In _nl80211_parse_chandef() simplify the code and check only for an unknown channel, _cfg80211_chandef_usable() will later check for IEEE80211_CHAN_DISABLED anyway.

Johannes Berg committed 2 years ago

Commit a110a3b1 parent 7b5e25b5 files · +49 −17Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+4−0
@@ -4273,6 +4273,9 @@ enum nl80211_wmm_rule { · 4272 unmodified lines
42734273 * not allowed using this channel
42744274 * @NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP
42754275 * not allowed using this channel
4276+ * @NL80211_FREQUENCY_ATTR_CAN_MONITOR: This channel can be used in monitor
4277+ * mode despite other (regulatory) restrictions, even if the channel is
4278+ * otherwise completely disabled.
42764279 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
42774280 * currently defined
42784281 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4315,6 +4318,7 @@ enum nl80211_frequency_attr { · 36 unmodified lines
43154318 NL80211_FREQUENCY_ATTR_DFS_CONCURRENT,
43164319 NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT,
43174320 NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
4321+ NL80211_FREQUENCY_ATTR_CAN_MONITOR,
43184322
43194323 /* keep last */
43204324 __NL80211_FREQUENCY_ATTR_AFTER_LAST,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t