Add vendor attributes for TWT nudge request

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>
This commit is contained in:
Srinivas Girigowda 2020-10-28 14:42:50 -07:00 committed by Jouni Malinen
parent 454ebb504c
commit 90ca804e47

View file

@ -7801,6 +7801,12 @@ enum qca_wlan_vendor_attr_wifi_test_config {
* @QCA_WLAN_TWT_RESUME: Resume the TWT session. Required parameters are * @QCA_WLAN_TWT_RESUME: Resume the TWT session. Required parameters are
* configured through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum * 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_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 { enum qca_wlan_twt_operation {
QCA_WLAN_TWT_SET = 0, QCA_WLAN_TWT_SET = 0,
@ -7808,6 +7814,7 @@ enum qca_wlan_twt_operation {
QCA_WLAN_TWT_TERMINATE = 2, QCA_WLAN_TWT_TERMINATE = 2,
QCA_WLAN_TWT_SUSPEND = 3, QCA_WLAN_TWT_SUSPEND = 3,
QCA_WLAN_TWT_RESUME = 4, 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 * 2. TWT TERMINATE Response
* 3. TWT SUSPEND Response * 3. TWT SUSPEND Response
* 4. TWT RESUME Response * 4. TWT RESUME Response
* 5. TWT NUDGE Response
* *
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RESP_TYPE: Required (u8) * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RESP_TYPE: Required (u8)
* This field is applicable for TWT response only. * 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, 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 * enum qca_wlan_vendor_twt_setup_resp_type - Represents the response type by
* the TWT responder * the TWT responder