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
687687 * four bytes for vendor frames including the OUI. The registration
688688 * cannot be dropped, but is removed automatically when the netlink
689689 * 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.
690694 * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for
691695 * backward compatibility
692696 * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This
@@ -2477,6 +2481,9 @@ enum nl80211_commands { · 1784 unmodified lines
24772481 * no roaming occurs between the reauth threshold and PMK expiration,
24782482 * disassociation is still forced.
24792483 *
2484+ * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the
2485+ * %NL80211_CMD_REGISTER_FRAME command, see the description there.
2486+ *
24802487 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
24812488 * @NL80211_ATTR_MAX: highest attribute number currently defined
24822489 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2952,6 +2959,8 @@ enum nl80211_attrs { · 469 unmodified lines
29522959 NL80211_ATTR_PMK_LIFETIME,
29532960 NL80211_ATTR_PMK_REAUTH_THRESHOLD,
29542961
2962+ NL80211_ATTR_RECEIVE_MULTICAST,
2963+
29552964 /* add attributes here, update the policy in nl80211.c */
29562965
29572966 __NL80211_ATTR_AFTER_LAST,
@@ -5691,6 +5700,9 @@ enum nl80211_feature_flags { · 2733 unmodified lines
56915700 * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations
56925701 * in IBSS mode, essentially by dropping their state.
56935702 *
5703+ * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations
5704+ * are possible for multicast frames and those will be reported properly.
5705+ *
56945706 * @NUM_NL80211_EXT_FEATURES: number of extended features.
56955707 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
56965708 */
@@ -5742,6 +5754,7 @@ enum nl80211_ext_feature_index { · 45 unmodified lines
57425754 NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH,
57435755 NL80211_EXT_FEATURE_PROTECTED_TWT,
57445756 NL80211_EXT_FEATURE_DEL_IBSS_STA,
5757+ NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS,
57455758
57465759 /* add new features before the definition below */
57475760 NUM_NL80211_EXT_FEATURES,