History

wifi: cfg80211: reg: Support P2P operation on DFS channels

FCC-594280 D01 Section B.3 allows peer-to-peer and ad hoc devices to operate on DFS channels while they operate under the control of a concurrent DFS master. For example, it is possible to have a P2P GO on a DFS channel as long as BSS connection is active on the same channel. Allow such operation by adding additional regulatory flags to indicate DFS concurrent channels and capable devices. Add the required relaxations in DFS regulatory checks.

Andrei Otcheretianski committed 2 years ago

Commit 41a313d1 parent b133fdf5 files · +110 −7Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+16−0
@@ -4256,6 +4256,10 @@ enum nl80211_wmm_rule { · 4255 unmodified lines
4256 * in current regulatory domain.4256 * in current regulatory domain.
4257 * @NL80211_FREQUENCY_ATTR_PSD: Power spectral density (in dBm) that4257 * @NL80211_FREQUENCY_ATTR_PSD: Power spectral density (in dBm) that
4258 * is allowed on this channel in current regulatory domain.4258 * is allowed on this channel in current regulatory domain.
4259 * @NL80211_FREQUENCY_ATTR_DFS_CONCURRENT: Operation on this channel is
4260 * allowed for peer-to-peer or adhoc communication under the control
4261 * of a DFS master which operates on the same channel (FCC-594280 D01
4262 * Section B.3). Should be used together with %NL80211_RRF_DFS only.
4259 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number4263 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
4260 * currently defined4264 * currently defined
4261 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use4265 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4295,6 +4299,7 @@ enum nl80211_frequency_attr { · 33 unmodified lines
4295 NL80211_FREQUENCY_ATTR_NO_320MHZ,4299 NL80211_FREQUENCY_ATTR_NO_320MHZ,
4296 NL80211_FREQUENCY_ATTR_NO_EHT,4300 NL80211_FREQUENCY_ATTR_NO_EHT,
4297 NL80211_FREQUENCY_ATTR_PSD,4301 NL80211_FREQUENCY_ATTR_PSD,
4302 NL80211_FREQUENCY_ATTR_DFS_CONCURRENT,
4298 4303
4299 /* keep last */4304 /* keep last */
4300 __NL80211_FREQUENCY_ATTR_AFTER_LAST,4305 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -4500,6 +4505,10 @@ enum nl80211_sched_scan_match_attr { · 199 unmodified lines
4500 * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed4505 * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
4501 * @NL80211_RRF_NO_EHT: EHT operation not allowed4506 * @NL80211_RRF_NO_EHT: EHT operation not allowed
4502 * @NL80211_RRF_PSD: Ruleset has power spectral density value4507 * @NL80211_RRF_PSD: Ruleset has power spectral density value
4508 * @NL80211_RRF_DFS_CONCURRENT: Operation on this channel is allowed for
4509 peer-to-peer or adhoc communication under the control of a DFS master
4510 which operates on the same channel (FCC-594280 D01 Section B.3).
4511 Should be used together with %NL80211_RRF_DFS only.
4503 */4512 */
4504enum nl80211_reg_rule_flags {4513enum nl80211_reg_rule_flags {
4505 NL80211_RRF_NO_OFDM = 1<<0,4514 NL80211_RRF_NO_OFDM = 1<<0,
@@ -4521,6 +4530,7 @@ enum nl80211_reg_rule_flags { · 15 unmodified lines
4521 NL80211_RRF_NO_320MHZ = 1<<18,4530 NL80211_RRF_NO_320MHZ = 1<<18,
4522 NL80211_RRF_NO_EHT = 1<<19,4531 NL80211_RRF_NO_EHT = 1<<19,
4523 NL80211_RRF_PSD = 1<<20,4532 NL80211_RRF_PSD = 1<<20,
4533 NL80211_RRF_DFS_CONCURRENT = 1<<21,
4524};4534};
4525 4535
4526#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR4536#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
@@ -6492,6 +6502,11 @@ enum nl80211_feature_flags { · 1965 unmodified lines
6492 * @NL80211_EXT_FEATURE_OWE_OFFLOAD_AP: Driver/Device wants to do OWE DH IE6502 * @NL80211_EXT_FEATURE_OWE_OFFLOAD_AP: Driver/Device wants to do OWE DH IE
6493 * handling in AP mode.6503 * handling in AP mode.
6494 *6504 *
6505 * @NL80211_EXT_FEATURE_DFS_CONCURRENT: The device supports peer-to-peer or
6506 * ad hoc operation on DFS channels under the control of a concurrent
6507 * DFS master on the same channel as described in FCC-594280 D01
6508 * (Section B.3). This, for example, allows P2P GO and P2P clients to
6509 * operate on DFS channels as long as there's a concurrent BSS connection.
6495 * @NUM_NL80211_EXT_FEATURES: number of extended features.6510 * @NUM_NL80211_EXT_FEATURES: number of extended features.
6496 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.6511 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
6497 */6512 */
@@ -6565,6 +6580,7 @@ enum nl80211_ext_feature_index { · 67 unmodified lines
6565 NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,6580 NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
6566 NL80211_EXT_FEATURE_OWE_OFFLOAD,6581 NL80211_EXT_FEATURE_OWE_OFFLOAD,
6567 NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,6582 NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,
6583 NL80211_EXT_FEATURE_DFS_CONCURRENT,
6568 6584
6569 /* add new features before the definition below */6585 /* add new features before the definition below */
6570 NUM_NL80211_EXT_FEATURES,6586 NUM_NL80211_EXT_FEATURES,

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