QCA vendor command support for TWT test configuration
Define new QCA vendor specific test config attributes to configure TWT. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
d7e35c4e29
commit
60377efcc1
1 changed files with 149 additions and 0 deletions
|
@ -5560,6 +5560,33 @@ enum qca_wlan_vendor_attr_wifi_test_config {
|
|||
*/
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OM_CTRL_SUPP = 22,
|
||||
|
||||
/* Nested attribute values required to setup the TWT session.
|
||||
* enum qca_wlan_vendor_attr_twt_setup provides the necessary
|
||||
* information to set up the session. It contains broadcast flags,
|
||||
* set_up flags, trigger value, flow type, flow ID, wake interval
|
||||
* exponent, protection, target wake time, wake duration, wake interval
|
||||
* mantissa. These nested attributes are used to setup a host triggered
|
||||
* TWT session.
|
||||
*/
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_SETUP = 23,
|
||||
|
||||
/* This nested attribute is used to terminate the current TWT session.
|
||||
* It does not currently carry any attributes.
|
||||
*/
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_TERMINATE = 24,
|
||||
|
||||
/* This nested attribute is used to suspend the current TWT session.
|
||||
* It does not currently carry any attributes.
|
||||
*/
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_SUSPEND = 25,
|
||||
|
||||
/* Nested attribute values to indicate the request for resume.
|
||||
* This attribute is used to resume the TWT session.
|
||||
* enum qca_wlan_vendor_attr_twt_resume provides the necessary
|
||||
* parameters required to resume the TWT session.
|
||||
*/
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_RESUME = 26,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_MAX =
|
||||
|
@ -5713,4 +5740,126 @@ enum qca_wlan_vendor_attr_nan_params {
|
|||
QCA_WLAN_VENDOR_ATTR_NAN_PARAMS_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_twt_setup: Represents attributes for
|
||||
* TWT (Target Wake Time) setup request. These attributes are sent as part of
|
||||
* %QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_SETUP and
|
||||
* %QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST: Flag attribute.
|
||||
* Disable (flag attribute not present) - Individual TWT
|
||||
* Enable (flag attribute present) - Broadcast TWT.
|
||||
* Individual means the session is between the STA and the AP.
|
||||
* This session is established using a separate negotiation between
|
||||
* STA and AP.
|
||||
* Broadcast means the session is across multiple STAs and an AP. The
|
||||
* configuration parameters are announced in Beacon frames by the AP.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_REQ_TYPE: Required (u8).
|
||||
* Unsigned 8-bit qca_wlan_vendor_twt_setup_req_type to
|
||||
* specify the TWT request type
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_TRIGGER: Flag attribute
|
||||
* Enable (flag attribute present) - TWT with trigger support.
|
||||
* Disable (flag attribute not present) - TWT without trigger support.
|
||||
* Trigger means the AP will send the trigger frame to allow STA to send data.
|
||||
* Without trigger, the STA will wait for the MU EDCA timer before
|
||||
* transmitting the data.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_TYPE: Required (u8)
|
||||
* 0 - Announced TWT - In this mode, STA may skip few service periods to
|
||||
* save more power. If STA wants to wake up, it will send a PS-POLL/QoS
|
||||
* NULL frame to AP.
|
||||
* 1 - Unannounced TWT - The STA will wakeup during every SP.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_ID: Optional (u8)
|
||||
* Flow ID is the unique identifier for each TWT session.
|
||||
* Currently this is not required and dialog ID will be set to zero.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_EXP: Required (u8)
|
||||
* This attribute (exp) is used along with the mantissa to derive the
|
||||
* wake interval using the following formula:
|
||||
* pow(2,exp) = wake_intvl_us/wake_intvl_mantis
|
||||
* Wake interval is the interval between 2 successive SP.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_PROTECTION: Flag attribute
|
||||
* Enable (flag attribute present) - Protection required.
|
||||
* Disable (flag attribute not present) - Protection not required.
|
||||
* If protection is enabled, then the AP will use protection
|
||||
* mechanism using RTS/CTS to self to reserve the airtime.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME: Optional (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. If
|
||||
* this attribute is not provided, then the value will be set to zero.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION: Required (u32)
|
||||
* This is the duration of the service period. The units are in TU.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_MANTISSA: Required (u32)
|
||||
* This attribute is used to configure wake interval mantissa.
|
||||
* The units are in TU.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_twt_setup {
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_REQ_TYPE = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_TRIGGER = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_TYPE = 4,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_ID = 5,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_EXP = 6,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_PROTECTION = 7,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME = 8,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION = 9,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_MANTISSA = 10,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_twt_resume: Represents attributes for
|
||||
* TWT (Target Wake Time) resume request. These attributes are sent as part of
|
||||
* %QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_RESUME and
|
||||
* %QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT: Optional (u8)
|
||||
* This attribute is used as the SP offset which is the offset from
|
||||
* TSF after which the wake happens. The units are in microseconds.
|
||||
* If this attribute is not provided, then the value will be set to
|
||||
* zero.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT_SIZE: Required (u32)
|
||||
* This attribute represents the next TWT subfield size.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_twt_resume {
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT_SIZE = 2,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_twt_setup_req_type - Required (u8)
|
||||
* Represents the setup type being requested for TWT.
|
||||
* @QCA_WLAN_VENDOR_TWT_SETUP_REQUEST: STA is not specifying all the TWT
|
||||
* parameters but relying on AP to fill the parameters during the negotiation.
|
||||
* @QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST: STA will provide all the suggested
|
||||
* values which the AP may accept or AP may provide alternative parameters
|
||||
* which the STA may accept.
|
||||
* @QCA_WLAN_VENDOR_TWT_SETUP_DEMAND: STA is not willing to accept any
|
||||
* alternate parameters than the requested ones.
|
||||
*/
|
||||
enum qca_wlan_vendor_twt_setup_req_type {
|
||||
QCA_WLAN_VENDOR_TWT_SETUP_REQUEST = 1,
|
||||
QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST = 2,
|
||||
QCA_WLAN_VENDOR_TWT_SETUP_DEMAND = 3,
|
||||
};
|
||||
|
||||
#endif /* QCA_VENDOR_H */
|
||||
|
|
Loading…
Reference in a new issue