]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add vendor NL event for primary link migration notification
authorLogapriya P <quic_logapriy@quicinc.com>
Wed, 30 Apr 2025 07:26:25 +0000 (12:56 +0530)
committerJouni Malinen <j@w1.fi>
Tue, 6 May 2025 12:26:43 +0000 (15:26 +0300)
In scenarios where the user application is responsible for load
balancing and communicating the destination MAC address (MLD peer MAC
address) and its primary link ID to the Ethernet-side QCA driver, there
is a need for a notification mechanism to ensure the primary link
changes in WLAN subsystem are communicated to user applications and also
to manage the load of that primary link in a better way.

This vendor NL event addresses above requirement by providing a way for
the user application to be notified about primary link migrations,
allowing it to update its configuration and ensure that other
subsystems, such as Ethernet, use the correct link for communication.

Modify the comments section to extend the usage of the vendor command
QCA_NL80211_VENDOR_SUBCMD_PRI_LINK_MIGRATE as an event to notify user
applications when the primary link has changed.

This event will send the MLD MAC address of the peer and the new link ID
which is set as the primary link.

Signed-off-by: Logapriya P <quic_logapriy@quicinc.com>
src/common/qca-vendor.h

index e66299a4ebfa7e24468a2a3b4c2f53bdf659ee8c..f9128e0542e85ab577eef82f59eb8ca8e4195c2b 100644 (file)
@@ -1326,11 +1326,21 @@ enum qca_radiotap_vendor_ids {
  *     The attributes used with this event are defined in
  *     enum qca_wlan_vendor_attr_idle_shutdown.
  *
- * @QCA_NL80211_VENDOR_SUBCMD_PRI_LINK_MIGRATE: Vendor subcommand that can
- *     be used to trigger primary link migration from user space. Either just
- *     one ML client or a bunch of clients can be migrated.
+ * @QCA_NL80211_VENDOR_SUBCMD_PRI_LINK_MIGRATE: This vendor subcommand/event is
+ *     used for primary link migration.
  *
- *     The attributes used with this subcommand are defined in
+ *     This subcommand is used to trigger primary link migration from
+ *     user space. Either just one ML client or a bunch of clients can
+ *     be migrated.
+ *
+ *     This subcommand is used as an event to notify user applications and
+ *     subsystems about primary link migration once it is completed
+ *     successfully. This event will send the MAC address of the peer for which
+ *     the primary link has been changed and the new link ID to ensure primary
+ *     link changes in WLAN subsystem are communicated to user applications
+ *     and also to manage the load of that primary link in a better way.
+ *
+ *     The attributes used with this subcommand/event are defined in
  *     &enum qca_wlan_vendor_attr_pri_link_migrate.
  *
  *     @QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_MLD_MAC_ADDR and
@@ -19227,18 +19237,23 @@ enum qca_wlan_vendor_attr_idle_shutdown {
 
 /**
  * enum qca_wlan_vendor_attr_pri_link_migrate: Attributes used by the vendor
- *     subcommand %QCA_NL80211_VENDOR_SUBCMD_PRI_LINK_MIGRATE.
+ *     subcommand/event %QCA_NL80211_VENDOR_SUBCMD_PRI_LINK_MIGRATE.
  *
- * @QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_MLD_MAC_ADDR: 6 byte MAC address. When
- *     specified, indicates that primary link migration will occur only for
- *     the ML client with the given MLD MAC address.
+ * @QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_MLD_MAC_ADDR: 6 byte MAC address.
+ *     (a) Used in a subcommand to indicate that primary link migration
+ *     will occur only for the ML client with the given MLD MAC address.
+ *     (b) Used in an event to specify the MAC address of the peer for which
+ *     the primary link has been modified.
  * @QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_CURRENT_PRI_LINK_ID: Optional u8
- *     attribute. When specified, all ML clients having their current primary
+ *     attribute. Used with subcommand only.
+ *     When specified, all ML clients having their current primary
  *     link as specified will be considered for migration.
  * @QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_NEW_PRI_LINK_ID: Optional u8 attribute.
- *     Indicates the new primary link to which the selected ML clients
- *     should be migrated to. If not provided, the driver will select a
- *     suitable primary link on its own.
+ *     (a) Used in subcommand, to indicate the new primary link to which the
+ *     selected ML clients should be migrated to. If not provided, the driver
+ *     will select a suitable primary link on its own.
+ *     (b) Used in event, to indicate the new link ID which is set as the
+ *     primary link.
  */
 enum qca_wlan_vendor_attr_pri_link_migrate {
        QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_INVALID = 0,