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.
Showing the changes to include/uapi (1 of 5 files). Show all
Unified · Split
| @@ -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) that | 4257 | * @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 number | 4263 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 4260 | * currently defined | 4264 | * currently defined |
| 4261 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use | 4265 | * @__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 allowed | 4505 | * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed |
| 4501 | * @NL80211_RRF_NO_EHT: EHT operation not allowed | 4506 | * @NL80211_RRF_NO_EHT: EHT operation not allowed |
| 4502 | * @NL80211_RRF_PSD: Ruleset has power spectral density value | 4507 | * @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 | */ |
| 4504 | enum nl80211_reg_rule_flags { | 4513 | enum 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_IR | 4536 | #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 IE | 6502 | * @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, |