]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add vendor attributes for TWT nudge request
authorSrinivas Girigowda <sgirigow@codeaurora.org>
Wed, 28 Oct 2020 21:42:50 +0000 (14:42 -0700)
committerJouni Malinen <j@w1.fi>
Tue, 17 Nov 2020 17:49:23 +0000 (19:49 +0200)
TWT nudge is a combination of suspend and resume in a single request.
Add TWT nudge operation and QCA vendor attributes to support
the TWT nudge request.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/common/qca-vendor.h

index 096757e416e37085ecdb56703181a2109afe183c..cd7f6f9a3c8b0624256d366c555201442df39d99 100644 (file)
@@ -7801,6 +7801,12 @@ enum qca_wlan_vendor_attr_wifi_test_config {
  * @QCA_WLAN_TWT_RESUME: Resume the TWT session. Required parameters are
  * configured through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum
  * qca_wlan_vendor_attr_twt_resume. Valid only after the TWT session is setup.
+ *
+ * @QCA_WLAN_TWT_NUDGE: Suspend and resume the TWT session. TWT nudge is a
+ * combination of suspend and resume in a single request. Required parameters
+ * are configured through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the
+ * enum qca_wlan_vendor_attr_twt_nudge. Valid only after the TWT session is
+ * setup.
  */
 enum qca_wlan_twt_operation {
        QCA_WLAN_TWT_SET = 0,
@@ -7808,6 +7814,7 @@ enum qca_wlan_twt_operation {
        QCA_WLAN_TWT_TERMINATE = 2,
        QCA_WLAN_TWT_SUSPEND = 3,
        QCA_WLAN_TWT_RESUME = 4,
+       QCA_WLAN_TWT_NUDGE = 5,
 };
 
 /**
@@ -8082,6 +8089,7 @@ enum qca_wlan_vendor_attr_nan_params {
  * 2. TWT TERMINATE Response
  * 3. TWT SUSPEND Response
  * 4. TWT RESUME Response
+ * 5. TWT NUDGE Response
  *
  * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RESP_TYPE: Required (u8)
  * This field is applicable for TWT response only.
@@ -8231,6 +8239,44 @@ enum qca_wlan_vendor_attr_twt_resume {
        QCA_WLAN_VENDOR_ATTR_TWT_RESUME_AFTER_LAST - 1,
 };
 
+/**
+ * enum qca_wlan_vendor_attr_twt_nudge - Represents attributes for
+ * TWT (Target Wake Time) nudge request. TWT nudge is a combination of suspend
+ * and resume in a single request. These attributes are sent as part of
+ * %QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_FLOW_ID: Required (u8)
+ * Flow ID is the unique identifier for each TWT session. This attribute
+ * represents the respective TWT session to suspend and resume.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME: Required (u32)
+ * This attribute is used as the SP offset which is the offset from
+ * TSF after which the wake happens. The units are in microseconds.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_NEXT_TWT_SIZE: Required (u32)
+ * This attribute represents the next TWT subfield size.
+ * Value 0 represents 0 bits, 1 represents 32 bits, 2 for 48 bits,
+ * and 4 for 64 bits.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_MAC_ADDR: 6-byte MAC address
+ * Represents the MAC address of the peer to which TWT Suspend and Resume is
+ * being sent. This is used in AP mode to represent the respective
+ * client and is a required parameter. In STA mode, this is an optional
+ * parameter.
+ */
+enum qca_wlan_vendor_attr_twt_nudge {
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_INVALID = 0,
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_FLOW_ID = 1,
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME = 2,
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_NEXT_TWT_SIZE = 3,
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_MAC_ADDR = 4,
+
+       /* keep last */
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_AFTER_LAST,
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_MAX =
+       QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_AFTER_LAST - 1,
+};
+
 /**
  * enum qca_wlan_vendor_twt_setup_resp_type - Represents the response type by
  * the TWT responder