History

nl80211: add support for BSS coloring

This patch adds support for BSS color collisions to the wireless subsystem. Add the required functionality to nl80211 that will notify about color collisions, triggering the color change and notifying when it is completed.

John Crispin committed 5 years ago

Commit 0d2ab3a1 parent 8c89f7b5 files · +351 −0Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+43−0
@@ -1185,6 +1185,21 @@ · 1184 unmodified lines
11851185 * passed using %NL80211_ATTR_SAR_SPEC. %NL80211_ATTR_WIPHY is used to
11861186 * specify the wiphy index to be applied to.
11871187 *
1188+ * @NL80211_CMD_OBSS_COLOR_COLLISION: This notification is sent out whenever
1189+ * mac80211/drv detects a bss color collision.
1190+ *
1191+ * @NL80211_CMD_COLOR_CHANGE_REQUEST: This command is used to indicate that
1192+ * userspace wants to change the BSS color.
1193+ *
1194+ * @NL80211_CMD_COLOR_CHANGE_STARTED: Notify userland, that a color change has
1195+ * started
1196+ *
1197+ * @NL80211_CMD_COLOR_CHANGE_ABORTED: Notify userland, that the color change has
1198+ * been aborted
1199+ *
1200+ * @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change
1201+ * has completed
1202+ *
11881203 * @NL80211_CMD_MAX: highest used command number
11891204 * @__NL80211_CMD_AFTER_LAST: internal use
11901205 */
@@ -1417,6 +1432,14 @@ enum nl80211_commands { · 226 unmodified lines
14171432
14181433 NL80211_CMD_SET_SAR_SPECS,
14191434
1435+ NL80211_CMD_OBSS_COLOR_COLLISION,
1436+
1437+ NL80211_CMD_COLOR_CHANGE_REQUEST,
1438+
1439+ NL80211_CMD_COLOR_CHANGE_STARTED,
1440+ NL80211_CMD_COLOR_CHANGE_ABORTED,
1441+ NL80211_CMD_COLOR_CHANGE_COMPLETED,
1442+
14201443 /* add new commands above here */
14211444
14221445 /* used to define NL80211_CMD_MAX below */
@@ -2560,6 +2583,16 @@ enum nl80211_commands { · 1137 unmodified lines
25602583 * disassoc events to indicate that an immediate reconnect to the AP
25612584 * is desired.
25622585 *
2586+ * @NL80211_ATTR_OBSS_COLOR_BITMAP: bitmap of the u64 BSS colors for the
2587+ * %NL80211_CMD_OBSS_COLOR_COLLISION event.
2588+ *
2589+ * @NL80211_ATTR_COLOR_CHANGE_COUNT: u8 attribute specifying the number of TBTT's
2590+ * until the color switch event.
2591+ * @NL80211_ATTR_COLOR_CHANGE_COLOR: u8 attribute specifying the color that we are
2592+ * switching to
2593+ * @NL80211_ATTR_COLOR_CHANGE_ELEMS: Nested set of attributes containing the IE
2594+ * information for the time while performing a color switch.
2595+ *
25632596 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
25642597 * @NL80211_ATTR_MAX: highest attribute number currently defined
25652598 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3057,6 +3090,12 @@ enum nl80211_attrs { · 491 unmodified lines
30573090
30583091 NL80211_ATTR_DISABLE_HE,
30593092
3093+ NL80211_ATTR_OBSS_COLOR_BITMAP,
3094+
3095+ NL80211_ATTR_COLOR_CHANGE_COUNT,
3096+ NL80211_ATTR_COLOR_CHANGE_COLOR,
3097+ NL80211_ATTR_COLOR_CHANGE_ELEMS,
3098+
30603099 /* add attributes here, update the policy in nl80211.c */
30613100
30623101 __NL80211_ATTR_AFTER_LAST,
@@ -5953,6 +5992,9 @@ enum nl80211_feature_flags { · 2890 unmodified lines
59535992 * frame protection for all management frames exchanged during the
59545993 * negotiation and range measurement procedure.
59555994 *
5995+ * @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision
5996+ * detection and change announcemnts.
5997+ *
59565998 * @NUM_NL80211_EXT_FEATURES: number of extended features.
59575999 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
59586000 */
@@ -6017,6 +6059,7 @@ enum nl80211_ext_feature_index { · 58 unmodified lines
60176059 NL80211_EXT_FEATURE_SECURE_LTF,
60186060 NL80211_EXT_FEATURE_SECURE_RTT,
60196061 NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
6062+ NL80211_EXT_FEATURE_BSS_COLOR,
60206063
60216064 /* add new features before the definition below */
60226065 NUM_NL80211_EXT_FEATURES,