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
42564256 * in current regulatory domain.
42574257 * @NL80211_FREQUENCY_ATTR_PSD: Power spectral density (in dBm) that
42584258 * 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.
42594263 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
42604264 * currently defined
42614265 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4295,6 +4299,7 @@ enum nl80211_frequency_attr { · 33 unmodified lines
42954299 NL80211_FREQUENCY_ATTR_NO_320MHZ,
42964300 NL80211_FREQUENCY_ATTR_NO_EHT,
42974301 NL80211_FREQUENCY_ATTR_PSD,
4302+ NL80211_FREQUENCY_ATTR_DFS_CONCURRENT,
42984303
42994304 /* keep last */
43004305 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -4500,6 +4505,10 @@ enum nl80211_sched_scan_match_attr { · 199 unmodified lines
45004505 * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
45014506 * @NL80211_RRF_NO_EHT: EHT operation not allowed
45024507 * @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.
45034512 */
45044513 enum nl80211_reg_rule_flags {
45054514 NL80211_RRF_NO_OFDM = 1<<0,
@@ -4521,6 +4530,7 @@ enum nl80211_reg_rule_flags { · 15 unmodified lines
45214530 NL80211_RRF_NO_320MHZ = 1<<18,
45224531 NL80211_RRF_NO_EHT = 1<<19,
45234532 NL80211_RRF_PSD = 1<<20,
4533+ NL80211_RRF_DFS_CONCURRENT = 1<<21,
45244534 };
45254535
45264536 #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
@@ -6492,6 +6502,11 @@ enum nl80211_feature_flags { · 1965 unmodified lines
64926502 * @NL80211_EXT_FEATURE_OWE_OFFLOAD_AP: Driver/Device wants to do OWE DH IE
64936503 * handling in AP mode.
64946504 *
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.
64956510 * @NUM_NL80211_EXT_FEATURES: number of extended features.
64966511 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
64976512 */
@@ -6565,6 +6580,7 @@ enum nl80211_ext_feature_index { · 67 unmodified lines
65656580 NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
65666581 NL80211_EXT_FEATURE_OWE_OFFLOAD,
65676582 NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,
6583+ NL80211_EXT_FEATURE_DFS_CONCURRENT,
65686584
65696585 /* add new features before the definition below */
65706586 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