For DPP, there's a need to receive multicast action frames, but many drivers need a special filter configuration for this. Support announcing from userspace in the management registration that multicast RX is required, with an extended feature flag if the driver handles this.
Showing the changes to include/uapi/linux (1 of 5 files). Show all
Unified · Split
| @@ -687,6 +687,10 @@ · 686 unmodified lines | ||
| 687 | 687 | * four bytes for vendor frames including the OUI. The registration |
| 688 | 688 | * cannot be dropped, but is removed automatically when the netlink |
| 689 | 689 | * socket is closed. Multiple registrations can be made. |
| 690 | + * The %NL80211_ATTR_RECEIVE_MULTICAST flag attribute can be given if | |
| 691 | + * %NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS is available, in which | |
| 692 | + * case the registration can also be modified to include/exclude the | |
| 693 | + * flag, rather than requiring unregistration to change it. | |
| 690 | 694 | * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for |
| 691 | 695 | * backward compatibility |
| 692 | 696 | * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This |
| @@ -2477,6 +2481,9 @@ enum nl80211_commands { · 1784 unmodified lines | ||
| 2477 | 2481 | * no roaming occurs between the reauth threshold and PMK expiration, |
| 2478 | 2482 | * disassociation is still forced. |
| 2479 | 2483 | * |
| 2484 | + * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the | |
| 2485 | + * %NL80211_CMD_REGISTER_FRAME command, see the description there. | |
| 2486 | + * | |
| 2480 | 2487 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2481 | 2488 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2482 | 2489 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2952,6 +2959,8 @@ enum nl80211_attrs { · 469 unmodified lines | ||
| 2952 | 2959 | NL80211_ATTR_PMK_LIFETIME, |
| 2953 | 2960 | NL80211_ATTR_PMK_REAUTH_THRESHOLD, |
| 2954 | 2961 | |
| 2962 | + NL80211_ATTR_RECEIVE_MULTICAST, | |
| 2963 | + | |
| 2955 | 2964 | /* add attributes here, update the policy in nl80211.c */ |
| 2956 | 2965 | |
| 2957 | 2966 | __NL80211_ATTR_AFTER_LAST, |
| @@ -5691,6 +5700,9 @@ enum nl80211_feature_flags { · 2733 unmodified lines | ||
| 5691 | 5700 | * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations |
| 5692 | 5701 | * in IBSS mode, essentially by dropping their state. |
| 5693 | 5702 | * |
| 5703 | + * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations | |
| 5704 | + * are possible for multicast frames and those will be reported properly. | |
| 5705 | + * | |
| 5694 | 5706 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5695 | 5707 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 5696 | 5708 | */ |
| @@ -5742,6 +5754,7 @@ enum nl80211_ext_feature_index { · 45 unmodified lines | ||
| 5742 | 5754 | NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH, |
| 5743 | 5755 | NL80211_EXT_FEATURE_PROTECTED_TWT, |
| 5744 | 5756 | NL80211_EXT_FEATURE_DEL_IBSS_STA, |
| 5757 | + NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, | |
| 5745 | 5758 | |
| 5746 | 5759 | /* add new features before the definition below */ |
| 5747 | 5760 | NUM_NL80211_EXT_FEATURES, |