History

cfg80211: support multicast RX registration

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.

Johannes Berg committed 6 years ago

Commit 9dba48a1 parent 6cd536f5 files · +59 −9Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+13−0
@@ -687,6 +687,10 @@ · 686 unmodified lines
687 * four bytes for vendor frames including the OUI. The registration687 * four bytes for vendor frames including the OUI. The registration
688 * cannot be dropped, but is removed automatically when the netlink688 * cannot be dropped, but is removed automatically when the netlink
689 * socket is closed. Multiple registrations can be made.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 * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for694 * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for
691 * backward compatibility695 * backward compatibility
692 * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This696 * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This
@@ -2477,6 +2481,9 @@ enum nl80211_commands { · 1784 unmodified lines
2477 * no roaming occurs between the reauth threshold and PMK expiration,2481 * no roaming occurs between the reauth threshold and PMK expiration,
2478 * disassociation is still forced.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 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2487 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2481 * @NL80211_ATTR_MAX: highest attribute number currently defined2488 * @NL80211_ATTR_MAX: highest attribute number currently defined
2482 * @__NL80211_ATTR_AFTER_LAST: internal use2489 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2952,6 +2959,8 @@ enum nl80211_attrs { · 469 unmodified lines
2952 NL80211_ATTR_PMK_LIFETIME,2959 NL80211_ATTR_PMK_LIFETIME,
2953 NL80211_ATTR_PMK_REAUTH_THRESHOLD,2960 NL80211_ATTR_PMK_REAUTH_THRESHOLD,
2954 2961
2962 NL80211_ATTR_RECEIVE_MULTICAST,
2963
2955 /* add attributes here, update the policy in nl80211.c */2964 /* add attributes here, update the policy in nl80211.c */
2956 2965
2957 __NL80211_ATTR_AFTER_LAST,2966 __NL80211_ATTR_AFTER_LAST,
@@ -5691,6 +5700,9 @@ enum nl80211_feature_flags { · 2733 unmodified lines
5691 * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations5700 * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations
5692 * in IBSS mode, essentially by dropping their state.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 * @NUM_NL80211_EXT_FEATURES: number of extended features.5706 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5695 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.5707 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
5696 */5708 */
@@ -5742,6 +5754,7 @@ enum nl80211_ext_feature_index { · 45 unmodified lines
5742 NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH,5754 NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH,
5743 NL80211_EXT_FEATURE_PROTECTED_TWT,5755 NL80211_EXT_FEATURE_PROTECTED_TWT,
5744 NL80211_EXT_FEATURE_DEL_IBSS_STA,5756 NL80211_EXT_FEATURE_DEL_IBSS_STA,
5757 NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS,
5745 5758
5746 /* add new features before the definition below */5759 /* add new features before the definition below */
5747 NUM_NL80211_EXT_FEATURES,5760 NUM_NL80211_EXT_FEATURES,