]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
QCA vendor interface for indicating supplicant support for RSN overriding
authorVeerendranath Jakkam <quic_vjakkam@quicinc.com>
Thu, 8 Aug 2024 12:52:34 +0000 (18:22 +0530)
committerJouni Malinen <j@w1.fi>
Tue, 13 Aug 2024 21:47:31 +0000 (00:47 +0300)
Add QCA_NL80211_VENDOR_SUBCMD_CONNECT_EXT to send additional information
such as RSN overriding support of the supplicant for the (re)association
attempts with NL80211_CMD_CONNECT.

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

index 1ec94b2c012fb5e9246818c868159d5ba1cedef9..b39650ee801fe5f463d21cec2e3f6d5c8861c0be 100644 (file)
@@ -1270,6 +1270,19 @@ enum qca_radiotap_vendor_ids {
  *
  *     The attributes used with this command are defined in
  *     enum qca_wlan_vendor_attr_usd.
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_CONNECT_EXT: This is an extension to
+ *     %NL80211_CMD_CONNECT command. Userspace can use this to indicate
+ *     additional information to be considered for the subsequent
+ *     (re)association request attempts with %NL80211_CMD_CONNECT. The
+ *     additional information sent with this command is applicable for the
+ *     entire duration of the connection established with %NL80211_CMD_CONNECT,
+ *     including the roams triggered by the driver internally due to other
+ *     vendor interfaces, driver internal logic, and BTM requests from the
+ *     connected AP.
+ *
+ *     The attributes used with this command are defined in
+ *     enum qca_wlan_vendor_attr_connect_ext.
  */
 enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -1503,6 +1516,7 @@ enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY = 247,
        QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT = 248,
        QCA_NL80211_VENDOR_SUBCMD_USD = 249,
+       QCA_NL80211_VENDOR_SUBCMD_CONNECT_EXT = 250,
 };
 
 /* Compatibility defines for previously used subcmd names.
@@ -18161,4 +18175,39 @@ enum qca_wlan_vendor_attr_audio_transport_switch {
        QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_AFTER_LAST - 1,
 };
 
+
+/**
+ * enum qca_wlan_connect_ext_features - Feature flags for
+ * %QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_FEATURES
+ *
+ * @QCA_CONNECT_EXT_FEATURE_RSNO: Flag attribute. This indicates supplicant
+ * support for RSN overriding. The driver shall enable RSN overriding in the
+ * (re)association attempts only if this flag is indicated. This functionality
+ * is available only when the driver indicates support for
+ * @QCA_WLAN_VENDOR_FEATURE_RSN_OVERRIDE_STA.
+ *
+ * @NUM_QCA_WLAN_VENDOR_FEATURES: Number of assigned feature bits.
+ */
+enum qca_wlan_connect_ext_features {
+       QCA_CONNECT_EXT_FEATURE_RSNO    = 0,
+       NUM_QCA_CONNECT_EXT_FEATURES /* keep last */
+};
+
+/* enum qca_wlan_vendor_attr_connect_ext: Attributes used by vendor command
+ * %QCA_NL80211_VENDOR_SUBCMD_CONNECT_EXT.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_FEATURES: Feature flags contained in a byte
+ * array. The feature flags are identified by their bit index (see &enum
+ * qca_wlan_connect_ext_features) with the first byte being the least
+ * significant one and the last one being the most significant one.
+ */
+enum qca_wlan_vendor_attr_connect_ext {
+       QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_INVALID = 0,
+       QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_FEATURES = 1,
+
+       QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_AFTER_LAST,
+       QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_MAX =
+       QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_AFTER_LAST - 1,
+};
+
 #endif /* QCA_VENDOR_H */