History

nl80211: advertise HT/VHT channel limitations

When drivers or regulatory have limitations on 40, 80 or 160 MHz channels, advertise these to userspace via nl80211. Also add a new feature flag to let userspace know this is supported.

Johannes Berg committed 13 years ago

Commit 50640f11 parent c7a6ee23 files · +31 −1Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+17−0
@@ -2041,6 +2041,16 @@ enum nl80211_band_attr { · 2040 unmodified lines
20412041 * (enum nl80211_dfs_state)
20422042 * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long
20432043 * this channel is in this DFS state.
2044+ * @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this
2045+ * channel as the control channel
2046+ * @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this
2047+ * channel as the control channel
2048+ * @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel
2049+ * as the primary or any of the secondary channels isn't possible,
2050+ * this includes 80+80 channels
2051+ * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel
2052+ * using this channel as the primary or any of the secondary channels
2053+ * isn't possible
20442054 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
20452055 * currently defined
20462056 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -2055,6 +2065,10 @@ enum nl80211_frequency_attr { · 8 unmodified lines
20552065 NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
20562066 NL80211_FREQUENCY_ATTR_DFS_STATE,
20572067 NL80211_FREQUENCY_ATTR_DFS_TIME,
2068+ NL80211_FREQUENCY_ATTR_NO_HT40_MINUS,
2069+ NL80211_FREQUENCY_ATTR_NO_HT40_PLUS,
2070+ NL80211_FREQUENCY_ATTR_NO_80MHZ,
2071+ NL80211_FREQUENCY_ATTR_NO_160MHZ,
20582072
20592073 /* keep last */
20602074 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -3421,6 +3435,8 @@ enum nl80211_ap_sme_features { · 1360 unmodified lines
34213435 * Note that even for drivers that support this, the default is to add
34223436 * stations in authenticated/associated state, so to add unauthenticated
34233437 * stations the authenticated/associated bits have to be set in the mask.
3438+ * @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits
3439+ * (HT40, VHT 80/160 MHz) if this flag is set
34243440 */
34253441 enum nl80211_feature_flags {
34263442 NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
@@ -3437,6 +3453,7 @@ enum nl80211_feature_flags { · 10 unmodified lines
34373453 NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11,
34383454 NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12,
34393455 NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 13,
3456+ NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14,
34403457 };
34413458
34423459 /**

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