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.
Showing the changes to include/uapi (1 of 5 files). Show all
Unified · Split
| @@ -1185,6 +1185,21 @@ · 1184 unmodified lines | |||
| 1185 | * passed using %NL80211_ATTR_SAR_SPEC. %NL80211_ATTR_WIPHY is used to | 1185 | * 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 number | 1203 | * @NL80211_CMD_MAX: highest used command number |
| 1189 | * @__NL80211_CMD_AFTER_LAST: internal use | 1204 | * @__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 AP | 2583 | * 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 available | 2596 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2564 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2597 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2565 | * @__NL80211_ATTR_AFTER_LAST: internal use | 2598 | * @__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 the | 5992 | * 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, |