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
1185 * passed using %NL80211_ATTR_SAR_SPEC. %NL80211_ATTR_WIPHY is used to1185 * passed using %NL80211_ATTR_SAR_SPEC. %NL80211_ATTR_WIPHY is used to
1186 * specify the wiphy index to be applied to.1186 * specify the wiphy index to be applied to.
1187 *1187 *
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 *
1188 * @NL80211_CMD_MAX: highest used command number1203 * @NL80211_CMD_MAX: highest used command number
1189 * @__NL80211_CMD_AFTER_LAST: internal use1204 * @__NL80211_CMD_AFTER_LAST: internal use
1190 */1205 */
@@ -1417,6 +1432,14 @@ enum nl80211_commands { · 226 unmodified lines
1417 1432
1418 NL80211_CMD_SET_SAR_SPECS,1433 NL80211_CMD_SET_SAR_SPECS,
1419 1434
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
1420 /* add new commands above here */1443 /* add new commands above here */
1421 1444
1422 /* used to define NL80211_CMD_MAX below */1445 /* used to define NL80211_CMD_MAX below */
@@ -2560,6 +2583,16 @@ enum nl80211_commands { · 1137 unmodified lines
2560 * disassoc events to indicate that an immediate reconnect to the AP2583 * disassoc events to indicate that an immediate reconnect to the AP
2561 * is desired.2584 * is desired.
2562 *2585 *
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 *
2563 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2596 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2564 * @NL80211_ATTR_MAX: highest attribute number currently defined2597 * @NL80211_ATTR_MAX: highest attribute number currently defined
2565 * @__NL80211_ATTR_AFTER_LAST: internal use2598 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3057,6 +3090,12 @@ enum nl80211_attrs { · 491 unmodified lines
3057 3090
3058 NL80211_ATTR_DISABLE_HE,3091 NL80211_ATTR_DISABLE_HE,
3059 3092
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
3060 /* add attributes here, update the policy in nl80211.c */3099 /* add attributes here, update the policy in nl80211.c */
3061 3100
3062 __NL80211_ATTR_AFTER_LAST,3101 __NL80211_ATTR_AFTER_LAST,
@@ -5953,6 +5992,9 @@ enum nl80211_feature_flags { · 2890 unmodified lines
5953 * frame protection for all management frames exchanged during the5992 * frame protection for all management frames exchanged during the
5954 * negotiation and range measurement procedure.5993 * negotiation and range measurement procedure.
5955 *5994 *
5995 * @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision
5996 * detection and change announcemnts.
5997 *
5956 * @NUM_NL80211_EXT_FEATURES: number of extended features.5998 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5957 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.5999 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
5958 */6000 */
@@ -6017,6 +6059,7 @@ enum nl80211_ext_feature_index { · 58 unmodified lines
6017 NL80211_EXT_FEATURE_SECURE_LTF,6059 NL80211_EXT_FEATURE_SECURE_LTF,
6018 NL80211_EXT_FEATURE_SECURE_RTT,6060 NL80211_EXT_FEATURE_SECURE_RTT,
6019 NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,6061 NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
6062 NL80211_EXT_FEATURE_BSS_COLOR,
6020 6063
6021 /* add new features before the definition below */6064 /* add new features before the definition below */
6022 NUM_NL80211_EXT_FEATURES,6065 NUM_NL80211_EXT_FEATURES,