wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
wmm_ac.h
Go to the documentation of this file.
1 
7 #ifndef WMM_AC_H
8 #define WMM_AC_H
9 
10 #include "common/ieee802_11_defs.h"
11 #include "drivers/driver.h"
12 
13 struct wpa_supplicant;
14 
15 #define WMM_AC_ACCESS_POLICY_EDCA 1
16 #define WMM_AC_FIXED_MSDU_SIZE BIT(15)
17 
18 #define WMM_AC_MAX_TID 7
19 #define WMM_AC_MAX_USER_PRIORITY 7
20 #define WMM_AC_MIN_SBA_UNITY 0x2000
21 #define WMM_AC_MAX_NOMINAL_MSDU 32767
22 
33  struct {
34  /*
35  * acm - Admission Control Mandatory
36  * In case an access category is ACM, the traffic will have
37  * to be admitted by WMM-AC's admission mechanism before use.
38  */
39  unsigned int acm:1;
40 
41  /*
42  * uapsd_queues - Unscheduled Automatic Power Save Delivery
43  * queues.
44  * Indicates whether ACs are configured for U-APSD (or legacy
45  * PS). Storing this value is necessary in order to set the
46  * Power Save Bit (PSB) in ADDTS request Action frames (if not
47  * given).
48  */
49  unsigned int uapsd:1;
50  } ac_params[WMM_AC_NUM];
51 };
52 
57 enum wmm_ac_dir {
58  WMM_AC_DIR_UPLINK = 0,
59  WMM_AC_DIR_DOWNLINK = 1,
60  WMM_AC_DIR_BIDIRECTIONAL = 3
61 };
62 
71 enum ts_dir_idx {
72  TS_DIR_IDX_UPLINK,
73  TS_DIR_IDX_DOWNLINK,
74  TS_DIR_IDX_BIDI,
75 
76  TS_DIR_IDX_COUNT
77 };
78 #define TS_DIR_IDX_ALL (BIT(TS_DIR_IDX_COUNT) - 1)
79 
91  /*
92  * dialog token - Used to link the recived ADDTS response with this
93  * saved ADDTS request when ADDTS response is being handled
94  */
95  u8 dialog_token;
96 
97  /*
98  * address - The alleged traffic stream's receiver/transmitter address
99  * Address and TID are used to identify the TS (TID is contained in
100  * TSPEC)
101  */
102  u8 address[ETH_ALEN];
103 
104  /*
105  * tspec - Traffic Stream Specification, will be used to compare the
106  * sent TSPEC in ADDTS request to the received TSPEC in ADDTS response
107  * and act accordingly in ADDTS response handling
108  */
109  struct wmm_tspec_element tspec;
110 };
111 
112 
121  /*
122  * tsid - Traffic ID
123  * TID and address are used to identify the TS
124  */
125  int tsid;
126 
127  /*
128  * direction - Traffic Stream's direction
129  */
130  enum wmm_ac_dir direction;
131 
132  /*
133  * user_priority - Traffic Stream's user priority
134  */
135  int user_priority;
136 
137  /*
138  * nominal_msdu_size - Nominal MAC service data unit size
139  */
140  int nominal_msdu_size;
141 
142  /*
143  * fixed_nominal_msdu - Whether the size is fixed
144  * 0 = Nominal MSDU size is not fixed
145  * 1 = Nominal MSDU size is fixed
146  */
147  int fixed_nominal_msdu;
148 
149  /*
150  * surplus_bandwidth_allowance - Specifies excess time allocation
151  */
152  int mean_data_rate;
153 
154  /*
155  * minimum_phy_rate - Specifies the minimum supported PHY rate in bps
156  */
157  int minimum_phy_rate;
158 
159  /*
160  * surplus_bandwidth_allowance - Specifies excess time allocation
161  */
162  int surplus_bandwidth_allowance;
163 };
164 
165 void wmm_ac_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *ies,
166  size_t ies_len, const struct wmm_params *wmm_params);
167 void wmm_ac_notify_disassoc(struct wpa_supplicant *wpa_s);
168 int wpas_wmm_ac_addts(struct wpa_supplicant *wpa_s,
169  struct wmm_ac_ts_setup_params *params);
170 int wpas_wmm_ac_delts(struct wpa_supplicant *wpa_s, u8 tsid);
171 void wmm_ac_rx_action(struct wpa_supplicant *wpa_s, const u8 *da,
172  const u8 *sa, const u8 *data, size_t len);
173 int wpas_wmm_ac_status(struct wpa_supplicant *wpa_s, char *buf, size_t buflen);
174 void wmm_ac_save_tspecs(struct wpa_supplicant *wpa_s);
175 void wmm_ac_clear_saved_tspecs(struct wpa_supplicant *wpa_s);
176 int wmm_ac_restore_tspecs(struct wpa_supplicant *wpa_s);
177 
178 #endif /* WMM_AC_H */
TS setup parameters.
Definition: wmm_ac.h:120
Driver interface definition.
ADDTS Request Information.
Definition: wmm_ac.h:90
wmm_ac_dir
WMM Admission Control Direction.
Definition: wmm_ac.h:57
WMM Admission Control Association Data.
Definition: wmm_ac.h:32
IEEE 802.11 Frame type definitions Copyright (c) 2007-2008 Intel Corporation.
ts_dir_idx
indices of internally saved tspecs
Definition: wmm_ac.h:71
Internal data for wpa_supplicant interface.
Definition: wpa_supplicant_i.h:451
Definition: ieee802_11_defs.h:957
WMM parameterss configured for this association.
Definition: driver.h:1692