]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add QCA vendor interface to support per-MLO link configurations
authorVeerendranath Jakkam <quic_vjakkam@quicinc.com>
Thu, 22 Jun 2023 05:21:21 +0000 (10:51 +0530)
committerJouni Malinen <j@w1.fi>
Thu, 22 Jun 2023 19:32:33 +0000 (22:32 +0300)
Add support for per-MLO link configurations in
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.

Additionally, add documentation for
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
src/common/qca-vendor.h

index f674ed161b2ed3a911145c93a18ddf9f24f0fbb9..47f680fafa781b181972795331ba96f0283b1e6d 100644 (file)
@@ -142,6 +142,32 @@ enum qca_radiotap_vendor_ids {
  * @QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO: Get information from the driver.
  *     Attributes defined in enum qca_wlan_vendor_attr_get_wifi_info.
  *
+ * @QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION: This command is used to
+ *     configure various wiphy or interface level configurations. Attributes
+ *     are defined in enum qca_wlan_vendor_attr_config. Userspace can send one
+ *     or more configuration attributes with a single command. The driver
+ *     accepts the command only if all the configurations are known, otherwise
+ *     it rejects the command. The driver returns success only if processing of
+ *     all the configurations succeeds. The driver continues to process all the
+ *     configurations even if processing of some configurations failed and
+ *     returns the last error occurred while processing the failed
+ *     configurations.
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION: This command is used to
+ *     get the current values of the various wiphy or interface level
+ *     configurations. Attributes are defined in enum
+ *     qca_wlan_vendor_attr_config. Userspace needs to specify the
+ *     configuration attributes for which it wants to get the values in the
+ *     command, there is no significance for the value sent in the attribute
+ *     unless explicitly specified in the corresponding configuration
+ *     attribute documentation. The driver accepts the command only if all the
+ *     configurations are known, otherwise it rejects the command. The driver
+ *     returns success only if fetching of all configuration values succeeds
+ *     and indicates the configuration values in corresponding attributes in
+ *     the response. The driver continues to process all the configurations
+ *     even if processing of some configurations failed and returns the last
+ *     error occurred while processing the failed configurations.
+ *
  * @QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET: Get the feature bitmap
  *     based on enum wifi_logger_supported_features. Attributes defined in
  *     enum qca_wlan_vendor_attr_get_logger_features.
@@ -3136,6 +3162,40 @@ enum qca_wlan_vendor_attr_config {
         */
        QCA_WLAN_VENDOR_ATTR_CONFIG_EPCS_FUNCTION = 98,
 
+       /* 8-bit unsigned value. Used only for representing MLO link ID of a
+        * link inside %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINKS.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID = 99,
+
+       /* Array of nested links each identified by
+        * %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID. This uses values defined in
+        * enum qca_wlan_vendor_attr_config, explicit documentation shall be
+        * added for the attributes in enum qca_wlan_vendor_attr_config to
+        * support per-MLO link configuration through
+        * %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINKS.
+        *
+        * Userspace can configure a single link or multiple links with this
+        * attribute by nesting the corresponding configuration attributes and
+        * %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID for each link.
+        *
+        * Userspace can fetch the configuration attribute values for a single
+        * link or multiple links with this attribute by nesting the
+        * corresponding configuration attributes and
+        * %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID for each link.
+        *
+        * For STA interface, this attribute is applicable only in connected
+        * state when the current connection is MLO capable. The valid values of
+        * %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID are the link IDs of the
+        * connected AP MLD links.
+        *
+        * For AP interface, this configuration applicable only after adding
+        * MLO links to the AP interface with %NL80211_CMD_ADD_LINK and the
+        * valid values of %QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID are the link
+        * IDs specified in %NL80211_CMD_ADD_LINK while adding the MLO links to
+        * the AP interface.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINKS = 100,
+
        /* keep last */
        QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST,
        QCA_WLAN_VENDOR_ATTR_CONFIG_MAX =