1 /*
2  * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /**
20  * DOC: This file contains centralized definitions of converged configuration.
21  */
22 
23 #ifndef __CFG_MLME_OCE_H
24 #define __CFG_MLME_OCE_H
25 
26 /*
27  * <ini>
28  * g_enable_bcast_probe_rsp - Enable Broadcast probe response.
29  * @Min: 0
30  * @Max: 1
31  * @Default: 1
32  *
33  * This ini is used to enable/disable broadcast probe response.
34  * If this is disabled then OCE ini oce_sta_enable will also be
35  * disabled and OCE IE will not be sent in frames.
36  *
37  * Related: None
38  *
39  * Supported Feature: FILS
40  *
41  * Usage: External
42  *
43  * </ini>
44  */
45 #define CFG_ENABLE_BCAST_PROBE_RESP CFG_INI_BOOL( \
46 		"g_enable_bcast_probe_rsp", \
47 		1, \
48 		"Enable Broadcast probe response")
49 
50 /*
51  * <ini>
52  * oce_sta_enable - Enable/disable oce feature for STA
53  * @Min: 0
54  * @Max: 1
55  * @Default: 1
56  *
57  * This ini is used to enable/disable oce feature for STA
58  *
59  * Related: None
60  *
61  * Supported Feature: OCE
62  *
63  * Usage: External
64  *
65  * </ini>
66  */
67 #define CFG_OCE_ENABLE_STA CFG_INI_BOOL( \
68 		"oce_sta_enable", \
69 		1, \
70 		"Enable/disable oce feature for STA")
71 
72 /*
73  * <ini>
74  * oce_sap_enable - Enable/disable oce feature for SAP
75  * @Min: 0
76  * @Max: 1
77  * @Default: 1
78  *
79  * This ini is used to enable/disable oce feature for SAP
80  *
81  * Related: None
82  *
83  * Supported Feature: OCE
84  *
85  * Usage: External
86  *
87  * </ini>
88  */
89 #define CFG_OCE_ENABLE_SAP CFG_INI_BOOL( \
90 		"oce_sap_enable", \
91 		1, \
92 		"Enable/disable oce feature for SAP")
93 
94 /*
95  * <ini>
96  * oce_enable_rssi_assoc_reject - Enable/disable rssi based assoc rejection
97  * @Min: 0
98  * @Max: 1
99  * @Default: 1
100  *
101  * This ini is used to enable/disable rssi based assoc rejection. If this is
102  * disabled then OCE ini oce_sta_enable will also be disabled and OCE IE will
103  * not be sent in frames.
104  *
105  * Related: None
106  *
107  * Supported Feature: OCE
108  *
109  * Usage: External
110  *
111  * </ini>
112  */
113 #define CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT CFG_INI_BOOL( \
114 		"oce_enable_rssi_assoc_reject", \
115 		1, \
116 		"Enable/disable rssi based assoc rejection")
117 
118 /*
119  * <ini>
120  * oce_enable_probe_req_rate - Set probe request rate
121  * @Min: 0
122  * @Max: 1
123  * @Default: 1
124  *
125  * This ini is used to set probe request rate to 5.5Mbps as per OCE requirement
126  * in 2.4G band
127  *
128  * Related: None
129  *
130  * Supported Feature: OCE
131  *
132  * Usage: External
133  *
134  * </ini>
135  */
136 #define CFG_OCE_PROBE_REQ_RATE CFG_INI_BOOL( \
137 		"oce_enable_probe_req_rate", \
138 		1, \
139 		"Set probe request rate for OCE")
140 
141 /*
142  * <ini>
143  * oce_enable_probe_resp_rate - Set probe response rate
144  * @Min: 0
145  * @Max: 1
146  * @Default: 0
147  *
148  * This ini is used to set probe response rate to 5.5Mbps as per OCE requirement
149  * in 2.4G band
150  *
151  * Related: None
152  *
153  * Supported Feature: OCE
154  *
155  * Usage: External
156  *
157  * </ini>
158  */
159 #define CFG_OCE_PROBE_RSP_RATE CFG_INI_BOOL( \
160 		"oce_enable_probe_resp_rate", \
161 		0, \
162 		"Set probe response rate for OCE")
163 
164 /*
165  * <ini>
166  * oce_enable_beacon_rate - Set beacon rate
167  * @Min: 0
168  * @Max: 1
169  * @Default: 0
170  *
171  * This ini is used to set beacon rate to 5.5Mbps as per OCE requirement in
172  * 2.4G band
173  *
174  * Related: None
175  *
176  * Supported Feature: OCE
177  *
178  * Usage: External
179  *
180  * </ini>
181  */
182 #define CFG_OCE_BEACON_RATE CFG_INI_BOOL( \
183 		"oce_enable_beacon_rate", \
184 		0, \
185 		"Set Beacon rate for OCE")
186 /*
187  * <ini>
188  * oce_enable_probe_req_deferral - Enable/disable probe request deferral
189  * @Min: 0
190  * @Max: 1
191  * @Default: 1
192  *
193  * This ini is used to enable/disable probe request deferral as per OCE spec
194  *
195  * Related: None
196  *
197  * Supported Feature: OCE
198  *
199  * Usage: External
200  *
201  * </ini>
202  */
203 #define CFG_ENABLE_PROBE_REQ_DEFERRAL CFG_INI_BOOL( \
204 		"oce_enable_probe_req_deferral", \
205 		1, \
206 		"Enable/disable probe request deferral for OCE")
207 
208 /*
209  * <ini>
210  * oce_enable_fils_discovery_sap - Enable/disable fils discovery in sap mode
211  * @Min: 0
212  * @Max: 1
213  * @Default: 1
214  *
215  * This ini is used to enable/disable fils discovery in sap mode
216  *
217  * Related: None
218  *
219  * Supported Feature: FILS
220  *
221  * Usage: External
222  *
223  * </ini>
224  */
225 #define CFG_ENABLE_FILS_DISCOVERY_SAP CFG_INI_BOOL( \
226 		"oce_enable_fils_discovery_sap", \
227 		1, \
228 		"Enable/disable fils discovery in sap mode")
229 
230 /*
231  * <ini>
232  * enable_esp_for_roam - Enable/disable esp feature
233  * @Min: 0
234  * @Max: 1
235  * @Default: 1
236  *
237  * This ini is used to enable/disable ESP(Estimated service parameters) IE
238  * parsing and decides whether firmware will include this in its scoring algo.
239  *
240  * Related: None
241  *
242  * Supported Feature: STA
243  *
244  * Usage: External
245  *
246  * </ini>
247  */
248 #define CFG_ENABLE_ESP_FEATURE CFG_INI_BOOL( \
249 		"enable_esp_for_roam", \
250 		1, \
251 		"Enable/disable esp feature")
252 
253 /*
254  * <ini>
255  * g_is_fils_enabled - Enable/Disable FILS support in driver
256  * @Min: 0
257  * @Max: 1
258  * @Default: 1
259  *
260  * This ini is used to enable/disable FILS support in driver
261  * Driver will update config to supplicant based on this config.
262  *
263  * Related: None
264  *
265  * Supported Feature: FILS
266  *
267  * Usage: External
268  *
269  * </ini>
270  */
271 #define CFG_IS_FILS_ENABLED CFG_INI_BOOL( \
272 		"g_is_fils_enabled", \
273 		1, \
274 		"Enable/disable support")
275 
276 #define CFG_OCE_ALL \
277 	CFG(CFG_ENABLE_BCAST_PROBE_RESP) \
278 	CFG(CFG_OCE_ENABLE_STA) \
279 	CFG(CFG_OCE_ENABLE_SAP) \
280 	CFG(CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT) \
281 	CFG(CFG_OCE_PROBE_REQ_RATE) \
282 	CFG(CFG_OCE_PROBE_RSP_RATE) \
283 	CFG(CFG_OCE_BEACON_RATE) \
284 	CFG(CFG_ENABLE_PROBE_REQ_DEFERRAL) \
285 	CFG(CFG_ENABLE_FILS_DISCOVERY_SAP) \
286 	CFG(CFG_ENABLE_ESP_FEATURE) \
287 	CFG(CFG_IS_FILS_ENABLED)
288 #endif /* __CFG_MLME_OCE_H */
289