]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add QCA vendor subcommand to notify about primary netdev
authorKrunalsinh Padhar <quic_kpadhar@quicinc.com>
Thu, 3 Nov 2022 23:35:10 +0000 (16:35 -0700)
committerJouni Malinen <j@w1.fi>
Fri, 4 Nov 2022 13:47:54 +0000 (15:47 +0200)
Add a new vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT to send notification
to application layer about primary netdev of an MLO peer association.

Also define the attributes present in this subcommand.

Signed-off-by: Krunalsinh Padhar <quic_kpadhar@quicinc.com>
src/common/qca-vendor.h

index 6a3cdab8e85b0f15d6447915e302bd790f30e053..2e7126a370328a909b61add7dbec13a8efdeeff7 100644 (file)
@@ -852,6 +852,16 @@ enum qca_radiotap_vendor_ids {
  *
  *     The attributes used with this command are defined in
  *     enum qca_wlan_vendor_attr_sr.
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT: Subcommand used to
+ *     notify application layer about the primary netdev of an MLO connection.
+ *     In some implementations, MLO has multiple netdevs out of which one
+ *     netdev is designated as primary to provide a unified interface to the
+ *     bridge. In those implementations this event is sent on every MLO peer
+ *     connection.
+ *
+ *     The attributes used with this event are defined in
+ *     enum qca_wlan_vendor_attr_mlo_peer_prim_netdev_event.
  */
 enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -1056,6 +1066,7 @@ enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG = 218,
        QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY = 219,
        QCA_NL80211_VENDOR_SUBCMD_SR = 220,
+       QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT = 221,
 };
 
 /* Compatibility defines for previously used subcmd names.
@@ -13681,4 +13692,28 @@ enum qca_wlan_vendor_attr_sr {
        QCA_WLAN_VENDOR_ATTR_SR_AFTER_LAST - 1,
 };
 
+/**
+ * enum qca_wlan_vendor_attr_mlo_peer_prim_netdev_event - Defines the attributes
+ * used in the QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT subcommand.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MACADDR: 6 byte MAC address
+ * used by the peer on the link that corresponds to the link used for sending
+ * the event notification.
+ * @QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MLD_MAC_ADDR: 6 byte
+ * MLD MAC address of the peer.
+ * @QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_PRIM_IFINDEX: u32 attribute,
+ * used to pass ifindex of the primary netdev.
+ */
+enum qca_wlan_vendor_attr_mlo_peer_prim_netdev_event {
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_INVALID = 0,
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MACADDR = 1,
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MLD_MAC_ADDR = 2,
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_PRIM_IFINDEX = 3,
+
+       /* keep last */
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_AFTER_LAST,
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MAX =
+       QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_AFTER_LAST - 1,
+};
+
 #endif /* QCA_VENDOR_H */