DSCP: Parsing and processing of DSCP Policy Request frames

Add support to parse received DSCP Policy Request frames and send the
request details as control interface events.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
This commit is contained in:
Veerendranath Jakkam 2021-03-09 19:41:58 -08:00 committed by Jouni Malinen
parent fe2a44485e
commit 2033e318e6
8 changed files with 719 additions and 0 deletions

View file

@ -1361,6 +1361,8 @@ struct ieee80211_ampe_ie {
#define DPP_CC_OUI_TYPE 0x1e
#define SAE_PK_IE_VENDOR_TYPE 0x506f9a1f
#define SAE_PK_OUI_TYPE 0x1f
#define QM_IE_VENDOR_TYPE 0x506f9a22
#define QM_IE_OUI_TYPE 0x22
#define MULTI_AP_SUB_ELEM_TYPE 0x06
#define MULTI_AP_TEAR_DOWN BIT(4)
@ -2446,4 +2448,31 @@ enum mscs_description_subelem {
*/
#define FD_MAX_INTERVAL_6GHZ 20 /* TUs */
/* Protected Vendor-specific QoS Management Action frame identifiers - WFA */
#define QM_ACTION_VENDOR_TYPE 0x506f9a1a
#define QM_ACTION_OUI_TYPE 0x1a
/* QoS Management Action frame OUI subtypes */
#define QM_DSCP_POLICY_QUERY 0
#define QM_DSCP_POLICY_REQ 1
#define QM_DSCP_POLICY_RESP 2
/* QoS Management attributes */
enum qm_attr_id {
QM_ATTR_PORT_RANGE = 1,
QM_ATTR_DSCP_POLICY = 2,
QM_ATTR_TCLAS = 3,
QM_ATTR_DOMAIN_NAME = 4,
};
/* DSCP Policy attribute - Request Type */
enum dscp_policy_request_type {
DSCP_POLICY_REQ_ADD = 0, /* ADD/UPDATE */
DSCP_POLICY_REQ_REMOVE = 1,
};
/* Request/Response Control field of DSCP Policy Request/Response frame */
#define DSCP_POLICY_CTRL_MORE BIT(0)
#define DSCP_POLICY_CTRL_RESET BIT(1)
#endif /* IEEE802_11_DEFS_H */

View file

@ -163,6 +163,8 @@ extern "C" {
#define WPS_EVENT_OPEN_NETWORK "WPS-OPEN-NETWORK "
/** Result of SCS setup */
#define WPA_EVENT_SCS_RESULT "CTRL-EVENT-SCS-RESULT "
/* Event indicating DSCP policy */
#define WPA_EVENT_DSCP_POLICY "CTRL-EVENT-DSCP-POLICY "
/* WPS ER events */
#define WPS_EVENT_ER_AP_ADD "WPS-ER-AP-ADD "