File: | builds/wireshark/wireshark/epan/dissectors/packet-wassp.c |
Warning: | line 4818, column 4 Value stored to 'tlvi' is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* packet-wassp.c |
2 | * Routines for the disassembly of the Chantry/Enterasys/ExtremeNetworks AP-Controller |
3 | * tunneling protocol. |
4 | * |
5 | * By Zhong Wei Situ <[email protected]> |
6 | * Copyright 2019 Extreme Networks |
7 | * |
8 | * SPDX-License-Identifier: GPL-2.0-or-later |
9 | */ |
10 | |
11 | /* |
12 | https://tools.ietf.org/html/draft-singh-capwap-ctp-02 |
13 | looks very similar (but not always identical). |
14 | |
15 | AC: Access Controller |
16 | MU: Mobile Unit (Wireless client) |
17 | RU: Radio Unit (Access point) |
18 | |
19 | */ |
20 | |
21 | #include "config.h" |
22 | #include <epan/packet.h> |
23 | #include <epan/reassemble.h> |
24 | #include <epan/conversation.h> |
25 | #include <epan/tfs.h> |
26 | |
27 | #include <wsutil/array.h> |
28 | |
29 | #define PROTO_SHORT_NAME"WASSP" "WASSP" |
30 | #define PROTO_LONG_NAME"Wireless Access Station Session Protocol" "Wireless Access Station Session Protocol" |
31 | #define LBS_HDR_MAGIC0x7c83 0x7c83 |
32 | #define MU_NETFLOW_RECORD_SIZE46 46 |
33 | #define WASSP_SNMP161 161 |
34 | |
35 | /* TLV structure offsets. */ |
36 | #define TLV_TYPE0 0 |
37 | #define TLV_LENGTH2 2 |
38 | #define TLV_VALUE4 4 |
39 | |
40 | /* header lengths */ |
41 | #define WASSP_HDR_LEN8 8 |
42 | #define RU_HEADER_WITH_MAC_LEN16 16 |
43 | #define RU_HEADER_WITHOUT_MAC_LEN12 12 |
44 | #define WASSP_MU_HDR_LEN14 14 |
45 | |
46 | /* WASSP header offsets in bytes */ |
47 | #define WASSP_HDR_VERSION0 0 |
48 | #define WASSP_HDR_TYPE1 1 |
49 | #define WASSP_HDR_SEQ_NUM2 2 |
50 | #define WASSP_HDR_FLAGS3 3 |
51 | #define WASSP_HDR_SESSIONID4 4 |
52 | #define WASSP_HDR_PLENGTH6 6 |
53 | |
54 | |
55 | /* RU Discover header offsets in bytes */ |
56 | #define RU_HDR_VERSION0 0 |
57 | #define RU_HDR_TYPE1 1 |
58 | #define RU_HDR_RAD_NUM2 2 |
59 | #define RU_HDR_LENGTH4 4 |
60 | #define RU_HDR_CHECKSUM6 6 |
61 | #define RU_HDR_AC_OP8 8 |
62 | #define RU_HDR_MAC10 10 |
63 | #define RU_HDR_AC_MODE10 10 |
64 | |
65 | |
66 | #define RU_HDR_CONTAIN_MAC1 1 |
67 | /* MU NetFlow header offsets in bytes */ |
68 | #define MU_NETFLOW_HDR_VERSION0 0 |
69 | #define MU_NETFLOW_HDR_LENGTH2 2 |
70 | #define MU_NETFLOW_HDR_FLAG4 4 |
71 | #define MU_NETFLOW_HDR_UPTIME6 6 |
72 | |
73 | #define MU_NETFLOW_HEADER_TOTAL_LENGTH10 10 |
74 | |
75 | |
76 | /* WASSP MU header offsets in bytes */ |
77 | #define WASSP_MU_HDR_TYPE0 0 |
78 | #define WASSP_MU_HDR_QOS1 1 |
79 | #define WASSP_MU_HDR_ACTION_SSID2 2 |
80 | #define WASSP_MU_HDR_MAC4 4 |
81 | #define WASSP_MU_HDR_RESV_010 10 |
82 | #define WASSP_MU_HDR_RESV_112 12 |
83 | #define WASSP_MU_HDR_WITH_ASSO_STATUS_LEN15 15 |
84 | #define WASSP_MU_HDR_WITHOUT_ASSO_STATUS_LEN14 14 |
85 | |
86 | #define RU_WASSP_FLAGS_MORE_FRAGMENTS_FOLLOWING0x01 0x01 |
87 | #define RU_WASSP_FLAGS_NOT_FIRST_FRAGMENT0x04 0x04 |
88 | #define RU_WASSP_FLAGS_USE_FRAGMENTATION0x08 0x08 |
89 | #define RU_WASSP_FLAGS0x3f 0x3f |
90 | |
91 | #define RU_DISCOVER_OP_MODE1 1 |
92 | #define WASSP_MOBILITY0x10 0x10 |
93 | #define WASSP_DATA_FRAGMENT0x2 0x2 |
94 | |
95 | /* Define WASSP UDP port */ |
96 | #define UDP_PORT_WASSP13910 13910 |
97 | #define PORT_WASSP_DISCOVER13907 13907 |
98 | #define PORT_WASSP_RANGE"13907,13910" "13907,13910" /* Not IANA registered */ |
99 | |
100 | #define WASSP_DATA_FRAGMENT_BIT0x2 0x2 |
101 | |
102 | |
103 | |
104 | typedef struct tlv_mac_add |
105 | { |
106 | uint16_t tlvType ; |
107 | uint16_t tlvLen; |
108 | uint8_t tlvMac[6/* MAC_ADDR_SIZE */]; |
109 | } TLV_MAC_ADD; |
110 | #define TLV_MAC_ADD_SIZEsizeof (TLV_MAC_ADD) sizeof (TLV_MAC_ADD) |
111 | |
112 | |
113 | |
114 | |
115 | typedef struct |
116 | { |
117 | uint16_t tlvType; |
118 | uint16_t tlvLen; |
119 | TLV_MAC_ADD tlvMacAddress; |
120 | uint32_t radioId; |
121 | } TLV_RADIO_BLOCK; |
122 | |
123 | |
124 | typedef struct tlvVnsBlock |
125 | { |
126 | uint16_t tlvType; |
127 | uint16_t tlvLen; |
128 | uint32_t radioId; |
129 | uint32_t bssidId; |
130 | uint32_t ssidId; |
131 | } TLV_VNS_BLOCK; |
132 | |
133 | |
134 | typedef struct |
135 | { |
136 | TLV_MAC_ADD tlvMacAddress; |
137 | TLV_RADIO_BLOCK tlvRadioB[2]; |
138 | TLV_VNS_BLOCK tlvVnsB[16]; |
139 | } tlvSsiddBssidMap; |
140 | |
141 | |
142 | |
143 | |
144 | /* @*@ */ |
145 | typedef struct |
146 | { |
147 | uint16_t tlvId; |
148 | char *name; |
149 | uint16_t type; |
150 | uint16_t length; |
151 | #define WASSP_TAB_IDXlength length |
152 | uint32_t (*parseFunc)(void); |
153 | uint32_t (*setFunc)(void); |
154 | uint32_t offset; |
155 | uint8_t flags; |
156 | uint32_t minValue; |
157 | uint32_t maxValue; |
158 | uint32_t (*customCheckFunc)(void); |
159 | } TLV_PARSER_ENTRY; |
160 | |
161 | /* @*@ */ |
162 | #define TLV_TYPE_UNKNOWN0 0 |
163 | #define TLV_TYPE_STRING1 1 //- PW_TYPE_STRING |
164 | #define TLV_TYPE_INT2 2 //- PW_TYPE_INTEGER |
165 | #define TLV_TYPE_UINT3 3 //- PW_TYPE_INTEGER |
166 | #define TLV_TYPE_BOOL4 4 //- PW_TYPE_INTEGER |
167 | #define TLV_TYPE_OCTETS5 5 //- PW_TYPE_OCTETS |
168 | #define TLV_TYPE_MACADD6 6 //- PW_TYPE_MACADD |
169 | #define TLV_TYPE_BLOCK_TLV7 7 |
170 | #define TLV_TYPE_INDEX8 8 //- PW_TYPE_INTEGER |
171 | #define TLV_TYPE_IP_ADDR9 9 //- PW_TYPE_INTEGER |
172 | |
173 | typedef enum |
174 | { |
175 | CONFIG_GLOBAL_BLOCK, |
176 | CONFIG_ERROR_BLOCK, |
177 | TAB_CONFIG_MODIFIED, |
178 | RADIO_CONFIG_BLOCK, |
179 | VNS_CONFIG_BLOCK, |
180 | MU_RF_STATS_BLOCK, |
181 | AP_STATS_BLOCK, |
182 | STATS_MU_BLOCK, |
183 | TAB_STATS_RADIO, |
184 | TAB_STATS_ETH, |
185 | TAB_STATS_WDS, |
186 | TAB_STATS_DOT1x, |
187 | TAB_CONFIG_FILTER, |
188 | TAB_STATS_VNS, |
189 | TAB_CONFIG_RADIUS_SERVER, |
190 | TAB_CONFIG_SITE, |
191 | TAB_CONFIG_POLICY, |
192 | TAB_CONFIG_COS, |
193 | TAB_CONFIG_LOC_BASE_LP, |
194 | TAB_CONFIG_RADIUS, |
195 | EVENT_BLOCK, |
196 | TAB_SSS_MU_BLOCK, |
197 | TAB_EID_MU_BLOCK, |
198 | BULK_MU_BLOCK, |
199 | MU_BLOCK, |
200 | BULK_VNS_BLOCK, |
201 | VNS_BLOCK, |
202 | TAB_SIAPP_PMK_BLOCK, |
203 | TAB_SIAPP_RADIO_CONFIG_BLOCK, |
204 | TAB_SIAPP_MU_STATS_BLOCK, |
205 | TAB_SIAPP_THIN_BLOCK, |
206 | TAB_SIAPP_BLOCK, |
207 | TAB_ASSOC_SSID_ARRAY, |
208 | TAB_ASSOC_SSID_BLOCK, |
209 | TAB_AP_LIST_BLOCK, |
210 | TAB_AP_LIST_ARRAY, |
211 | TAB_SCAN_PROFILE_BLOCK, |
212 | TAB_THREAT_DEF_ARRAY, |
213 | TAB_THREAT_DEF_BLOCK, |
214 | TAB_THREAT_PATTERN_ARRAY, |
215 | TAB_THREAT_PATTERN_BLOCK, |
216 | TAB_SURVEILLANCE_DATA_ARRAY, |
217 | TAB_SURVEILLANCE_DATA_BLOCK, |
218 | TAB_THREAT_DATA_ARRAY, |
219 | TAB_THREAT_DATA_BLOCK, |
220 | TAB_THREAT_CLASSIFY_ARRAY, |
221 | TAB_THREAT_CLASSIFY_BLOCK, |
222 | TAB_USER_CLASSIFY_ARRAY, |
223 | TAB_USER_CLASSIFY_BLOCK, |
224 | TAB_MU_EVENT_ARRAY, |
225 | TAB_MU_EVENT_BLOCK, |
226 | TAB_COUNTRY_ARRAY, |
227 | TAB_COUNTRY_BLOCK, |
228 | TAB_LOCATOR_LOC_BLOCK, |
229 | TAB_LOCATOR_LOC_ARRAY, |
230 | TAB_RSS_DATA_ARRAY, |
231 | TAB_RSS_DATA_BLOCK, |
232 | TAB_MCAST_FILTER_BLOCK, |
233 | TAB_MCAST_FILTER_BLOCK_ENTRY, |
234 | TAB_MU_SESSION_ARRAY, |
235 | TAB_MU_SESSION_BLOCK, |
236 | TAB_DETECTED_ROGUE_ARRAY, |
237 | TAB_DETECTED_ROGUE_BLOCK, |
238 | TAB_FILTER_RULES_EXT_BLOCK, |
239 | TAB_APP_POLICY_FIXED_BLOCK, |
240 | TAB_V_FILTER_RULES_EXT_BLOCK, |
241 | TAB_V_SITE_FILTER_RULES_EXT_BLOCK, |
242 | TAB_APP_POLICY_ENTRY_BLOCK, |
243 | TAB_11U_ANQP_BLOCK, |
244 | TAB_HS2_BLOCK, |
245 | TAB_RU_ACK_RADIO_CONFIG, |
246 | TAB_MU_APPL_STATS_BLOCK, |
247 | TAB_EXTAPP_CONF_BLOCK, |
248 | TAB_V_CP_CONFIG_BLOCK, |
249 | TAB_TOPOLOGY_ARRAY_BLOCK, |
250 | TAB_TOPOLOGY_STRUCT_BLOCK, |
251 | TAB_FILTER_CONFIG_STRUCT_BLOCK, |
252 | TAB_S_TOPOLOGY_ARRAY_BLOCK, |
253 | TAB_S_TOPOLOGY_STRUCT_BLOCK, |
254 | TAB_S_TOPO_MCAST_FILTER_CONFIG_BLOCK, |
255 | TAB_S_TOPO_MCAST_FILTER_RULES_EXT_BLOCK, |
256 | TAB_NAC_SERVER_CONFIG_ARRAY, |
257 | TAB_NAC_SERVER_CONFIG_BLOCK, |
258 | TAB_NAC_WEB_AUTH_USER_GROUP_ARRAY, |
259 | TAB_NAC_WEB_AUTH_USER_GROUP_BLOCK, |
260 | |
261 | TAB_MAX |
262 | } WASSP_SUBTLV_TAB_e; |
263 | |
264 | |
265 | /* Wassp RU Message/Header Types */ |
266 | typedef enum |
267 | { |
268 | WASSP_RU_UNUSED_0 = 0, |
269 | WASSP_RU_Discov, // 1 |
270 | WASSP_RU_Register_Req, // 2 |
271 | WASSP_RU_Register_Rsp, // 3 |
272 | WASSP_RU_Authentication_Req, // 4 |
273 | WASSP_RU_Authentication_Rsp, // 5 |
274 | WASSP_RU_SW_Version_Validate_Req, // 6 |
275 | WASSP_RU_SW_Version_Validate_Rsp, // 7 |
276 | WASSP_RU_Config_Req, // 8 |
277 | WASSP_RU_Config_Rsp, // 9 |
278 | WASSP_RU_Ack, // 10 |
279 | WASSP_RU_Config_Status_Notify, // 11 |
280 | WASSP_RU_Set_State_Req, // 12 |
281 | WASSP_RU_Set_State_Rsp, // 13 |
282 | WASSP_RU_Stats_Notify, // 14 |
283 | WASSP_Data, // 15 |
284 | WASSP_RU_Poll, // 16 |
285 | WASSP_RU_SNMP_Req, // 17 |
286 | WASSP_RU_SNMP_Rsp, // 18 |
287 | WASSP_BP_Trap_Notify, // 19 |
288 | WASSP_BP_Scan_Req, // 20 |
289 | WASSP_RFM_Notify, // 21 |
290 | WASSP_RU_SNMP_Alarm_Notify, // 22 |
291 | WASSP_RU_SNMP_Set_Alarm_Clear, // 23 |
292 | WASSP_RU_SNMP_Set_Log_Status, // 24 |
293 | WASSP_RU_SNMP_Get_Log_Req, // 25 |
294 | WASSP_RU_SNMP_Get_Log_Resp, // 26 |
295 | WASSP_SEC_Update_Notify, // 27 |
296 | WASSP_RU_STATS_Req, // 28 |
297 | WASSP_RU_STATS_Rsp, // 29 |
298 | WASSP_RU_UNUSED_30, // 30 |
299 | WASSP_RU_UNUSED_31, // 31 |
300 | WASSP_RU_Get_Req, // 32 |
301 | WASSP_RU_Get_Rsp, // 33 |
302 | WASSP_RU_Alarm_Notify, // 34 |
303 | WASSP_RU_Set_Alarm_Clear, // 35 |
304 | WASSP_RU_Get_Log_Req, // 36 |
305 | WASSP_RU_Get_Log_Rsp, // 37 |
306 | WASSP_RU_UNUSED_38, // 38 |
307 | WASSP_RU_UNUSED_39, // 39 |
308 | WASSP_P_PEER_DOWN_NOTIFY, // 40 |
309 | WASSP_P_LINK_STATE_CHANGE_REQ, // 41 |
310 | WASSP_P_LINK_STATE_CHANGE_RSP, // 42 |
311 | WASSP_RU_AC_Poll, // 43 |
312 | WASSP_RU_GetIP_Req, // 44 |
313 | WASSP_RU_GetIP_Rsp, // 45 |
314 | WASSP_RU_LAMG_Update_Req, // 46 |
315 | WASSP_RU_LAMG_Update_Rsp, // 47 |
316 | WASSP_RU_Event_Req, // 48 |
317 | WASSP_RU_Event_Rsp, // 49 |
318 | WASSP_RU_BULK_MU_UPDATE_REQ, // 50 |
319 | WASSP_RU_BULK_MU_UPDATE_RSP, // 51 |
320 | WASSP_ROAMED_MU_FILTER_STATS_REQ, // 52 |
321 | WASSP_ROAMED_MU_FILTER_STATS_RESP, // 53 |
322 | WASSP_RU_UNUSED_54, // 54 |
323 | WASSP_LBS_TAG_REPORT, // 55 |
324 | WASSP_RU_AC_Event_Req, // 56 |
325 | WASSP_RU_AC_Event_Rsp, // 57 |
326 | WASSP_RU_Event_Notify, // 58 |
327 | WASSP_RU_AC_EVENT, // 59 |
328 | WASSP_WIDS_WIPS_Config_Req, // 60 |
329 | WASSP_WIDS_WIPS_Config_Rsp, // 61 |
330 | WASSP_Scan_Data_Notify, // 62 |
331 | WASSP_Scan_Data_Notify_Ack, // 63 |
332 | WASSP_Loc_Data_Notify, // 64 |
333 | WASSP_Loc_Data_Notify_Ack, // 65 |
334 | WASSP_RU_SW_Version_Validate_Ack, // 66 |
335 | WASSP_NEIGHBOUR_STATS_Rsp, // 67 |
336 | WASSP_APPL_STATS_RESP, // 68 |
337 | WASSP_RU_Capture_Req, // 69 |
338 | WASSP_RU_Capture_Rsp, // 70 |
339 | /* AC/AC tunneling */ |
340 | WASSP_AC_Register_Req = 101, // 101 |
341 | WASSP_AC_Register_Rsp, // 102 |
342 | WASSP_AC_Deregister_Req, // 103 |
343 | WASSP_AC_Deregister_Rsp, // 104 |
344 | |
345 | WASSP_P_MAX |
346 | |
347 | } wassp_ru_msg_t; |
348 | |
349 | |
350 | |
351 | |
352 | |
353 | /* Value string object enumerates wassp header type field */ |
354 | static const value_string wassp_header_types[] = |
355 | { |
356 | { WASSP_RU_UNUSED_0, "WASSP Reserved 0"}, |
357 | { WASSP_RU_Discov, "WASSP RU Discover"}, |
358 | { WASSP_RU_Register_Req, "RU Registration Request"}, |
359 | { WASSP_RU_Register_Rsp, "RU Registration Response"}, |
360 | { WASSP_RU_Authentication_Req, "RU Authentication Request"}, |
361 | { WASSP_RU_Authentication_Rsp, "RU Authentication Response"}, |
362 | { WASSP_RU_SW_Version_Validate_Req, "RU Software Version Report"}, |
363 | { WASSP_RU_SW_Version_Validate_Rsp, "RU Software Version Command"}, |
364 | { WASSP_RU_Config_Req, "RU Configuration Request"}, |
365 | { WASSP_RU_Config_Rsp, "RU Configuration Response"}, |
366 | { WASSP_RU_Ack, "RU Acknowledge"}, |
367 | { WASSP_RU_Config_Status_Notify, "RU Configuration Status Notify"}, |
368 | { WASSP_RU_Set_State_Req, "RU Set State Request"}, |
369 | { WASSP_RU_Set_State_Rsp, "RU Set State Response"}, |
370 | { WASSP_RU_Stats_Notify, "RU Statistics Notify"}, |
371 | { WASSP_Data, "WASSP Data"}, |
372 | { WASSP_RU_Poll, "RU Poll"}, |
373 | { WASSP_RU_SNMP_Req, "SNMP Request"}, |
374 | { WASSP_RU_SNMP_Rsp, "SNMP Response"}, |
375 | { WASSP_BP_Trap_Notify, "BP Trap Notify"}, |
376 | { WASSP_BP_Scan_Req, "BP Trap Notify"}, |
377 | { WASSP_RFM_Notify, "RFM Notify"}, |
378 | { WASSP_RU_SNMP_Alarm_Notify, "RU SNMP Alarm Notify"}, |
379 | { WASSP_RU_SNMP_Set_Alarm_Clear, "RU SNMP Set Alarm"}, |
380 | { WASSP_RU_SNMP_Set_Log_Status, "RU SNMP Set Log Status"}, |
381 | { WASSP_RU_SNMP_Get_Log_Req, "RU SNMP Get Log Request"}, |
382 | { WASSP_RU_SNMP_Get_Log_Resp, "RU SNMP Get Log Response"}, |
383 | { WASSP_SEC_Update_Notify, "SEC Update Notify"}, |
384 | { WASSP_RU_STATS_Req, "RU Statistics Request"}, |
385 | { WASSP_RU_STATS_Rsp, "RU Statistics Response"}, |
386 | { WASSP_RU_UNUSED_30, "WASSP MU Statistics Request" }, |
387 | { WASSP_RU_UNUSED_31, "WASSP MU Statistics Response" }, |
388 | { WASSP_RU_Get_Req, "Dot1x Get Request"}, |
389 | { WASSP_RU_Get_Rsp, "Dot1x Get Response"}, |
390 | { WASSP_RU_Alarm_Notify, "RU Alarm Notify"}, |
391 | { WASSP_RU_Set_Alarm_Clear, "RU Set Alarm Clear"}, |
392 | { WASSP_RU_Get_Log_Req, "RU Get Log Request"}, |
393 | { WASSP_RU_Get_Log_Rsp, "RU Get Log Response"}, |
394 | { WASSP_RU_UNUSED_38, "WASSP UNUSED 38"}, |
395 | { WASSP_RU_UNUSED_39, "WASSP UNUSED 39"}, |
396 | { WASSP_P_PEER_DOWN_NOTIFY, "Availability Peer Controller down Notify"}, |
397 | { WASSP_P_LINK_STATE_CHANGE_REQ, "Availability Peer Controller Link State Change Request"}, |
398 | { WASSP_P_LINK_STATE_CHANGE_RSP, "Availability Peer Controller Link State Change Response"}, |
399 | { WASSP_RU_AC_Poll, "RU Poll Controller"}, |
400 | { WASSP_RU_GetIP_Req, "RU Get IP Request"}, |
401 | { WASSP_RU_GetIP_Rsp, "RU Get IP Response"}, |
402 | { WASSP_RU_LAMG_Update_Req, "WASSP reserved"}, |
403 | { WASSP_RU_LAMG_Update_Rsp, "WASSP reserved"}, |
404 | { WASSP_RU_Event_Req, "RU Event Request"}, |
405 | { WASSP_RU_Event_Rsp, "RU Event Response"}, |
406 | { WASSP_RU_BULK_MU_UPDATE_REQ, "RU Bulk MUs Update Request"}, |
407 | { WASSP_RU_BULK_MU_UPDATE_RSP, "RU Bulk MUs Update Response"}, |
408 | { WASSP_ROAMED_MU_FILTER_STATS_REQ, "Roamed MU Filter Statistics Request"}, |
409 | { WASSP_ROAMED_MU_FILTER_STATS_RESP, "Roamed MU Filter Statistics Response"}, |
410 | { WASSP_RU_UNUSED_54, "WASSP reserved"}, |
411 | { WASSP_LBS_TAG_REPORT, "Location Base Service Tag Report"}, |
412 | { WASSP_RU_AC_Event_Req, "RU Alarm Clear Event Request"}, |
413 | { WASSP_RU_AC_Event_Rsp, "RU Alarm Clear Event Response"}, |
414 | { WASSP_RU_Event_Notify, "RU Event Notify"}, |
415 | { WASSP_RU_AC_EVENT, "RU Alarm Clear Event"}, |
416 | { WASSP_WIDS_WIPS_Config_Req, "WIDS WIPS Configuration Request"}, |
417 | { WASSP_WIDS_WIPS_Config_Rsp, "WIDS WIPS Configuration Response"}, |
418 | { WASSP_Scan_Data_Notify, "Scan Data Notify"}, |
419 | { WASSP_Scan_Data_Notify_Ack, "Scan Data Notify Acknowledge"}, |
420 | { WASSP_Loc_Data_Notify, "Location Data Notify"}, |
421 | { WASSP_Loc_Data_Notify_Ack, "Location Data Notify Acknowledge"}, |
422 | { WASSP_RU_SW_Version_Validate_Ack, "RU Software Version Validate Acknowledge"}, |
423 | { WASSP_NEIGHBOUR_STATS_Rsp, "Neighbor Statistics Response"}, |
424 | { WASSP_APPL_STATS_RESP, "Application Statistics Response"}, |
425 | { WASSP_RU_Capture_Req, "RU Capture Request"}, |
426 | { WASSP_RU_Capture_Rsp, "RU Capture Response"}, |
427 | /* AC/AC tunneling */ |
428 | { WASSP_AC_Register_Req, "Tunnel Register Request"}, |
429 | { WASSP_AC_Register_Rsp, "Tunnel Register Response"}, |
430 | { WASSP_AC_Deregister_Req, "Tunnel Deregister Request"}, |
431 | { WASSP_AC_Deregister_Rsp, "Tunnel deregister Response"}, |
432 | { 0, NULL((void*)0) } |
433 | }; |
434 | |
435 | |
436 | |
437 | /* Wassp MU Header Types */ |
438 | typedef enum |
439 | { |
440 | WASSP_MU_UNUSED_0 = 0, |
441 | WASSP_MU_Associate_Req, // 1 |
442 | WASSP_MU_Associate_Rsp, // 2 |
443 | WASSP_MU_Data, // 3 |
444 | WASSP_MU_Disconnect_Req, // 4 |
445 | WASSP_MU_Disconnect_Rsp, // 5 |
446 | WASSP_MU_Roam_Notify, // 6 |
447 | WASSP_MU_Disconnect_Notify, // 7 |
448 | WASSP_MU_INVALID_PMK_REQ, // 8 |
449 | WASSP_MU_Update_Req, // 9 |
450 | WASSP_MU_Update_Rsp, // 10 |
451 | WASSP_MU_MIRRORN, // 11 |
452 | WASSP_MU_NETFLOW, // 12 |
453 | WASSP_MU_Radius_Update, // 13 |
454 | WASSP_AP2AC_MU_Inform_Req, // 14 |
455 | WASSP_AP2AC_MU_Inform_Rsp, // 15 |
456 | WASSP_MU_Eap_Last, // 16 |
457 | WASSP_MU_PMIRROR, // 17 |
458 | WASSP_MU_UNUSED_18, // 18 |
459 | WASSP_MU_UNUSED_19, // 19 |
460 | WASSP_MU_UNUSED_20, // 20 |
461 | WASSP_MU_UNUSED_21, // 21 |
462 | WASSP_MU_UNUSED_22, // 22 |
463 | WASSP_MU_UNUSED_23, // 23 |
464 | WASSP_MU_UNUSED_24, // 24 |
465 | WASSP_MU_UNUSED_25, // 25 |
466 | WASSP_MU_UNUSED_26, // 26 |
467 | WASSP_MU_UNUSED_27, // 27 |
468 | WASSP_MU_UNUSED_28, // 28 |
469 | WASSP_MU_UNUSED_29, // 29 |
470 | WASSP_MU_STATS_Req, // 30 |
471 | WASSP_MU_STATS_Rsp, // 31 |
472 | WASSP_MU_UNUSED_32, // 32 |
473 | WASSP_MU_UNUSED_33, // 33 |
474 | WASSP_MU_UNUSED_34, // 34 |
475 | WASSP_MU_UNUSED_35, // 35 |
476 | WASSP_MU_UNUSED_36, // 36 |
477 | WASSP_MU_UNUSED_37, // 37 |
478 | WASSP_MU_BULK_Associate_Req, // 38 |
479 | WASSP_MU_BULK_Associate_Rsp // 39 |
480 | |
481 | |
482 | } wassp_mu_msg_t; |
483 | |
484 | /* Value string object enumerates wassp mu header type field */ |
485 | static const value_string wassp_mu_header_types[] = |
486 | { |
487 | { WASSP_MU_UNUSED_0, "MU Unused 0"}, |
488 | { WASSP_MU_Associate_Req, "MU Association Request"}, |
489 | { WASSP_MU_Associate_Rsp, "MU Association Response"}, |
490 | { WASSP_MU_Data, "MU Data"}, |
491 | { WASSP_MU_Disconnect_Req, "MU Disconnect Request"}, |
492 | { WASSP_MU_Disconnect_Rsp, "MU Disconnect Response"}, |
493 | { WASSP_MU_Roam_Notify, "MU Roam Notify"}, |
494 | { WASSP_MU_Disconnect_Notify, "MU Disconnect Notify"}, |
495 | { WASSP_MU_INVALID_PMK_REQ, "MU Invalid PMK Request"}, |
496 | { WASSP_MU_Update_Req, "MU Update Request"}, |
497 | { WASSP_MU_Update_Rsp, "MU Update Response"}, |
498 | { WASSP_MU_MIRRORN, "MU Mirror N"}, |
499 | { WASSP_MU_NETFLOW, "MU Netflow"}, |
500 | { WASSP_MU_Radius_Update, "MU Radius Update"}, |
501 | { WASSP_AP2AC_MU_Inform_Req, "AccessPoint To Controller MU Info Request"}, |
502 | { WASSP_AP2AC_MU_Inform_Rsp, "AccessPoint To Controller MU Info Response"}, |
503 | { WASSP_MU_Eap_Last, "MU Extensible Authentication Protocol Last"}, |
504 | { WASSP_MU_PMIRROR, "MU P Mirror"}, |
505 | { WASSP_MU_UNUSED_18, "MU Unused 18"}, |
506 | { WASSP_MU_UNUSED_19, "MU Unused 19"}, |
507 | { WASSP_MU_UNUSED_20, "MU Unused 20"}, |
508 | { WASSP_MU_UNUSED_21, "MU Unused 21"}, |
509 | { WASSP_MU_UNUSED_22, "MU Unused 22"}, |
510 | { WASSP_MU_UNUSED_23, "MU Unused 23"}, |
511 | { WASSP_MU_UNUSED_24, "MU Unused 24"}, |
512 | { WASSP_MU_UNUSED_25, "MU Unused 25"}, |
513 | { WASSP_MU_UNUSED_26, "MU Unused 26"}, |
514 | { WASSP_MU_UNUSED_27, "MU Unused 27"}, |
515 | { WASSP_MU_UNUSED_28, "MU Unused 28"}, |
516 | { WASSP_MU_UNUSED_29, "MU Unused 29"}, |
517 | { WASSP_MU_STATS_Req, "MU Statistics Request"}, |
518 | { WASSP_MU_STATS_Rsp, "MU Statistics Response"}, |
519 | { WASSP_MU_UNUSED_32, "MU Unused 32"}, |
520 | { WASSP_MU_UNUSED_33, "MU Unused 33"}, |
521 | { WASSP_MU_UNUSED_34, "MU Unused 34"}, |
522 | { WASSP_MU_UNUSED_35, "MU Unused 35"}, |
523 | { WASSP_MU_UNUSED_36, "MU Unused 36"}, |
524 | { WASSP_MU_UNUSED_37, "MU Unused 37"}, |
525 | { WASSP_MU_BULK_Associate_Req, "MU Bulk Associate Request"}, |
526 | { WASSP_MU_BULK_Associate_Rsp, "MU Bulk Associate Response"}, |
527 | { 0, NULL((void*)0) } |
528 | }; |
529 | |
530 | |
531 | |
532 | |
533 | |
534 | |
535 | |
536 | /***************************************************** |
537 | * Main TLVs |
538 | ****************************************************/ |
539 | |
540 | /* TLV Header Types */ |
541 | typedef enum |
542 | { |
543 | EID_UNUSED_0 = 0, // 0 |
544 | EID_STATUS, // 1 |
545 | EID_RU_SW_VERSION, // 2 |
546 | EID_RU_SERIAL_NUMBER, // 3 |
547 | EID_RU_REG_CHALLENGE, // 4 |
548 | EID_RU_REG_RESPONSE, // 5 |
549 | EID_AC_IPADDR, // 6 |
550 | EID_RU_VNSID, // 7 |
551 | EID_TFTP_SERVER, // 8 |
552 | EID_IMAGE_PATH, // 9 |
553 | EID_CONFIG, // 10 |
554 | EID_RU_STATE, // 11 |
555 | EID_SESSION_KEY, // 12 |
556 | EID_RU_PROTOCOL, // 13 |
557 | EID_RANDOM_NUMBER, // 14 |
558 | EID_STANDBY_TIMEOUT, // 15 |
559 | EID_RU_CHALLENGE_ID, // 16 |
560 | EID_RU_MODEL, // 17 |
561 | EID_RU_SCAN_MODE, // 18 |
562 | EID_RU_SCAN_TYPE, // 19 |
563 | EID_RU_SCAN_INTERVAL, // 20 |
564 | EID_RU_RADIO_TYPE, // 21 |
565 | EID_RU_CHANNEL_DWELL_TIME, // 22 |
566 | EID_RU_CHANNEL_LIST, // 23 |
567 | EID_RU_TRAP, // 24 |
568 | EID_RU_SCAN_TIMES, // 25 |
569 | EID_RU_SCAN_DELAY, // 26 |
570 | EID_RU_SCAN_REQ_ID, // 27 |
571 | EID_STATIC_CONFIG, // 28 |
572 | EID_LOCAL_BRIDGING, // 29 |
573 | EID_STATIC_BP_IPADDR, // 30 |
574 | EID_STATIC_BP_NETMASK, // 31 |
575 | EID_STATIC_BP_GATEWAY, // 32 |
576 | EID_STATIC_BM_IPADDR, // 33 |
577 | EID_BP_BPSSID, // 34 |
578 | EID_BP_WIRED_MACADDR, // 35 |
579 | EID_RU_CAPABILITY, // 36 |
580 | EID_RU_SSID_NAME, // 37 |
581 | EID_ALARM, // 38 |
582 | EID_RU_PREAUTH, // 39 |
583 | EID_RU_PMK, // 40 |
584 | EID_AC_REG_CHALLENGE, // 41 |
585 | EID_AC_REG_RESPONSE, // 42 |
586 | EID_STATS, // 43 |
587 | EID_CERTIFICATE, // 44 |
588 | EID_RADIO_ID, // 45 |
589 | EID_REQ_ID, // 46 |
590 | EID_NETWORK_ID, // 47 |
591 | EID_MU_MAC, // 48 |
592 | EID_TIME, // 49 |
593 | EID_NUM_RADIOS, // 50 |
594 | EID_RADIO_INFO, // 51 |
595 | EID_NETWORK_INFO, // 52 |
596 | EID_VENDOR_ID, // 53 |
597 | EID_PRODUCT_ID, // 54 |
598 | EID_RADIO_INFO_ACK, // 55 |
599 | EID_SECURE_TUNNEL, // 56 |
600 | EID_MU_TOPOLOGY_ID, // 57 |
601 | EID_SSID, // 58 |
602 | EID_EVENT_BLOCK, // 59 |
603 | EID_SNMP_ERROR_STATUS, // 60 |
604 | EID_SNMP_ERROR_INDEX, // 61 |
605 | EID_RU_REAUTH_TIMER, // 62 |
606 | EID_AP_IMG_TO_RAM, // 63 |
607 | EID_AP_IMG_ROLE, // 64 |
608 | EID_AP_STATS_BLOCK, // 65 |
609 | EID_MU_RF_STATS_BLOCK, // 66 |
610 | EID_STATS_REQUEST_TYPE, // 67 |
611 | EID_STATS_LAST, // 68 |
612 | EID_TLV_CONFIG, // 69 |
613 | EID_CONFIG_ERROR_BLOCK, // 70 |
614 | EID_CONFIG_MODIFIED_BLOCK, // 71 |
615 | EID_MU_PMKID_LIST, // 72 |
616 | EID_MU_PMK_BP, // 73 |
617 | EID_MU_PMKID_BP, // 74 |
618 | EID_COUNTDOWN_TIME, // 75 |
619 | EID_WASSP_VLAN_TAG, // 76 |
620 | EID_SSID_ID, // 77 |
621 | EID_BULK_MU_BLOCK, // 78 |
622 | EID_MU_BLOCK, // 79 |
623 | EID_PORT_OPEN_FLAG, // 80 |
624 | EID_WASSP_TUNNEL_TYPE, // 81 |
625 | EID_LOG_TYPE, // 82 |
626 | EID_LOG_FILE, // 83 |
627 | EID_ALARM_SEVERITY, // 84 |
628 | EID_ALARM_DESCRIPTION, // 85 |
629 | EID_BULK_VNS_BLOCK, // 86 |
630 | EID_VNS_BLOCK, // 87 |
631 | EID_AP_DHCP_MODE, // 88 |
632 | EID_AP_IPADDR, // 89 |
633 | EID_AP_NETMASK, // 90 |
634 | EID_AP_GATEWAY, // 91 |
635 | EID_BSSID2IP_BLOCK, // 92 |
636 | EID_RU_BACKUP_VERSION, // 93 |
637 | EID_AC_SW_VERSION, // 94 |
638 | EID_MCAST_LAMG_LIST, // 95 |
639 | EID_FILTER_NAME, // 96 |
640 | EID_FILTER_RULES, // 97 |
641 | EID_AUTH_STATE, // 98 |
642 | EID_MU_DISC_AFTER_AUTH, // 99 |
643 | EID_MU_MAC_LIST, // 100 |
644 | EID_TRANS_ID, // 101 |
645 | EID_TIMEZONE_OFFSET, // 102 |
646 | EID_SENSOR_FORCE_DOWNLOAD, // 103 |
647 | EID_SENSOR_IMG_VERSION, // 104 |
648 | EID_BRIDGE_MODE, // 105 |
649 | EID_MU_VLAN_TAG, // 106 |
650 | EID_RATECTRL_CIR_UL, // 107 |
651 | EID_RATECTRL_CIR_DL, // 108 |
652 | EID_RATECTRL_CBS_UL, // 109 |
653 | EID_RATECTRL_CBS_DL, // 110 |
654 | EID_RATECTRL_NAME_UL, // 111 |
655 | EID_RATECTRL_NAME_DL, // 112 |
656 | EID_POLICY_NAME, // 113 |
657 | EID_SIAPP_PMK_BLOCK, // 114 |
658 | EID_SIAPP_PMKID, // 115 |
659 | EID_SIAPP_PMK_REAUTH, // 116 |
660 | EID_SIAPP_PMK_LIFETIME, // 117 |
661 | EID_SIAPP_PMKID_FLAG, // 118 |
662 | EID_SIAPP_MU_PMK, // 119 |
663 | EID_SIAPP_AP_NAME, // 120 |
664 | EID_SIAPP_RADIO_CONFIG_BLOCK, // 121 |
665 | EID_SIAPP_CLUSTER_ACS_REQ, // 122 |
666 | EID_SIAPP_SIAPP_MU_STATS_BLOCK, // 123 |
667 | EID_SIAPP_PACKET_RETRIES, // 124 |
668 | EID_SIAPP_ASSOC_IN_WLAN, // 125 |
669 | EID_SIAPP_ASSOC_IN_CLUSTER, // 126 |
670 | EID_SIAPP_REASSOC_IN_CLUSTER, // 127 |
671 | EID_SIAPP_THIN_BLOCK, // 128 |
672 | EID_SIAPP_NEWAP_BSSID, // 129 |
673 | EID_SIAPP_OLDAP_BSSID, // 130 |
674 | EID_SIAPP_RAD_CACS_REQ, // 131 |
675 | EID_SIAPP_RADIOBLOCK, // 132 |
676 | EID_SIAPP_CLIENT_COUNT, // 133 |
677 | EID_SIAPP_BLOCK, // 134 |
678 | EID_SIAPP_MU_TransmittedFrameCount, // 135 |
679 | EID_SIAPP_MU_ReceivedFrameCount, // 136 |
680 | EID_SIAPP_MU_TransmittedBytes, // 137 |
681 | EID_SIAPP_MU_ReceivedBytes, // 138 |
682 | EID_SIAPP_MU_UL_DroppedRateControlPackets, // 139 |
683 | EID_SIAPP_MU_DL_DroppedRateControlPackets, // 140 |
684 | EID_SIAPP_MU_DL_DroppedBufferFullPackets, // 141 |
685 | EID_SIAPP_MU_DL_LostRetriesPackets, // 142 |
686 | EID_SIAPP_MU_UL_DroppedRateControlBytes, // 143 |
687 | EID_SIAPP_MU_DL_DroppedRateControlBytes, // 144 |
688 | EID_SIAPP_MU_DL_DroppedBufferFullBytes, // 145 |
689 | EID_SIAPP_MU_DL_LostRetriesBytes, // 146 |
690 | EID_SIAPP_BP_BSSID, // 147 |
691 | EID_SIAPP_RADIO_ID, // 148 |
692 | EID_SIAPP_MACADDR, // 149 |
693 | EID_SIAPP_PREAUTH_REQ, // 150 |
694 | EID_SIAPP_USER_IDENTITY, // 151 |
695 | EID_SIAPP_LOADBAL_BLOCK, // 152 |
696 | EID_SIAPP_LOADBAL_PKT_TYPE, // 153 |
697 | EID_SIAPP_LOADBAL_LOADGROUP_ID, // 154 |
698 | EID_SIAPP_LOADBAL_LOAD_VALUE, // 155 |
699 | EID_SIAPP_AC_MGMT_MAC, // 156 |
700 | EID_SIAPP_FILTER_COS, // 157 |
701 | EID_COS, // 158 |
702 | EID_RATE_LIMIT_RESOURCE_TBL, // 159 |
703 | EID_UCAST_FILTER_DISABLE, // 160 |
704 | EID_MU_INFORM_REASON, // 161 |
705 | EID_MU_FILTER_POLICY_NAME, // 162 |
706 | EID_MU_TOPOLOGY_POLICY_NAME, // 163 |
707 | EID_MU_COS_POLICY_NAME, // 164 |
708 | EID_MU_FILTER_KEY, // 165 |
709 | EID_MU_TOPOLOGY_KEY, // 166 |
710 | EID_MU_COS_KEY, // 167 |
711 | EID_MU_SESSION_TIMEOUT, // 168 |
712 | EID_MU_ACCOUNTING_CLASS, // 169 |
713 | EID_MU_LOGIN_LAT_PORT, // 170 |
714 | EID_MU_IDLE_TIMEOUT, // 171 |
715 | EID_MU_ACCT_INTERIM_INTERVAL, // 172 |
716 | EID_MU_IP_ADDR, // 173 |
717 | EID_MU_TERMINATE_ACTION, // 174 |
718 | EID_SITE_NAME, // 175 |
719 | EID_PEER_SITE_IP, // 176 |
720 | EID_INTERFERENCE_EVENTS_ENABLE, // 177 |
721 | EID_EVENT_TYPE, // 178 |
722 | EID_EVENT_CHANNEL, // 179 |
723 | EID_EVENT_VALUE, // 180 |
724 | EID_SSS_MU_BLOCK, // 181 |
725 | EID_SSS_MU_ASSOC_TIME, // 182 |
726 | EID_SSS_TS64_MU_UPDATE, // 183 |
727 | EID_SSS_TS64_AP_CURRENT, // 184 |
728 | EID_SSS_MU_AUTH_STATE, // 185 |
729 | EID_SSS_AP_HOMEHASH, // 186 |
730 | EID_TIME_FIRST_DETECTED, // 187 |
731 | EID_TIME_LAST_REPORTED, // 188 |
732 | EID_EVENT_ARRAY, // 189 |
733 | EID_SSS_DEFAULT_SESSION_TIMEOUT, // 190 |
734 | EID_SSS_SSID, // 191 |
735 | EID_SSS_PRIVACY_TYPE, // 192 |
736 | EID_POLICY_ZONE_NAME, // 193 |
737 | EID_RU_AC_EVENT_COMPONENT_ID, // 194 |
738 | EID_MU_AUTH_STATE, // 195 |
739 | EID_MU_USER_NAME, // 196 |
740 | EID_BULK_TYPE, // 197 |
741 | EID_SENT_TIME, // 198 |
742 | EID_INFORM_MU_PMK, // 199 |
743 | EID_COLLECTOR_IP_ADDR, // 200 |
744 | EID_ARP_PROXY, // 201 |
745 | EID_MCAST_FILTER_RULES, // 202 |
746 | EID_AP_PARAMS, // 203 |
747 | EID_ASSOC_SSID_ARRAY, // 204 |
748 | EID_ASSOC_SSID_BLOCK, // 205 |
749 | EID_AP_LIST_BLOCK, // 206 |
750 | EID_AP_LIST_ARRAY, // 207 |
751 | EID_MAC_ADDR, // 208 |
752 | EID_SCAN_PROFILE_ID, // 209 |
753 | EID_ACTION_REQ, // 210 |
754 | EID_CHANNEL_LIST, // 211 |
755 | EID_COUNTERMEASURES_MAX_CH, // 212 |
756 | EID_COUNTERMEASURES_SET, // 213 |
757 | EID_SCAN_PROFILE_BLOCK, // 214 |
758 | EID_SEQ_NUM, // 215 |
759 | EID_THREAT_DEF_ARRAY, // 216 |
760 | EID_THREAT_DEF_BLOCK, // 217 |
761 | EID_THREAT_TYPE, // 218 |
762 | EID_THREAT_ID, // 219 |
763 | EID_THREAT_STATS_F, // 220 |
764 | EID_THREAT_FR_SFR, // 221 |
765 | EID_THREAT_PATTERN_ARRAY, // 222 |
766 | EID_THREAT_PATTERN_BLOCK, // 223 |
767 | EID_THREAT_PATTERN, // 224 |
768 | EID_THREAT_ALERT_TH_DUR, // 225 |
769 | EID_THREAT_CLEAR_TH_DUR, // 226 |
770 | EID_THREAT_PRIORITY, // 227 |
771 | EID_THREAT_MITIGATION_LIST, // 228 |
772 | EID_SSS_MU_IS_PORT_CLOSED, // 229 |
773 | EID_FULL_UPDATE, // 230 |
774 | EID_REASON, // 231 |
775 | EID_SURVEILLANCE_DATA_ARRAY, // 232 |
776 | EID_SURVEILLANCE_DATA_BLOCK, // 233 |
777 | EID_SCAN_BSSID, // 234 |
778 | EID_PARAMS, // 235 |
779 | EID_SCAN_RSS_RSSI, // 236 |
780 | EID_SCAN_SSID, // 237 |
781 | EID_SCAN_CAP, // 238 |
782 | EID_THREAT_CLASSIFICATION, // 239 |
783 | EID_THREAT_DATA_ARRAY, // 240 |
784 | EID_THREAT_DATA_BLOCK, // 241 |
785 | EID_STATE, // 242 |
786 | EID_DROP_FR_CNT, // 243 |
787 | EID_STOP_ROAM_CNT, // 244 |
788 | EID_SPOOF_CNT, // 245 |
789 | EID_THREAT_CLASSIFY_ARRAY, // 246 |
790 | EID_THREAT_CLASSIFY_BLOCK, // 247 |
791 | EID_THREAT_NAME, // 248 |
792 | EID_LOCATION, // 249 |
793 | EID_ENCRYPTION_TYPE, // 250 |
794 | EID_MU_EVENT_ARRAY, // 251 |
795 | EID_MU_EVENT_BLOCK, // 252 |
796 | EID_COMPONENT_ID, // 253 |
797 | EID_MU_EVENT_STRING, // 254 |
798 | EID_BYPASS_BMCAST, // 255 |
799 | EID_GETTIMEOFDAY, // 256 |
800 | EID_COUNTRY_ID, // 257 |
801 | EID_COUNTRY_ARRAY, // 258 |
802 | EID_COUNTRY_BLOCK, // 259 |
803 | EID_MU_EVENT_TYPE, // 260 |
804 | EID_LOCATOR_FLOOR_ID, // 261 |
805 | EID_LOCATOR_LOC_TYPE, // 262 |
806 | EID_LOCATOR_LOC_BLOCK, // 263 |
807 | EID_LOCATOR_LOC_ARRAY, // 264 |
808 | EID_LOCATOR_LOC_POINT, // 265 |
809 | EID_MU_EVENT_DETAILS, // 266 |
810 | EID_MU_EVENT_FROM_AP, // 267 |
811 | EID_MU_EVENT_LOC_BLOCK, // 268 |
812 | EID_LOCATOR_LOC_AP_DISTANCE, // 269 |
813 | EID_LOCATOR_LOC_PRECISION, // 270 |
814 | EID_RSS_DATA_ARRAY, // 271 |
815 | EID_RSS_DATA_BLOCK, // 272 |
816 | EID_LOCATOR_MU_ACTION, // 273 |
817 | EID_EFFECTIVE_EGRESS_VLAN, // 274 |
818 | EID_REBOOT_ACK, // 275 |
819 | EID_MU_BSSID, // 276 |
820 | EID_AUTH_FLAG, // 277 |
821 | EID_ROAMED_FLAG, // 278 |
822 | EID_MU_RSS, // 279 |
823 | EID_FILTER_RULES_VER, // 280 |
824 | EID_FILTER_TYPE, // 281 |
825 | EID_MCAST_FILTER_BLOCK, // 282 |
826 | EID_MCAST_FILTER_BLOCK_ENTRY, // 283 |
827 | EID_DEFAULT_ACTION_TYPE, // 284 |
828 | EID_DEFAULT_CONTAIN_TO_VLAN, // 285 |
829 | EID_DEFAULT_BRIDGE_MODE, // 286 |
830 | EID_INVALID_POLICY, // 287 |
831 | EID_LOCATOR_FLOOR_NAME, // 288 |
832 | EID_AP_FLAGS, // 289 |
833 | EID_AP_PVID, // 290 |
834 | EID_AP_REDIRECT, // 291 |
835 | EID_MU_CVLAN_BAP, // 292 |
836 | EID_MU_SESSION_ARRAY, // 293 |
837 | EID_MU_SESSION_BLOCK, // 294 |
838 | EID_MU_SESSION_ID, // 295 |
839 | EID_MU_RFS_NAME, // 296 |
840 | EID_MU_FLAGS, // 297 |
841 | EID_MU_ASSOC_TIME, // 298 |
842 | EID_MU_ACTIVE_TIME, // 299 |
843 | EID_REPORT_REQ, // 300 |
844 | EID_MU_URL, // 301 |
845 | EID_MU_SESSION_LIFETIME, // 302 |
846 | EID_MU_REAUTH_TIMER, // 303 |
847 | EID_MU_ACCT_SESSION_ID_STRING, // 304 |
848 | EID_MU_ACCT_POLICY_NAME, // 305 |
849 | EID_MU_ACCT_START_TIME, // 306 |
850 | EID_MU_ACCT_CLASS, // 307 |
851 | EID_MU_LOGIN_LAT_GROUP, // 308 |
852 | EID_MU_TUNNEL_PRIVATE_GROUP_ID_STRING, // 309 |
853 | EID_MU_USER_ID_STRING, // 310 |
854 | EID_MU_DEFENDED_STATE, // 311 |
855 | EID_MU_MOD_MASK, // 312 |
856 | EID_LOCATOR_TRACKED, // 313 |
857 | EID_PORT, // 314 |
858 | EID_RETRIES_COUNT, // 315 |
859 | EID_MODULATION_TYPE, // 316 |
860 | EID_DETECTED_ROGUE_ARRAY, // 317 |
861 | EID_DETECTED_ROGUE_BLOCK, // 318 |
862 | EID_ROGUE_DETECTION, // 319 |
863 | EID_MAC_ADDR_TX, // 320 |
864 | EID_MAC_ADDR_RX, // 321 |
865 | EID_IP_ADDR_TX, // 322 |
866 | EID_IP_ADDR_RX, // 323 |
867 | EID_TTL, // 324 |
868 | EID_GW_IP_ADDR, // 325 |
869 | EID_LOCATOR_STATE_DATA, // 326 |
870 | EID_LOCATOR_POINT_SET, // 327 |
871 | EID_FILTER_RULE_FIXED_APP_ID, // 328 |
872 | EID_FILTER_RULES_EXT_BLOCK, // 329 |
873 | EID_MU_AREA_BLOCK, // 330 |
874 | EID_MU_LOCATION, // 331 |
875 | EID_MU_LOCATION_TS, // 332 |
876 | EID_DNS_IP_ADDR, // 333 |
877 | EID_IN_SERVICE_AP_LIST, // 334 |
878 | EID_OUT_SERVICE_AP_LIST, // 335 |
879 | EID_LAST_RD_AP, // 336 |
880 | EID_ROGUE_INFO, // 337 |
881 | EID_MU_IS_FT, // 338 |
882 | EID_MU_PMK_R1, // 339 |
883 | EID_SIAPP_R0KHID, // 340 |
884 | EID_SIAPP_R1KHID, // 341 |
885 | EID_SIAPP_FT_NONCE, // 342 |
886 | EID_SIAPP_FT_PMKR0NAME, // 343 |
887 | EID_SIAPP_FT_R1KHID, // 344 |
888 | EID_SIAPP_FT_S1KHID, // 345 |
889 | EID_SIAPP_FT_PMKR1, // 346 |
890 | EID_SIAPP_FT_PMKR1NAME, // 347 |
891 | EID_SIAPP_FT_PAIRWISE, // 348 |
892 | EID_SIAPP_FT_LIFETIME, // 349 |
893 | EID_MU_POWER_CAP, // 350 |
894 | EID_AREA_NAME, // 351 |
895 | EID_PERIODIC_NEIGHBOUR_REPORT, // 352 |
896 | EID_TIMESTAMP, // 353 |
897 | EID_NEIGHBOUR_ENTRY, // 354 |
898 | EID_MU_REQ, // 355 |
899 | EID_RU_REQ, // 356 |
900 | EID_NEIGHBOUR_REQ, // 357 |
901 | EID_SSS_FT_ASSOC, // 358 |
902 | EID_DEFAULT_MIRRORN, // 359 |
903 | EID_FILTER_RULE_EXT_ACT_FLAGS, // 360 |
904 | EID_TOPO_GROUP_MAPPING, // 361 |
905 | EID_MU_PMK_R0NAME, // 362 |
906 | EID_CUI, // 363 |
907 | EID_SSS_CAPINFO, // 364 |
908 | EID_SSS_CAPPOWER, // 365 |
909 | EID_WFA_VSA, // 366 |
910 | EID_WFA_HS20_REMED_METHOD, // 367 |
911 | EID_WFA_HS20_URL, // 368 |
912 | EID_WFA_HS20_DEAUTH_CODE, // 369 |
913 | EID_WFA_HS20_REAUTH_DELAY, // 370 |
914 | EID_WFA_HS20_SWT, // 371 |
915 | EID_POWER_STATUS, // 372 |
916 | EID_IPV6_ADDR, // 373 |
917 | EID_FILTER_RULES_APP_SIG_GROUP_ID, // 374 |
918 | EID_FILTER_RULES_APP_SIG_DISP_ID, // 375 |
919 | EID_MU_DEV_IDENTITY, // 376 |
920 | EID_APPL_STATS_REQ, // 377 |
921 | EID_MU_APPL_STATS_BLOCK, // 378 |
922 | EID_TOPOLOGY_ARRAY, // 379 |
923 | EID_TOPOLOGY_STRUCT, // 380 |
924 | EID_FILTER_CONFIG_STRUCT, // 381 |
925 | EID_DHCP_HOST_NAME, // 382 |
926 | EID_NEIGHBOUR_ENTRY_2, // 383 |
927 | EID_CHANNEL_ENTRY, // 384 |
928 | EID_MU_ECP_PW, // 385 |
929 | EID_MU_ECP_TOKEN, // 386 |
930 | EID_STATIC_VSA_IPADDR, // 387 |
931 | EID_STATIC_VSA_NETMASK, // 388 |
932 | EID_PKT_CAPTURE_STATUS, // 389 |
933 | EID_PKT_CAPTURE_FILTERS, // 390 |
934 | EID_PKT_F_WIRELESS, // 391 |
935 | EID_PKT_F_WIREDCLIENT, // 392 |
936 | EID_PKT_F_DIRECTION, // 393 |
937 | EID_PKT_F_RADIO, // 394 |
938 | EID_PKT_F_FLAGS, // 395 |
939 | EID_PKT_F_IP_ARRAY, // 396 |
940 | EID_PKT_F_MAC, // 397 |
941 | EID_PKT_F_PROTOCOL, // 398 |
942 | EID_PKT_F_PORT, // 399 |
943 | EID_VSA_SSID_ID, // 400 |
944 | EID_MU_AUTH_TYPE, // 401 |
945 | EID_PKT_F_MAX_PKT_COUNT, // 402 |
946 | EID_PKT_F_FLAG_2, // 403 |
947 | EID_IMAGE_PORT, // 404 |
948 | EID_FILTER_ROLE_ID, // 405 |
949 | EID_FILTER_ROLE_TIMESTAMP, // 406 |
950 | EID_MAX |
951 | } wassp_tlv_type_t; |
952 | |
953 | /* Value string object enumerates wassp tlv type field */ |
954 | static const value_string wassp_tlv_types[] = |
955 | { |
956 | { EID_STATUS, "Status/Action"}, |
957 | { EID_RU_SW_VERSION, "Software Version"}, |
958 | { EID_RU_SERIAL_NUMBER, "Serial Number"}, |
959 | { EID_RU_REG_CHALLENGE, "Registration Challenge"}, |
960 | { EID_RU_REG_RESPONSE, "Challenge Response"}, |
961 | { EID_AC_IPADDR, "Controller IP Address"}, |
962 | { EID_RU_VNSID, "AccessPoint VNS ID"}, |
963 | { EID_TFTP_SERVER, "TFTP Server Address"}, |
964 | { EID_IMAGE_PATH, "Path/Filename of Upgrade Image"}, |
965 | { EID_CONFIG, "SNMP Encoded Configuration"}, |
966 | { EID_RU_STATE, "AccessPoint State"}, |
967 | { EID_SESSION_KEY, "Binding Key"}, |
968 | { EID_RU_PROTOCOL, "Message Type"}, |
969 | { EID_RANDOM_NUMBER, "Random Number"}, |
970 | { EID_STANDBY_TIMEOUT, "Standby Timeout"}, |
971 | { EID_RU_CHALLENGE_ID, "AccessPoint Challenge ID"}, |
972 | { EID_RU_MODEL, "AccessPoint Model"}, |
973 | { EID_RU_SCAN_MODE, "AccessPoint Scan Mode"}, |
974 | { EID_RU_SCAN_TYPE, "AccessPoint Scan Type"}, |
975 | { EID_RU_SCAN_INTERVAL, "AccessPoint Scan Interval"}, |
976 | { EID_RU_RADIO_TYPE, "AccessPoint Radio Type"}, |
977 | { EID_RU_CHANNEL_DWELL_TIME, "AccessPoint Channel Dwell Time"}, |
978 | { EID_RU_CHANNEL_LIST, "AccessPoint Channel List"}, |
979 | { EID_RU_TRAP, "AccessPoint Trap"}, |
980 | { EID_RU_SCAN_TIMES, "AccessPoint Scan Times"}, |
981 | { EID_RU_SCAN_DELAY, "AccessPoint Scan Delay"}, |
982 | { EID_RU_SCAN_REQ_ID, "AccessPoint Scan Request ID"}, |
983 | { EID_STATIC_CONFIG, "Static Configuration"}, |
984 | { EID_LOCAL_BRIDGING, "Local Bridging"}, |
985 | { EID_STATIC_BP_IPADDR, "Static AccessPoint IP Address"}, |
986 | { EID_STATIC_BP_NETMASK, "Static AccessPoint NetMask"}, |
987 | { EID_STATIC_BP_GATEWAY, "Static AccessPoint Gateway"}, |
988 | { EID_STATIC_BM_IPADDR, "Static Controller IP Address"}, |
989 | { EID_BP_BPSSID, "AccessPoint BSSID"}, |
990 | { EID_BP_WIRED_MACADDR, "AccessPoint Wired MAC"}, |
991 | { EID_RU_CAPABILITY, "AccessPoint Capability"}, |
992 | { EID_RU_SSID_NAME, "AccessPoint SSID Name"}, |
993 | { EID_ALARM, "Alarm"}, |
994 | { EID_RU_PREAUTH, "AccessPoint Preauthorization"}, |
995 | { EID_RU_PMK, "AccessPoint Pairwise Master Key"}, |
996 | { EID_AC_REG_CHALLENGE, "Controller Register Challenge"}, |
997 | { EID_AC_REG_RESPONSE, "Controller Register Response"}, |
998 | { EID_STATS, "Stats"}, |
999 | { EID_CERTIFICATE, "Certificate"}, |
1000 | { EID_RADIO_ID, "Radio ID"}, |
1001 | { EID_REQ_ID, "Request ID"}, |
1002 | { EID_NETWORK_ID, "Network ID"}, |
1003 | { EID_MU_MAC, "MU MAC Address"}, |
1004 | { EID_TIME, "Time"}, |
1005 | { EID_NUM_RADIOS, "Number of Radios"}, |
1006 | { EID_RADIO_INFO, "Radio Info"}, |
1007 | { EID_NETWORK_INFO, "Network Info"}, |
1008 | { EID_VENDOR_ID, "Vendor ID"}, |
1009 | { EID_PRODUCT_ID, "Product ID"}, |
1010 | { EID_RADIO_INFO_ACK, "Radio Info Acknowledge"}, |
1011 | { EID_SECURE_TUNNEL, "Secure Tunnel"}, |
1012 | { EID_MU_TOPOLOGY_ID, "MU Topology ID"}, |
1013 | { EID_SSID, "SSID"}, |
1014 | { EID_EVENT_BLOCK, "Event Block"}, |
1015 | { EID_SNMP_ERROR_STATUS, "SNMP Error Status"}, |
1016 | { EID_SNMP_ERROR_INDEX, "SNMP Error Index"}, |
1017 | { EID_RU_REAUTH_TIMER, "AccessPoint ReAuthentication Timer"}, |
1018 | { EID_AP_IMG_TO_RAM, "AccessPoint Image Store to RAM"}, |
1019 | { EID_AP_IMG_ROLE, "AccessPoint Image Type"}, |
1020 | { EID_AP_STATS_BLOCK, "AccessPoint Statistics Block"}, |
1021 | { EID_MU_RF_STATS_BLOCK, "AccessPoint RF Statistics Block"}, |
1022 | { EID_STATS_REQUEST_TYPE, "AccessPoint Statistics Request Type"}, |
1023 | { EID_STATS_LAST, "AccessPoint Statistics Last Flag"}, |
1024 | { EID_TLV_CONFIG, "TLV Configuration"}, |
1025 | { EID_CONFIG_ERROR_BLOCK, "AccessPoint Configuration Error Block"}, |
1026 | { EID_CONFIG_MODIFIED_BLOCK, "AccessPoint Configuration Modified Block"}, |
1027 | { EID_MU_PMKID_LIST, "MU Pairwise Master Key List"}, |
1028 | { EID_MU_PMK_BP, "MU and AccessPoint Pairwise Master Key"}, |
1029 | { EID_MU_PMKID_BP, "MU and AccessPoint Pairwise Master Key ID"}, |
1030 | { EID_COUNTDOWN_TIME, "CountDown Time"}, |
1031 | { EID_WASSP_VLAN_TAG, "VLAN Tag"}, |
1032 | { EID_SSID_ID, "SSID(Service Set Identifier)"}, |
1033 | { EID_BULK_MU_BLOCK, "Bulk MU Block"}, |
1034 | { EID_MU_BLOCK, "MU Block" }, |
1035 | { EID_PORT_OPEN_FLAG, "Port Open Flag"}, |
1036 | { EID_WASSP_TUNNEL_TYPE, "Tunnel Type"}, |
1037 | { EID_LOG_TYPE, "Log type"}, |
1038 | { EID_LOG_FILE, "Log File"}, |
1039 | { EID_ALARM_SEVERITY, "Alarm Severity"}, |
1040 | { EID_ALARM_DESCRIPTION, "Alarm Information"}, |
1041 | { EID_BULK_VNS_BLOCK, "Bulk VNS Block"}, |
1042 | { EID_VNS_BLOCK, "VNS Block"}, |
1043 | { EID_AP_DHCP_MODE, "AccessPoint DHCP Mode"}, |
1044 | { EID_AP_IPADDR, "AccessPoint IP Address"}, |
1045 | { EID_AP_NETMASK, "AccessPoint IP Netmask"}, |
1046 | { EID_AP_GATEWAY, "AccessPoint IP Gateway"}, |
1047 | { EID_BSSID2IP_BLOCK, "BSSID to IP Address Mapping Block"}, |
1048 | { EID_RU_BACKUP_VERSION, "AccessPoint Upgrade: Software Version of The Backup Image"}, |
1049 | { EID_AC_SW_VERSION, "AccessPoint Upgrade: Software Version"}, |
1050 | { EID_MCAST_LAMG_LIST, "Multicast Optimization"}, |
1051 | { EID_FILTER_NAME, "Filter Rule Name"}, |
1052 | { EID_FILTER_RULES, "Array of Filter Rules"}, |
1053 | { EID_AUTH_STATE, "Authentication State( MU Not Authenticate = 0, ANON_AUTHENTICATED=0, MU Authenticated = 1"}, |
1054 | { EID_MU_DISC_AFTER_AUTH, "After Authenticated MU State( Disconnected = 0, Connected = 1"}, |
1055 | { EID_MU_MAC_LIST, "Array of MAC Addresses"}, |
1056 | { EID_TRANS_ID, "Transaction ID of The Message Determined At The Home Controller"}, |
1057 | { EID_TIMEZONE_OFFSET, "Timezone Offset"}, |
1058 | { EID_SENSOR_FORCE_DOWNLOAD, "Force Download of Sensor Image"}, |
1059 | { EID_SENSOR_IMG_VERSION, "Sensor Image Version"}, |
1060 | { EID_BRIDGE_MODE, "Bridge Mode"}, |
1061 | { EID_MU_VLAN_TAG, "MU VLAN Tag"}, |
1062 | { EID_RATECTRL_CIR_UL, "Up Link Bandwidth Control: Committed Information Rate (CIR)"}, |
1063 | { EID_RATECTRL_CIR_DL, "Down Link Bandwidth Control: Committed Information Rate (CIR)"}, |
1064 | { EID_RATECTRL_CBS_UL, "Up Link Bandwidth Control: Committed Burst Size (CBS)"}, |
1065 | { EID_RATECTRL_CBS_DL, "Down Link Bandwidth Control: Committed Burst Size (CBS)"}, |
1066 | { EID_RATECTRL_NAME_UL, "Up Link Bandwidth Control Profile Name"}, |
1067 | { EID_RATECTRL_NAME_DL, "Down Link Bandwidth Control Profile Name"}, |
1068 | { EID_POLICY_NAME, "Policy Profile Name"}, |
1069 | { EID_SIAPP_PMK_BLOCK, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key Block"}, |
1070 | { EID_SIAPP_PMKID, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key ID"}, |
1071 | { EID_SIAPP_PMK_REAUTH, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key ReAuthenticate"}, |
1072 | { EID_SIAPP_PMK_LIFETIME, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key Life Time"}, |
1073 | { EID_SIAPP_PMKID_FLAG, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key ID Flag"}, |
1074 | { EID_SIAPP_MU_PMK, "MU Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key"}, |
1075 | { EID_SIAPP_AP_NAME, "SIAPP AP Name"}, |
1076 | { EID_SIAPP_RADIO_CONFIG_BLOCK, "SIAPP Radio Configuration Block"}, |
1077 | { EID_SIAPP_CLUSTER_ACS_REQ, "SIAPP Cluster ACS Request"}, |
1078 | { EID_SIAPP_SIAPP_MU_STATS_BLOCK, "SIAPP MU Statistics Block"}, |
1079 | { EID_SIAPP_PACKET_RETRIES, "SIAPP Packet Retries"}, |
1080 | { EID_SIAPP_ASSOC_IN_WLAN, "SIAPP MU Association With In Same WLAN"}, |
1081 | { EID_SIAPP_ASSOC_IN_CLUSTER, "SIAPP MU Association With In Same Cluster"}, |
1082 | { EID_SIAPP_REASSOC_IN_CLUSTER, "SIAPP MU Reassociation With In Same Cluster"}, |
1083 | { EID_SIAPP_THIN_BLOCK, "SIAPP Thin Access Points Block"}, |
1084 | { EID_SIAPP_NEWAP_BSSID, "SIAPP New Access Points BSSID"}, |
1085 | { EID_SIAPP_OLDAP_BSSID, "SIAPP Old Access Points BSSID"}, |
1086 | { EID_SIAPP_RAD_CACS_REQ, "SIAPP Radio CACS Request"}, |
1087 | { EID_SIAPP_RADIOBLOCK, "SIAPP Radio Block"}, |
1088 | { EID_SIAPP_CLIENT_COUNT, "SIAPP Client Count"}, |
1089 | { EID_SIAPP_BLOCK, "SIAPP Block"}, |
1090 | { EID_SIAPP_MU_TransmittedFrameCount, "SIAPP MU _Transmitted Frame Count"}, |
1091 | { EID_SIAPP_MU_ReceivedFrameCount, "SIAPP MU Received Frame Count"}, |
1092 | { EID_SIAPP_MU_TransmittedBytes, "SIAPP MU Transmitted Bytes"}, |
1093 | { EID_SIAPP_MU_ReceivedBytes, "SIAPP MU Received Bytes"}, |
1094 | { EID_SIAPP_MU_UL_DroppedRateControlPackets, "SIAPP MU Up Link Dropped Rate Control Packets"}, |
1095 | { EID_SIAPP_MU_DL_DroppedRateControlPackets, "SIAPP MU Down Link Dropped Rate Control Packets"}, |
1096 | { EID_SIAPP_MU_DL_DroppedBufferFullPackets, "SIAPP MU Down Link Dropped Buffer Full Packets"}, |
1097 | { EID_SIAPP_MU_DL_LostRetriesPackets, "SIAPP MU Down Link Lost Retries Packets"}, |
1098 | { EID_SIAPP_MU_UL_DroppedRateControlBytes, "SIAPP MU Up Link Dropped Rate Control Bytes"}, |
1099 | { EID_SIAPP_MU_DL_DroppedRateControlBytes, "SIAPP MU Down Link Dropped Rate Control Bytes"}, |
1100 | { EID_SIAPP_MU_DL_DroppedBufferFullBytes, "SIAPP MU Down Link Dropped Buffer Full Bytes"}, |
1101 | { EID_SIAPP_MU_DL_LostRetriesBytes, "SIAPP MU Down Link Lost Retries Bytes"}, |
1102 | { EID_SIAPP_BP_BSSID, "SIAPP Access Points BSSID"}, |
1103 | { EID_SIAPP_RADIO_ID, "SIAPP Radio ID"}, |
1104 | { EID_SIAPP_MACADDR, "SIAPP Mac Address"}, |
1105 | { EID_SIAPP_PREAUTH_REQ, "SIAPP Preauthentication Request"}, |
1106 | { EID_SIAPP_USER_IDENTITY, "SIAPP Client IDY"}, |
1107 | { EID_SIAPP_LOADBAL_BLOCK, "SIAPP Load Balance block"}, |
1108 | { EID_SIAPP_LOADBAL_PKT_TYPE, "SIAPP Load Balance PKT Type"}, |
1109 | { EID_SIAPP_LOADBAL_LOADGROUP_ID, "SIAPP Load Balance Load Group ID"}, |
1110 | { EID_SIAPP_LOADBAL_LOAD_VALUE, "SIAPP Load Balance Load Value"}, |
1111 | { EID_SIAPP_AC_MGMT_MAC, "SIAPP Controller Management Mac Address"}, |
1112 | { EID_SIAPP_FILTER_COS, "SIAPP Filter Rule COS"}, |
1113 | { EID_COS, "Classes of Service(COS)"}, |
1114 | { EID_RATE_LIMIT_RESOURCE_TBL, "Bandwidth Control Rate Limit Resource Table"}, |
1115 | { EID_UCAST_FILTER_DISABLE, "Unicast Filter Disable Flag"}, |
1116 | { EID_MU_INFORM_REASON, "MU Information"}, |
1117 | { EID_MU_FILTER_POLICY_NAME, "MU Filter Rule Name"}, |
1118 | { EID_MU_TOPOLOGY_POLICY_NAME, "MU Topology Name"}, |
1119 | { EID_MU_COS_POLICY_NAME, "MU COS Name"}, |
1120 | { EID_MU_FILTER_KEY, "MU Filter Rule ID"}, |
1121 | { EID_MU_TOPOLOGY_KEY, "MU Topology ID"}, |
1122 | { EID_MU_COS_KEY, "MU COS ID"}, |
1123 | { EID_MU_SESSION_TIMEOUT, "MU Session Life Time"}, |
1124 | { EID_MU_ACCOUNTING_CLASS, "MU Accounting Class"}, |
1125 | { EID_MU_LOGIN_LAT_PORT, "MU Login authentication state(0 = Non-auth, 1 = Auth)"}, |
1126 | { EID_MU_IDLE_TIMEOUT, "MU Session Idle Timeout"}, |
1127 | { EID_MU_ACCT_INTERIM_INTERVAL, "Client Acct-Interim-Interval(RADIUS)"}, |
1128 | { EID_MU_IP_ADDR, "MU IP Address"}, |
1129 | { EID_MU_TERMINATE_ACTION, "MU Terminate Action"}, |
1130 | { EID_SITE_NAME, "Site Name"}, |
1131 | { EID_PEER_SITE_IP, "Peer Site IP Address"}, |
1132 | { EID_INTERFERENCE_EVENTS_ENABLE, "Interference Events Enable Flag"}, |
1133 | { EID_EVENT_TYPE, "Event Type"}, |
1134 | { EID_EVENT_CHANNEL, "Event Channel"}, |
1135 | { EID_EVENT_VALUE, "Event Value"}, |
1136 | { EID_SSS_MU_BLOCK, "Site Section MU Block"}, |
1137 | { EID_SSS_MU_ASSOC_TIME, "Site Section MU Association Time"}, |
1138 | { EID_SSS_TS64_MU_UPDATE, "Site Section MU Update Time Stamp"}, |
1139 | { EID_SSS_TS64_AP_CURRENT, "Site Section AccessPoint Current Time"}, |
1140 | { EID_SSS_MU_AUTH_STATE, "Site Section MU Authentication State"}, |
1141 | { EID_SSS_AP_HOMEHASH, "Site Section AccessPoint Home Hashed Value"}, |
1142 | { EID_TIME_FIRST_DETECTED, "First Detected Time"}, |
1143 | { EID_TIME_LAST_REPORTED, "Last Reported Time"}, |
1144 | { EID_EVENT_ARRAY, "Array Of Events"}, |
1145 | { EID_SSS_DEFAULT_SESSION_TIMEOUT, "Site Section Default Timeout Time"}, |
1146 | { EID_SSS_SSID, "Site Section SSID"}, |
1147 | { EID_SSS_PRIVACY_TYPE, "Site Section Privacy Type"}, |
1148 | { EID_POLICY_ZONE_NAME, "Policy Zone Name"}, |
1149 | { EID_RU_AC_EVENT_COMPONENT_ID, "Event Component ID"}, |
1150 | { EID_MU_AUTH_STATE, "MU Authentication State"}, |
1151 | { EID_MU_USER_NAME, "MU User Name"}, |
1152 | { EID_BULK_TYPE, "Bulk Type"}, |
1153 | { EID_SENT_TIME, "Sent Time"}, |
1154 | { EID_INFORM_MU_PMK, "Pairwise Master Key Informed From AP"}, |
1155 | { EID_COLLECTOR_IP_ADDR, "Collector IP Address"}, |
1156 | { EID_ARP_PROXY, "Enable/Disable Proxying of ARP Per Topology"}, |
1157 | { EID_MCAST_FILTER_RULES, "Multicast Filter Rules Per Topology"}, |
1158 | { EID_AP_PARAMS, "AP Parameters"}, |
1159 | { EID_ASSOC_SSID_ARRAY, "Array of Associated SSID"}, |
1160 | { EID_ASSOC_SSID_BLOCK, "Block of Associated SSID"}, |
1161 | { EID_AP_LIST_BLOCK, "Bloc of AP List"}, |
1162 | { EID_AP_LIST_ARRAY, "Array of AP List"}, |
1163 | { EID_MAC_ADDR, "MAC Address"}, |
1164 | { EID_SCAN_PROFILE_ID, "Scan Profile ID"}, |
1165 | { EID_ACTION_REQ, "Action Request"}, |
1166 | { EID_CHANNEL_LIST, "Channel List"}, |
1167 | { EID_COUNTERMEASURES_MAX_CH, "CounterMeasures Max Channel"}, |
1168 | { EID_COUNTERMEASURES_SET, "Enable/disable CounterMeasures"}, |
1169 | { EID_SCAN_PROFILE_BLOCK, "Scan Profile Block"}, |
1170 | { EID_SEQ_NUM, "Sequence Number"}, |
1171 | { EID_THREAT_DEF_ARRAY, "Array Of Threat Definition"}, |
1172 | { EID_THREAT_DEF_BLOCK, "Block Of Threat Definition"}, |
1173 | { EID_THREAT_TYPE, "Threat Type"}, |
1174 | { EID_THREAT_ID, "Threat ID"}, |
1175 | { EID_THREAT_STATS_F, "Threat State"}, |
1176 | { EID_THREAT_FR_SFR, "Threat FR SFR"}, |
1177 | { EID_THREAT_PATTERN_ARRAY, "Array Of Threat Pattern"}, |
1178 | { EID_THREAT_PATTERN_BLOCK, "Block Of Threat Pattern"}, |
1179 | { EID_THREAT_PATTERN, "Threat Pattern"}, |
1180 | { EID_THREAT_ALERT_TH_DUR, "Threat Alert"}, |
1181 | { EID_THREAT_CLEAR_TH_DUR, "Threat Clear"}, |
1182 | { EID_THREAT_PRIORITY, "Threat Priority"}, |
1183 | { EID_THREAT_MITIGATION_LIST, "Threat Mitigation List"}, |
1184 | { EID_SSS_MU_IS_PORT_CLOSED, "Enable/Disable Site Section MU Port"}, |
1185 | { EID_FULL_UPDATE, "Full Update"}, |
1186 | { EID_REASON, "Reason"}, |
1187 | { EID_SURVEILLANCE_DATA_ARRAY, "Array of Surveillance Data"}, |
1188 | { EID_SURVEILLANCE_DATA_BLOCK, "Block of Surveillance Data"}, |
1189 | { EID_SCAN_BSSID, "Scan BSSID"}, |
1190 | { EID_PARAMS, "Parameters"}, |
1191 | { EID_SCAN_RSS_RSSI, "Scan RSS and RSSI"}, |
1192 | { EID_SCAN_SSID, "Scan SSID"}, |
1193 | { EID_SCAN_CAP, "Scan Capability"}, |
1194 | { EID_THREAT_CLASSIFICATION, "Threat Classification"}, |
1195 | { EID_THREAT_DATA_ARRAY, "Array Of Threat Data"}, |
1196 | { EID_THREAT_DATA_BLOCK, "Block Of Threat Data"}, |
1197 | { EID_STATE, "State"}, |
1198 | { EID_DROP_FR_CNT, "Drop FR Count"}, |
1199 | { EID_STOP_ROAM_CNT, "Stop ROAM Count"}, |
1200 | { EID_SPOOF_CNT, "Spoof Count"}, |
1201 | { EID_THREAT_CLASSIFY_ARRAY, "Array Of Classify Threat"}, |
1202 | { EID_THREAT_CLASSIFY_BLOCK, "Block Of Classify Threat"}, |
1203 | { EID_THREAT_NAME, "Threat Name"}, |
1204 | { EID_LOCATION, "Location"}, |
1205 | { EID_ENCRYPTION_TYPE, "Encryption Type"}, |
1206 | { EID_MU_EVENT_ARRAY, "Array Of MU Events"}, |
1207 | { EID_MU_EVENT_BLOCK, "Block Of MU Events"}, |
1208 | { EID_COMPONENT_ID, "Component ID"}, |
1209 | { EID_MU_EVENT_STRING, "MU Event String"}, |
1210 | { EID_BYPASS_BMCAST, "Bypass Broadcast and Multicast"}, |
1211 | { EID_GETTIMEOFDAY, "Get Time of Day"}, |
1212 | /* Dedicated scanner / Guardian */ |
1213 | { EID_COUNTRY_ID, "Country ID"}, |
1214 | { EID_COUNTRY_ARRAY, "Array of Country"}, |
1215 | { EID_COUNTRY_BLOCK, "Country Block"}, |
1216 | /* Location Engine */ |
1217 | { EID_MU_EVENT_TYPE, "MU Event Type"}, |
1218 | { EID_LOCATOR_FLOOR_ID, "Floor ID"}, |
1219 | { EID_LOCATOR_LOC_TYPE, "Location Type"}, |
1220 | { EID_LOCATOR_LOC_BLOCK, "Block of Location Data"}, |
1221 | { EID_LOCATOR_LOC_ARRAY, "Array of Location Data"}, |
1222 | { EID_LOCATOR_LOC_POINT, "Location Point"}, |
1223 | { EID_MU_EVENT_DETAILS, "MU Event Details"}, |
1224 | { EID_MU_EVENT_FROM_AP, "MU Event From AP"}, |
1225 | { EID_MU_EVENT_LOC_BLOCK, "Block of MU Location Event"}, |
1226 | { EID_LOCATOR_LOC_AP_DISTANCE, "AP Location Distance"}, |
1227 | { EID_LOCATOR_LOC_PRECISION, "Location Precision"}, |
1228 | { EID_RSS_DATA_ARRAY, "Array of RSS Data"}, |
1229 | { EID_RSS_DATA_BLOCK, "Block of RSS Data"}, |
1230 | { EID_LOCATOR_MU_ACTION, "Location MU Action"}, |
1231 | { EID_EFFECTIVE_EGRESS_VLAN, "Effective Egress Vlan"}, |
1232 | { EID_REBOOT_ACK, "Reboot Acknowledgement"}, |
1233 | { EID_MU_BSSID, "MU BSSID"}, |
1234 | { EID_AUTH_FLAG, "Authentication Flag"}, |
1235 | { EID_ROAMED_FLAG, "ROAMED Flag"}, |
1236 | { EID_MU_RSS, "MU RSS"}, |
1237 | { EID_FILTER_RULES_VER, "Filter Rule Struct Version"}, |
1238 | { EID_FILTER_TYPE, "Filter Rule Type"}, |
1239 | { EID_MCAST_FILTER_BLOCK, "Multicast Filter Rule Block"}, |
1240 | { EID_MCAST_FILTER_BLOCK_ENTRY, "Multicast Filter Rule Block Entry"}, |
1241 | { EID_DEFAULT_ACTION_TYPE, "Default Action Type"}, |
1242 | { EID_DEFAULT_CONTAIN_TO_VLAN, "Default Contain to Vlan Flag"}, |
1243 | { EID_DEFAULT_BRIDGE_MODE, "Default Bridge Mode Flag"}, |
1244 | { EID_INVALID_POLICY, "Invalid Policy Flag"}, |
1245 | { EID_LOCATOR_FLOOR_NAME, "Floor Name"}, |
1246 | { EID_AP_FLAGS, "AP Flags"}, |
1247 | { EID_AP_PVID, "AP PVID"}, |
1248 | { EID_AP_REDIRECT, "AP Redirect Flag"}, |
1249 | { EID_MU_CVLAN_BAP, "AP Contain to Vlan Has Bridge At AP Topology Flag"}, |
1250 | { EID_MU_SESSION_ARRAY, "Array Of MU Session"}, |
1251 | { EID_MU_SESSION_BLOCK, "MU Session Block"}, |
1252 | { EID_MU_SESSION_ID, "MU Session ID"}, |
1253 | { EID_MU_RFS_NAME, "MU RFS Name"}, |
1254 | { EID_MU_FLAGS, "MU Flags"}, |
1255 | { EID_MU_ASSOC_TIME, "MU Associated Time"}, |
1256 | { EID_MU_ACTIVE_TIME, "MU Active Time"}, |
1257 | { EID_REPORT_REQ, "Report Request"}, |
1258 | { EID_MU_URL, "MU Captive Portal Url"}, |
1259 | { EID_MU_SESSION_LIFETIME, "MU Session Life Time"}, |
1260 | { EID_MU_REAUTH_TIMER, "MU Re-Authentication Timer"}, |
1261 | { EID_MU_ACCT_SESSION_ID_STRING, "MU Acct Session ID String"}, |
1262 | { EID_MU_ACCT_POLICY_NAME, "MU Acct Policy Name"}, |
1263 | { EID_MU_ACCT_START_TIME, "MU Acct Start Time"}, |
1264 | { EID_MU_ACCT_CLASS, "MU Acct Class"}, |
1265 | { EID_MU_LOGIN_LAT_GROUP, "MU Login Group"}, |
1266 | { EID_MU_TUNNEL_PRIVATE_GROUP_ID_STRING, "MU Tunnel Private Group ID String"}, |
1267 | { EID_MU_USER_ID_STRING, "MU User ID String"}, |
1268 | { EID_MU_DEFENDED_STATE, "MU Defended State"}, |
1269 | { EID_MU_MOD_MASK, "MU Modulation Mask"}, |
1270 | { EID_LOCATOR_TRACKED, "Locator Tracked"}, |
1271 | { EID_PORT, "Port"}, |
1272 | { EID_RETRIES_COUNT, "Retries Count"}, |
1273 | { EID_MODULATION_TYPE, "Modulation Type"}, |
1274 | { EID_DETECTED_ROGUE_ARRAY, "Array Of Detected Rogue"}, |
1275 | { EID_DETECTED_ROGUE_BLOCK, "Detected Rogue Block"}, |
1276 | { EID_ROGUE_DETECTION, "Rogue Detection"}, |
1277 | { EID_MAC_ADDR_TX, "Tx Mac Address"}, |
1278 | { EID_MAC_ADDR_RX, "Rx Mac Address"}, |
1279 | { EID_IP_ADDR_TX, "Tx IP Address"}, |
1280 | { EID_IP_ADDR_RX, "Rx IP Address"}, |
1281 | { EID_TTL, "TTL"}, |
1282 | { EID_GW_IP_ADDR, "Gateway IP Address"}, |
1283 | { EID_LOCATOR_STATE_DATA, "Location State Data"}, |
1284 | { EID_LOCATOR_POINT_SET, "Location Point Set"}, |
1285 | { EID_FILTER_RULE_FIXED_APP_ID, "Filter Rule Fixed Application ID"}, |
1286 | { EID_FILTER_RULES_EXT_BLOCK, "Filter Rule Extended Block"}, |
1287 | { EID_MU_AREA_BLOCK, "MU Area Block"}, |
1288 | { EID_MU_LOCATION, "MU Location"}, |
1289 | { EID_MU_LOCATION_TS, "MU Location Time Stamp"}, |
1290 | { EID_DNS_IP_ADDR, "DNS IP Address"}, |
1291 | { EID_IN_SERVICE_AP_LIST, "In-Service AP List"}, |
1292 | { EID_OUT_SERVICE_AP_LIST, "Out of Service AP List"}, |
1293 | { EID_LAST_RD_AP, "Last RD AP"}, |
1294 | { EID_ROGUE_INFO, "Rogue Info"}, |
1295 | { EID_MU_IS_FT, "Enable/Disable MU Fast Transition"}, |
1296 | { EID_MU_PMK_R1, "MU Fast Transition Roaming"}, |
1297 | { EID_SIAPP_R0KHID, "SIAPP R0KH ID"}, |
1298 | { EID_SIAPP_R1KHID, "SIAPP R1KH ID"}, |
1299 | { EID_SIAPP_FT_NONCE, "SIAPP Fast Transition Nonce"}, |
1300 | { EID_SIAPP_FT_PMKR0NAME, "SIAPP Fast Transition PMKR0 Name"}, |
1301 | { EID_SIAPP_FT_R1KHID, "SIAPP Fast Transition R1KH ID"}, |
1302 | { EID_SIAPP_FT_S1KHID, "SIAPP Fast Transition S1KH ID"}, |
1303 | { EID_SIAPP_FT_PMKR1, "SIAPP Fast Transition PMKR1"}, |
1304 | { EID_SIAPP_FT_PMKR1NAME, "SIAPP Fast Transition PMKR1 Name"}, |
1305 | { EID_SIAPP_FT_PAIRWISE, "SIAPP Fast Transition Pairwise"}, |
1306 | { EID_SIAPP_FT_LIFETIME, "SIAPP Fast Transition Life Time"}, |
1307 | { EID_MU_POWER_CAP, "MU Power Capable"}, |
1308 | { EID_AREA_NAME, "Area Name"}, |
1309 | { EID_PERIODIC_NEIGHBOUR_REPORT, "Periodic Neighbour Report"}, |
1310 | { EID_TIMESTAMP, "Time Stamp"}, |
1311 | { EID_NEIGHBOUR_ENTRY, "Neighbour Entry"}, |
1312 | { EID_MU_REQ, "MU Request"}, |
1313 | { EID_RU_REQ, "RU Request"}, |
1314 | { EID_NEIGHBOUR_REQ, "Neighbour Request"}, |
1315 | { EID_SSS_FT_ASSOC, "Site Section Fast Transition Association"}, |
1316 | { EID_DEFAULT_MIRRORN, "Enables the First N Packets of a Flow to The Controller"}, |
1317 | { EID_FILTER_RULE_EXT_ACT_FLAGS, "Extension to Filter Rule Definition. Specifies Additional Actions Per Filter Rule"}, |
1318 | { EID_TOPO_GROUP_MAPPING, "Topology Group Mapping"}, |
1319 | { EID_MU_PMK_R0NAME, "MU Pairwise Master Key R0 Name"}, |
1320 | { EID_CUI, "CUI"}, |
1321 | { EID_SSS_CAPINFO, "Site Section CAP Info"}, |
1322 | { EID_SSS_CAPPOWER, "Site Section CAP Power"}, |
1323 | { EID_WFA_VSA, "WFA Vendor Specific Hotspot"}, |
1324 | { EID_WFA_HS20_REMED_METHOD, "Online Signup Method for HS2.0 Remediation"}, |
1325 | { EID_WFA_HS20_URL, "Remediation Server Url for Online Signup In HS2.0"}, |
1326 | { EID_WFA_HS20_DEAUTH_CODE, "WFA HS20 De-Authentication Code"}, |
1327 | { EID_WFA_HS20_REAUTH_DELAY, "WFA HS20 Re-Authentication Delay"}, |
1328 | { EID_WFA_HS20_SWT, "WFA HS20 SWT"}, |
1329 | { EID_POWER_STATUS, "Power Status"}, |
1330 | { EID_IPV6_ADDR, "IPV6 Address"}, |
1331 | { EID_FILTER_RULES_APP_SIG_GROUP_ID, "Filter Rule Application Signature Group ID"}, |
1332 | { EID_FILTER_RULES_APP_SIG_DISP_ID, "Filter Rule Application Signature Display ID"}, |
1333 | { EID_MU_DEV_IDENTITY, "MU Device ID"}, |
1334 | { EID_APPL_STATS_REQ, "Application Rule Stats Request"}, |
1335 | { EID_MU_APPL_STATS_BLOCK, "MU Application Rule Stats Block"}, |
1336 | { EID_TOPOLOGY_ARRAY, "Array of Topologies"}, |
1337 | { EID_TOPOLOGY_STRUCT, "Topology Struct"}, |
1338 | { EID_FILTER_CONFIG_STRUCT, "Filter Rule Configuration Struct"}, |
1339 | { EID_DHCP_HOST_NAME, "DHCP Host Name"}, |
1340 | { EID_NEIGHBOUR_ENTRY_2, "Neighbour Entry 2"}, |
1341 | { EID_CHANNEL_ENTRY, "Channel Entry"}, |
1342 | { EID_MU_ECP_PW, "MU External Captive Portal Password"}, |
1343 | { EID_MU_ECP_TOKEN, "MU External Captive Portal Token"}, |
1344 | { EID_STATIC_VSA_IPADDR, "AP Endpoint on Overlay Network IP Address"}, |
1345 | { EID_STATIC_VSA_NETMASK, "AP Endpoint on Overlay Network IP Mask"}, |
1346 | { EID_PKT_CAPTURE_STATUS, "Packet Capture Status"}, |
1347 | { EID_PKT_CAPTURE_FILTERS, "Packet Capture Filters"}, |
1348 | { EID_PKT_F_WIRELESS, "Enable Packet Capture On Wireless"}, |
1349 | { EID_PKT_F_WIREDCLIENT, "Enable Packet Capture on Wired Client"}, |
1350 | { EID_PKT_F_DIRECTION, "Packet Capture Direction"}, |
1351 | { EID_PKT_F_RADIO, "Packet Capture on Radio"}, |
1352 | { EID_PKT_F_FLAGS, "Packet Capture Flag"}, |
1353 | { EID_PKT_F_IP_ARRAY, "Array of Packet Capture IP Addresses"}, |
1354 | { EID_PKT_F_MAC, "Array of Packet Capture Mac Addresses"}, |
1355 | { EID_PKT_F_PROTOCOL, "Packet Capture On Protocol"}, |
1356 | { EID_PKT_F_PORT, "Packet Capture On Port"}, |
1357 | { EID_VSA_SSID_ID, "VSA SSID ID"}, |
1358 | { EID_MU_AUTH_TYPE, "MU Authentication Type"}, |
1359 | { EID_PKT_F_MAX_PKT_COUNT, "Max Captured Packet Count"}, |
1360 | { EID_PKT_F_FLAG_2, "Packet Capture Flag 2"}, |
1361 | { EID_IMAGE_PORT, "Image Port"}, |
1362 | { EID_FILTER_ROLE_ID, "Filter Rule ID"}, |
1363 | { EID_FILTER_ROLE_TIMESTAMP, "Time Stamp of When Role Was Last Changed"}, |
1364 | { 0, NULL((void*)0) } |
1365 | }; |
1366 | |
1367 | |
1368 | static const TLV_PARSER_ENTRY tlvMainTable[] = |
1369 | { |
1370 | { EID_UNUSED_0, "Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1371 | { EID_STATUS, "Status/Action", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1372 | { EID_RU_SW_VERSION, "Software Version", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1373 | { EID_RU_SERIAL_NUMBER, "Serial Number", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1374 | { EID_RU_REG_CHALLENGE, "Registration Challenge", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1375 | { EID_RU_REG_RESPONSE, "Challenge Response", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1376 | { EID_AC_IPADDR, "Controller IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1377 | { EID_RU_VNSID, "AccessPoint VNS ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1378 | { EID_TFTP_SERVER, "TFTP Server Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1379 | { EID_IMAGE_PATH, "Path/Filename of Upgrade Image", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1380 | { EID_CONFIG, "SNMP Encoded Configuration", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1381 | { EID_RU_STATE, "AccessPoint State", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1382 | { EID_SESSION_KEY, "Binding Key", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1383 | { EID_RU_PROTOCOL, "Message Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1384 | { EID_RANDOM_NUMBER, "Random Number", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1385 | { EID_STANDBY_TIMEOUT, "Standby Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1386 | { EID_RU_CHALLENGE_ID, "AccessPoint Challenge ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1387 | { EID_RU_MODEL, "AccessPoint Model", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1388 | { EID_RU_SCAN_MODE, "AccessPoint Scan Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1389 | { EID_RU_SCAN_TYPE, "AccessPoint Scan Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1390 | { EID_RU_SCAN_INTERVAL, "AccessPoint Scan Interval", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1391 | { EID_RU_RADIO_TYPE, "AccessPoint Radio Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1392 | { EID_RU_CHANNEL_DWELL_TIME, "AccessPoint Channel Dwell Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1393 | { EID_RU_CHANNEL_LIST, "AccessPoint Channel List", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1394 | { EID_RU_TRAP, "AccessPoint Trap", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1395 | { EID_RU_SCAN_TIMES, "AccessPoint Scan Times", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1396 | { EID_RU_SCAN_DELAY, "AccessPoint Scan Delay", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1397 | { EID_RU_SCAN_REQ_ID, "AccessPoint Scan Request ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1398 | { EID_STATIC_CONFIG, "Static Configuration", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1399 | { EID_LOCAL_BRIDGING, "Local Bridging", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1400 | { EID_STATIC_BP_IPADDR, "Static AccessPoint IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1401 | { EID_STATIC_BP_NETMASK, "Static AccessPoint NetMask", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1402 | { EID_STATIC_BP_GATEWAY, "Static AccessPoint Gateway", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1403 | { EID_STATIC_BM_IPADDR, "Static Controller IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1404 | { EID_BP_BPSSID, "AccessPoint BSSID", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1405 | { EID_BP_WIRED_MACADDR, "AccessPoint Wired MAC", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1406 | { EID_RU_CAPABILITY, "AccessPoint Capability", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1407 | { EID_RU_SSID_NAME, "AccessPoint SSID Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1408 | { EID_ALARM, "Alarm", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1409 | { EID_RU_PREAUTH, "AccessPoint Preauthorization", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1410 | { EID_RU_PMK, "AccessPoint Pairwise Master Key", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1411 | { EID_AC_REG_CHALLENGE, "Controller Register Challenge", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1412 | { EID_AC_REG_RESPONSE, "Controller Register Response", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1413 | { EID_STATS, "Stats", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1414 | { EID_CERTIFICATE, "Certificate", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1415 | { EID_RADIO_ID, "Radio ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1416 | { EID_REQ_ID, "Request ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1417 | { EID_NETWORK_ID, "Network ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1418 | { EID_MU_MAC, "MU MAC Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1419 | { EID_TIME, "Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1420 | { EID_NUM_RADIOS, "Number of Radios", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1421 | { EID_RADIO_INFO, "Radio Info", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1422 | { EID_NETWORK_INFO, "Network Info", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1423 | { EID_VENDOR_ID, "Vendor ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1424 | { EID_PRODUCT_ID, "Product ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1425 | { EID_RADIO_INFO_ACK, "Radio Info Acknowledge", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1426 | { EID_SECURE_TUNNEL, " secure tunnel", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1427 | { EID_MU_TOPOLOGY_ID, "MU topology ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1428 | { EID_SSID, "SSID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1429 | { EID_EVENT_BLOCK, "Event Block", TLV_TYPE_BLOCK_TLV7, EVENT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1430 | { EID_SNMP_ERROR_STATUS, "SNMP Error Status", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1431 | { EID_SNMP_ERROR_INDEX, "SNMP Error Index", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1432 | { EID_RU_REAUTH_TIMER, "AccessPoint ReAuthentication Timer", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1433 | { EID_AP_IMG_TO_RAM, "AccessPoint Image Store to RAM", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1434 | { EID_AP_IMG_ROLE, "AccessPoint Image Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1435 | { EID_AP_STATS_BLOCK, "AccessPoint Statistics Block", TLV_TYPE_BLOCK_TLV7, AP_STATS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1436 | { EID_MU_RF_STATS_BLOCK, "AccessPoint RF Statistics Block", TLV_TYPE_BLOCK_TLV7, MU_RF_STATS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1437 | { EID_STATS_REQUEST_TYPE, "AccessPoint Statistics Request Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1438 | { EID_STATS_LAST, "AccessPoint Statistics Last Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1439 | { EID_TLV_CONFIG, "TLV Configuration", TLV_TYPE_BLOCK_TLV7, CONFIG_GLOBAL_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1440 | { EID_CONFIG_ERROR_BLOCK, "AccessPoint Configuration Error Block", TLV_TYPE_BLOCK_TLV7, CONFIG_ERROR_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1441 | { EID_CONFIG_MODIFIED_BLOCK, "AccessPoint Configuration Modified Block", TLV_TYPE_BLOCK_TLV7, CONFIG_ERROR_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1442 | { EID_MU_PMKID_LIST, "MU Pairwise Master Key List", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1443 | { EID_MU_PMK_BP, "MU and AccessPoint Pairwise Master Key", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1444 | { EID_MU_PMKID_BP, "MU and AccessPoint Pairwise Master Key ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1445 | { EID_COUNTDOWN_TIME, "CountDown Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1446 | { EID_WASSP_VLAN_TAG, "VLAN Tag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1447 | { EID_SSID_ID, "SSID(Service Set Identifier)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1448 | { EID_BULK_MU_BLOCK, "Bulk MU Block", TLV_TYPE_BLOCK_TLV7, BULK_MU_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1449 | { EID_MU_BLOCK, "MU Block", TLV_TYPE_BLOCK_TLV7, MU_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1450 | { EID_PORT_OPEN_FLAG, "Port Open Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1451 | { EID_WASSP_TUNNEL_TYPE, "Tunnel Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1452 | { EID_LOG_TYPE, "Log type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1453 | { EID_LOG_FILE, "Log File", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1454 | { EID_ALARM_SEVERITY, "Alarm Severity", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1455 | { EID_ALARM_DESCRIPTION, "Alarm Information", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1456 | { EID_BULK_VNS_BLOCK, "Bulk VNS Block", TLV_TYPE_BLOCK_TLV7, BULK_VNS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1457 | { EID_VNS_BLOCK, "VNS Block", TLV_TYPE_BLOCK_TLV7, VNS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1458 | { EID_AP_DHCP_MODE, "AccessPoint DHCP Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1459 | { EID_AP_IPADDR, "AccessPoint IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1460 | { EID_AP_NETMASK, "AccessPoint IP Netmask", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1461 | { EID_AP_GATEWAY, "AccessPoint IP Gateway", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1462 | { EID_BSSID2IP_BLOCK, "BSSID to IP Address Mapping Block", TLV_TYPE_BLOCK_TLV7, CONFIG_ERROR_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1463 | { EID_RU_BACKUP_VERSION, "AccessPoint Upgrade: Software Version of The Backup Image", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1464 | { EID_AC_SW_VERSION, "AccessPoint Upgrade: Software Version", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1465 | { EID_MCAST_LAMG_LIST, " Multicast Optimization", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1466 | { EID_FILTER_NAME, "Filter Rule Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1467 | { EID_FILTER_RULES, "Array of Filter Rules", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1468 | { EID_AUTH_STATE, "Authentication State( MU Not Authenticate = 0, ANON_AUTHENTICATED=0, MU Authenticated = 1", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1469 | { EID_MU_DISC_AFTER_AUTH, "After Authenticated MU State( Disconnected = 0, Connected = 1", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1470 | { EID_MU_MAC_LIST, "Array of MAC Addresses", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1471 | { EID_TRANS_ID, "Transaction ID of The Message Determined At The Home Controller", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1472 | { EID_TIMEZONE_OFFSET, "Timezone Offset", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1473 | { EID_SENSOR_FORCE_DOWNLOAD, " Force Download of Sensor Image", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1474 | { EID_SENSOR_IMG_VERSION, " Sensor Image Version", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1475 | { EID_BRIDGE_MODE, "Bridge Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1476 | { EID_MU_VLAN_TAG, "MU VLAN Tag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1477 | { EID_RATECTRL_CIR_UL, "Up Link Bandwidth Control: Committed Information Rate (CIR)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1478 | { EID_RATECTRL_CIR_DL, "Down Link Bandwidth Control: Committed Information Rate (CIR)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1479 | { EID_RATECTRL_CBS_UL, "Up Link Bandwidth Control: Committed Burst Size (CBS)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1480 | { EID_RATECTRL_CBS_DL, "Down Link Bandwidth Control: Committed Burst Size (CBS)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1481 | { EID_RATECTRL_NAME_UL, "Up Link Bandwidth Control Profile Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1482 | { EID_RATECTRL_NAME_DL, "Down Link Bandwidth Control Profile Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1483 | { EID_POLICY_NAME, "Policy Profile Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1484 | { EID_SIAPP_PMK_BLOCK, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key Block", TLV_TYPE_BLOCK_TLV7, TAB_SIAPP_PMK_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1485 | { EID_SIAPP_PMKID, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1486 | { EID_SIAPP_PMK_REAUTH, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key ReAuthenticate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1487 | { EID_SIAPP_PMK_LIFETIME, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key Life Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1488 | { EID_SIAPP_PMKID_FLAG, "Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key ID Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1489 | { EID_SIAPP_MU_PMK, "MU Secure Inter-Access Point Protocol(SIAPP) Pairwise Master Key", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1490 | { EID_SIAPP_AP_NAME, "SIAPP AP Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1491 | { EID_SIAPP_RADIO_CONFIG_BLOCK, "SIAPP Radio Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_SIAPP_RADIO_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1492 | { EID_SIAPP_CLUSTER_ACS_REQ, "SIAPP Cluster ACS Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1493 | { EID_SIAPP_SIAPP_MU_STATS_BLOCK, "SIAPP MU Statistics Block", TLV_TYPE_BLOCK_TLV7, TAB_SIAPP_MU_STATS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1494 | { EID_SIAPP_PACKET_RETRIES, "SIAPP Packet Retries", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1495 | { EID_SIAPP_ASSOC_IN_WLAN, "SIAPP MU Association With In Same WLAN", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1496 | { EID_SIAPP_ASSOC_IN_CLUSTER, "SIAPP MU Association With In Same Cluster", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1497 | { EID_SIAPP_REASSOC_IN_CLUSTER, "SIAPP MU Reassociation With In Same Cluster", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1498 | { EID_SIAPP_THIN_BLOCK, "SIAPP Thin Access Points Block", TLV_TYPE_BLOCK_TLV7, TAB_SIAPP_THIN_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1499 | { EID_SIAPP_NEWAP_BSSID, "SIAPP New Access Points BSSID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1500 | { EID_SIAPP_OLDAP_BSSID, "SIAPP Old Access Points BSSID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1501 | { EID_SIAPP_RAD_CACS_REQ, "SIAPP Radio CACS Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1502 | { EID_SIAPP_RADIOBLOCK, "SIAPP Radio Block", TLV_TYPE_BLOCK_TLV7, TAB_SIAPP_MU_STATS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1503 | { EID_SIAPP_CLIENT_COUNT, "SIAPP Client Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1504 | { EID_SIAPP_BLOCK, "SIAPP Block", TLV_TYPE_BLOCK_TLV7, TAB_SIAPP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1505 | { EID_SIAPP_MU_TransmittedFrameCount, "SIAPP MU Transmitted Frame Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1506 | { EID_SIAPP_MU_ReceivedFrameCount, "SIAPP MU Received Frame Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1507 | { EID_SIAPP_MU_TransmittedBytes, "SIAPP MU Transmitted Bytes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1508 | { EID_SIAPP_MU_ReceivedBytes, "SIAPP MU Received Bytes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1509 | { EID_SIAPP_MU_UL_DroppedRateControlPackets, "SIAPP MU Up Link Dropped Rate Control Packets", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1510 | { EID_SIAPP_MU_DL_DroppedRateControlPackets, "SIAPP MU Down Link Dropped Rate Control Packets", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1511 | { EID_SIAPP_MU_DL_DroppedBufferFullPackets, "SIAPP MU Down Link Dropped Buffer Full Packets", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1512 | { EID_SIAPP_MU_DL_LostRetriesPackets, "SIAPP MU Down Link Lost Retries Packets", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1513 | { EID_SIAPP_MU_UL_DroppedRateControlBytes, "SIAPP MU Up Link Dropped Rate Control Bytes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1514 | { EID_SIAPP_MU_DL_DroppedRateControlBytes, "SIAPP MU Down Link Dropped Rate Control Bytes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1515 | { EID_SIAPP_MU_DL_DroppedBufferFullBytes, "SIAPP MU Down Link Dropped Buffer Full Bytes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1516 | { EID_SIAPP_MU_DL_LostRetriesBytes, "SIAPP MU Down Link Lost Retries Bytes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1517 | { EID_SIAPP_BP_BSSID, "SIAPP Access Points BSSID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1518 | { EID_SIAPP_RADIO_ID, "SIAPP Radio ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1519 | { EID_SIAPP_MACADDR, "SIAPP Mac Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1520 | { EID_SIAPP_PREAUTH_REQ, "SIAPP Preauthentication Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1521 | { EID_SIAPP_USER_IDENTITY, "SIAPP Client ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1522 | { EID_SIAPP_LOADBAL_BLOCK, "SIAPP Load Balance Block", TLV_TYPE_BLOCK_TLV7, CONFIG_ERROR_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1523 | { EID_SIAPP_LOADBAL_PKT_TYPE, "SIAPP Load Balance PKT Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1524 | { EID_SIAPP_LOADBAL_LOADGROUP_ID, "SIAPP Load Balance Load Group ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1525 | { EID_SIAPP_LOADBAL_LOAD_VALUE, "SIAPP Load Balance Load Value", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1526 | { EID_SIAPP_AC_MGMT_MAC, "SIAPP Controller Management Mac Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1527 | { EID_SIAPP_FILTER_COS, "SIAPP Filter Rule COS", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1528 | { EID_COS, "Classes of Service(COS)", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1529 | { EID_RATE_LIMIT_RESOURCE_TBL, "Bandwidth Control Rate Limit Resource Table", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1530 | { EID_UCAST_FILTER_DISABLE, "Unicast Filter Disable Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1531 | { EID_MU_INFORM_REASON, "MU Information", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1532 | { EID_MU_FILTER_POLICY_NAME, "MU Filter Rule Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1533 | { EID_MU_TOPOLOGY_POLICY_NAME, "MU Topology Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1534 | { EID_MU_COS_POLICY_NAME, "MU COS Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1535 | { EID_MU_FILTER_KEY, "MU Filter Rule ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1536 | { EID_MU_TOPOLOGY_KEY, "MU Topology ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1537 | { EID_MU_COS_KEY, "MU COS ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1538 | { EID_MU_SESSION_TIMEOUT, "MU Session Life Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1539 | { EID_MU_ACCOUNTING_CLASS, "MU Accounting Class", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1540 | { EID_MU_LOGIN_LAT_PORT, "MU Login authentication state(0 = Non-auth, 1 = Auth)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1541 | { EID_MU_IDLE_TIMEOUT, "MU Session Idle Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1542 | { EID_MU_ACCT_INTERIM_INTERVAL, "Client Acct-Interim-Interval(RADIUS)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1543 | { EID_MU_IP_ADDR, "MU IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1544 | { EID_MU_TERMINATE_ACTION, "MU Terminate Action", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1545 | { EID_SITE_NAME, "Site Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1546 | { EID_PEER_SITE_IP, "Peer Site IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1547 | { EID_INTERFERENCE_EVENTS_ENABLE, "Interference Events Enable Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1548 | { EID_EVENT_TYPE, "Event Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1549 | { EID_EVENT_CHANNEL, " Event Channel", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1550 | { EID_EVENT_VALUE, "Event Value", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1551 | { EID_SSS_MU_BLOCK, "Site Section MU Block", TLV_TYPE_BLOCK_TLV7, TAB_SSS_MU_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1552 | { EID_SSS_MU_ASSOC_TIME, "Site Section MU Association Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1553 | { EID_SSS_TS64_MU_UPDATE, "Site Section MU Update Time Stamp", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1554 | { EID_SSS_TS64_AP_CURRENT, "Site Section AccessPoint Current Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1555 | { EID_SSS_MU_AUTH_STATE, "Site Section MU Authentication State", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1556 | { EID_SSS_AP_HOMEHASH, "Site Section AccessPoint Home Hashed Value", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1557 | { EID_TIME_FIRST_DETECTED, "First Detected Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1558 | { EID_TIME_LAST_REPORTED, "Last Reported Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1559 | { EID_EVENT_ARRAY, "Array Of Events", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1560 | { EID_SSS_DEFAULT_SESSION_TIMEOUT, "Site Section Default Timeout Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1561 | { EID_SSS_SSID, "Site Section SSID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1562 | { EID_SSS_PRIVACY_TYPE, "Site Section Privacy Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1563 | { EID_POLICY_ZONE_NAME, "Policy Zone Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1564 | { EID_RU_AC_EVENT_COMPONENT_ID, "Event Component ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1565 | { EID_MU_AUTH_STATE, "MU Authentication State", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1566 | { EID_MU_USER_NAME, "MU User Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1567 | { EID_BULK_TYPE, "Bulk Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1568 | { EID_SENT_TIME, "Sent Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1569 | { EID_INFORM_MU_PMK, "Pairwise Master Key Informed From AP", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1570 | { EID_COLLECTOR_IP_ADDR, "Collector IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0 }, |
1571 | { EID_ARP_PROXY, "Enable/Disable Proxying of ARP Per Topology", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1572 | { EID_MCAST_FILTER_RULES, "Multicast Filter Rules Per Topology", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1573 | { EID_AP_PARAMS, "AP Parameters", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1574 | { EID_ASSOC_SSID_ARRAY, "Array of Associated SSID", TLV_TYPE_BLOCK_TLV7, TAB_ASSOC_SSID_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1575 | { EID_ASSOC_SSID_BLOCK, "Block of Associated SSID", TLV_TYPE_BLOCK_TLV7, TAB_ASSOC_SSID_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1576 | { EID_AP_LIST_BLOCK, "Bloc of AP List", TLV_TYPE_BLOCK_TLV7, TAB_AP_LIST_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1577 | { EID_AP_LIST_ARRAY, " Array of AP List", TLV_TYPE_BLOCK_TLV7, TAB_AP_LIST_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1578 | { EID_MAC_ADDR, "MAC Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1579 | { EID_SCAN_PROFILE_ID, "Scan Profile ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1580 | { EID_ACTION_REQ, "Action Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1581 | { EID_CHANNEL_LIST, "Channel List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1582 | { EID_COUNTERMEASURES_MAX_CH, "CounterMeasures Max Channel", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1583 | { EID_COUNTERMEASURES_SET, "Enable/disable CounterMeasures", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1584 | { EID_SCAN_PROFILE_BLOCK, "Scan Profile Block", TLV_TYPE_BLOCK_TLV7, TAB_SCAN_PROFILE_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1585 | { EID_SEQ_NUM, "Sequence Number", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1586 | { EID_THREAT_DEF_ARRAY, "Array Of Threat Definition", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_DEF_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1587 | { EID_THREAT_DEF_BLOCK, "Block Of Threat Definition", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_DEF_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1588 | { EID_THREAT_TYPE, "Threat Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1589 | { EID_THREAT_ID, "Threat ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1590 | { EID_THREAT_STATS_F, "Threat State", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1591 | { EID_THREAT_FR_SFR, "Threat FR SFR", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1592 | { EID_THREAT_PATTERN_ARRAY, "Array Of Threat Pattern", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_PATTERN_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1593 | { EID_THREAT_PATTERN_BLOCK, "Block Of Threat Pattern", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_PATTERN_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1594 | { EID_THREAT_PATTERN, "Threat Pattern", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1595 | { EID_THREAT_ALERT_TH_DUR, "Threat Alert", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1596 | { EID_THREAT_CLEAR_TH_DUR, "Threat Clear", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1597 | { EID_THREAT_PRIORITY, "Threat Priority", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1598 | { EID_THREAT_MITIGATION_LIST, "Threat Mitigation List", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1599 | { EID_SSS_MU_IS_PORT_CLOSED, "Enable/Disable Site Section MU Port", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1600 | { EID_FULL_UPDATE, "Full Update", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1601 | { EID_REASON, "Reason", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1602 | { EID_SURVEILLANCE_DATA_ARRAY, "Array of Surveillance Data", TLV_TYPE_BLOCK_TLV7, TAB_SURVEILLANCE_DATA_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1603 | { EID_SURVEILLANCE_DATA_BLOCK, "Block of Surveillance Data", TLV_TYPE_BLOCK_TLV7, TAB_SURVEILLANCE_DATA_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1604 | { EID_SCAN_BSSID, "Scan BSSID", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1605 | { EID_PARAMS, "Parameters", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1606 | { EID_SCAN_RSS_RSSI, "Scan RSS and RSSI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1607 | { EID_SCAN_SSID, "Scan SSID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1608 | { EID_SCAN_CAP, "Scan Capability", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1609 | { EID_THREAT_CLASSIFICATION, "Threat Classification", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1610 | { EID_THREAT_DATA_ARRAY, "Array Of Threat Data", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_DATA_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1611 | { EID_THREAT_DATA_BLOCK, "Block Of Threat Data", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_DATA_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1612 | { EID_STATE, "State", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1613 | { EID_DROP_FR_CNT, "Drop FR Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1614 | { EID_STOP_ROAM_CNT, "Stop ROAM Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1615 | { EID_SPOOF_CNT, "Spoof Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1616 | { EID_THREAT_CLASSIFY_ARRAY, "Array Of Classify Threat", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_CLASSIFY_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1617 | { EID_THREAT_CLASSIFY_BLOCK, "Block Of Classify Threat", TLV_TYPE_BLOCK_TLV7, TAB_THREAT_CLASSIFY_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1618 | { EID_THREAT_NAME, "Threat Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1619 | { EID_LOCATION, "Location", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1620 | { EID_ENCRYPTION_TYPE, "Encryption Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1621 | { EID_MU_EVENT_ARRAY, "Array Of MU Events", TLV_TYPE_BLOCK_TLV7, TAB_MU_EVENT_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1622 | { EID_MU_EVENT_BLOCK, "Block Of MU Events", TLV_TYPE_BLOCK_TLV7, TAB_MU_EVENT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1623 | { EID_COMPONENT_ID, "Component ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1624 | { EID_MU_EVENT_STRING, "MU Event String", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1625 | { EID_BYPASS_BMCAST, "Bypass Broadcast and Multicast", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1626 | { EID_GETTIMEOFDAY, "Get Time of Day", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1627 | { EID_COUNTRY_ID, "Country ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1628 | { EID_COUNTRY_ARRAY, "Array of Country", TLV_TYPE_BLOCK_TLV7, TAB_COUNTRY_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1629 | { EID_COUNTRY_BLOCK, "Country Block", TLV_TYPE_BLOCK_TLV7, TAB_COUNTRY_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1630 | { EID_MU_EVENT_TYPE, "MU Event Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1631 | { EID_LOCATOR_FLOOR_ID, "Floor ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1632 | { EID_LOCATOR_LOC_TYPE, "Location Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1633 | { EID_LOCATOR_LOC_BLOCK, "Block of Location Data", TLV_TYPE_BLOCK_TLV7, TAB_LOCATOR_LOC_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1634 | { EID_LOCATOR_LOC_ARRAY, "Array of Location Data", TLV_TYPE_BLOCK_TLV7, TAB_LOCATOR_LOC_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1635 | { EID_LOCATOR_LOC_POINT, "Location Point", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1636 | { EID_MU_EVENT_DETAILS, "MU Event Details", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1637 | { EID_MU_EVENT_FROM_AP, "MU Event From AP", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1638 | { EID_MU_EVENT_LOC_BLOCK, "Block of MU Location Event", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1639 | { EID_LOCATOR_LOC_AP_DISTANCE, "AP Location Distance", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1640 | { EID_LOCATOR_LOC_PRECISION, "Location Precision", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1641 | { EID_RSS_DATA_ARRAY, "Array of RSS Data", TLV_TYPE_BLOCK_TLV7, TAB_RSS_DATA_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1642 | { EID_RSS_DATA_BLOCK, "Block of RSS Data", TLV_TYPE_BLOCK_TLV7, TAB_RSS_DATA_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1643 | { EID_LOCATOR_MU_ACTION, "Location MU Action", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1644 | { EID_EFFECTIVE_EGRESS_VLAN, "Effective Egress Vlan", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1645 | { EID_REBOOT_ACK, "Reboot Acknowledgement", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1646 | { EID_MU_BSSID, "MU BSSID", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1647 | { EID_AUTH_FLAG, "Authentication Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1648 | { EID_ROAMED_FLAG, "ROAMED Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1649 | { EID_MU_RSS, "MU RSS", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1650 | { EID_FILTER_RULES_VER, "Filter Rule Struct Version", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1651 | { EID_FILTER_TYPE, "Filter Rule Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1652 | { EID_MCAST_FILTER_BLOCK, "Multicast Filter Rule Block", TLV_TYPE_BLOCK_TLV7, TAB_MCAST_FILTER_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1653 | { EID_MCAST_FILTER_BLOCK_ENTRY, "Multicast Filter Rule Block Entry", TLV_TYPE_BLOCK_TLV7, TAB_MCAST_FILTER_BLOCK_ENTRY, 0, 0, 0, 0, 0, 0, 0}, |
1654 | { EID_DEFAULT_ACTION_TYPE, "Default Action Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1655 | { EID_DEFAULT_CONTAIN_TO_VLAN, "Default Contain to Vlan Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1656 | { EID_DEFAULT_BRIDGE_MODE, "Default Bridge Mode Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1657 | { EID_INVALID_POLICY, "Invalid Policy Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1658 | { EID_LOCATOR_FLOOR_NAME, "Floor Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1659 | { EID_AP_FLAGS, "AP Flags", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1660 | { EID_AP_PVID, "AP PVID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1661 | { EID_AP_REDIRECT, "AP Redirect Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1662 | { EID_MU_CVLAN_BAP, "AP Contain to Vlan Has Bridge At AP Topology Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1663 | { EID_MU_SESSION_ARRAY, "Array Of MU Session", TLV_TYPE_BLOCK_TLV7, TAB_MU_SESSION_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1664 | { EID_MU_SESSION_BLOCK, "MU Session Block", TLV_TYPE_BLOCK_TLV7, TAB_MU_SESSION_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1665 | { EID_MU_SESSION_ID, "MU Session ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1666 | { EID_MU_RFS_NAME, "MU RFS Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1667 | { EID_MU_FLAGS, "MU Flags", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1668 | { EID_MU_ASSOC_TIME, "MU Associated Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1669 | { EID_MU_ACTIVE_TIME, "MU Actived Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1670 | { EID_REPORT_REQ, "Report Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1671 | { EID_MU_URL, "MU Captive Portal Url", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1672 | { EID_MU_SESSION_LIFETIME, "MU Session Life Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1673 | { EID_MU_REAUTH_TIMER, "MU Re-Authentication Timer", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1674 | { EID_MU_ACCT_SESSION_ID_STRING, "MU Acct Session ID String", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1675 | { EID_MU_ACCT_POLICY_NAME, "MU Acct Policy Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1676 | { EID_MU_ACCT_START_TIME, "MU Acct Start Time", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1677 | { EID_MU_ACCT_CLASS, "MU Acct Class", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1678 | { EID_MU_LOGIN_LAT_GROUP, "MU Login Group", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1679 | { EID_MU_TUNNEL_PRIVATE_GROUP_ID_STRING, "MU Tunnel Private Group ID String", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1680 | { EID_MU_USER_ID_STRING, "MU User ID String", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1681 | { EID_MU_DEFENDED_STATE, "MU Defended State", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1682 | { EID_MU_MOD_MASK, "MU Modulation Maske", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1683 | { EID_LOCATOR_TRACKED, "Locator Tracked", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1684 | { EID_PORT, "Port", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1685 | { EID_RETRIES_COUNT, "Retries Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1686 | { EID_MODULATION_TYPE, "Modulation Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1687 | { EID_DETECTED_ROGUE_ARRAY, "Array Of Detected Rogue", TLV_TYPE_BLOCK_TLV7, TAB_DETECTED_ROGUE_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
1688 | { EID_DETECTED_ROGUE_BLOCK, "Detected Rogue Block", TLV_TYPE_BLOCK_TLV7, TAB_DETECTED_ROGUE_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1689 | { EID_ROGUE_DETECTION, "Rogue Detection", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1690 | { EID_MAC_ADDR_TX, "Tx Mac Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1691 | { EID_MAC_ADDR_RX, "Rx Mac Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1692 | { EID_IP_ADDR_TX, "Tx IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1693 | { EID_IP_ADDR_RX, "Rx IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1694 | { EID_TTL, "TTL", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1695 | { EID_GW_IP_ADDR, "Gateway IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1696 | { EID_LOCATOR_STATE_DATA, "Location State Data", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1697 | { EID_LOCATOR_POINT_SET, "Location Point Set", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1698 | { EID_FILTER_RULE_FIXED_APP_ID, "Filter Rule Fixed Application ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1699 | { EID_FILTER_RULES_EXT_BLOCK, "Filter Rule Extended Block", TLV_TYPE_BLOCK_TLV7, TAB_FILTER_RULES_EXT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1700 | { EID_MU_AREA_BLOCK, "MU Area Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1701 | { EID_MU_LOCATION, "MU Location", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1702 | { EID_MU_LOCATION_TS, "MU Location Time Stamp", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1703 | { EID_DNS_IP_ADDR, "DNS IP Address", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1704 | { EID_IN_SERVICE_AP_LIST, "In-Service AP List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1705 | { EID_OUT_SERVICE_AP_LIST, "Out of Service AP List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1706 | { EID_LAST_RD_AP, "Last RD AP", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1707 | { EID_ROGUE_INFO, "Rogue Info", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1708 | { EID_MU_IS_FT, "Enable/Disable MU Fast Transition", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1709 | { EID_MU_PMK_R1, "MU Fast Transition Roaming", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1710 | { EID_SIAPP_R0KHID, "SIAPP R0KH ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1711 | { EID_SIAPP_R1KHID, "SIAPP R1KH ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1712 | { EID_SIAPP_FT_NONCE, "SIAPP Fast Transition Nonce", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1713 | { EID_SIAPP_FT_PMKR0NAME, "SIAPP Fast Transition PMKR0 Name", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1714 | { EID_SIAPP_FT_R1KHID, "SIAPP Fast Transition R1KH ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1715 | { EID_SIAPP_FT_S1KHID, "SIAPP Fast Transition S1KH ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1716 | { EID_SIAPP_FT_PMKR1, "SIAPP Fast Transition PMKR1", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1717 | { EID_SIAPP_FT_PMKR1NAME, "SIAPP Fast Transition PMKR1 Name", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1718 | { EID_SIAPP_FT_PAIRWISE, "SIAPP Fast Transition Pairwise", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1719 | { EID_SIAPP_FT_LIFETIME, "SIAPP Fast Transition Life Time", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1720 | { EID_MU_POWER_CAP, "MU Power Capable", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1721 | { EID_AREA_NAME, "Area Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1722 | { EID_PERIODIC_NEIGHBOUR_REPORT, "Periodic Neighbour Report", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1723 | { EID_TIMESTAMP, "Time Stamp", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1724 | { EID_NEIGHBOUR_ENTRY, "Neighbour Entry", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1725 | { EID_MU_REQ, "MU Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1726 | { EID_RU_REQ, "RU Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1727 | { EID_NEIGHBOUR_REQ, "Neighbour Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1728 | { EID_SSS_FT_ASSOC, "Site Section Fast Transition Association", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1729 | { EID_DEFAULT_MIRRORN, "Enables the First N Packets of a Flow to The Controller", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1730 | { EID_FILTER_RULE_EXT_ACT_FLAGS, "Extension to Filter Rule Definition. Specifies Additional Actions Per Filter Rule", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1731 | { EID_TOPO_GROUP_MAPPING, "Topology Group Mapping", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1732 | { EID_MU_PMK_R0NAME, "MU Pairwise Master Key R0 Name", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1733 | { EID_CUI, "CUI", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1734 | { EID_SSS_CAPINFO, "Site Section CAP Info", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1735 | { EID_SSS_CAPPOWER, "Site Section CAP Power", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1736 | { EID_WFA_VSA, "WFA Vendor Specific Hotspot", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1737 | { EID_WFA_HS20_REMED_METHOD, "Online Signup Method for HS2.0 Remediation", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1738 | { EID_WFA_HS20_URL, "Remediation Server Url for Online Signup In HS2.0", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1739 | { EID_WFA_HS20_DEAUTH_CODE, "WFA HS20 De-Authentication Code", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1740 | { EID_WFA_HS20_REAUTH_DELAY, "WFA HS20 Re-Authentication Delay", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1741 | { EID_WFA_HS20_SWT, "WFA HS20 SWT", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1742 | { EID_POWER_STATUS, "Power Status", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1743 | { EID_IPV6_ADDR, "IPV6 Address", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1744 | { EID_FILTER_RULES_APP_SIG_GROUP_ID, "Filter Rule Application Signature Group ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1745 | { EID_FILTER_RULES_APP_SIG_DISP_ID, "Filter Rule Application Signature Display ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1746 | { EID_MU_DEV_IDENTITY, "MU Device ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1747 | { EID_APPL_STATS_REQ, "Application Rule Stats Request", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1748 | { EID_MU_APPL_STATS_BLOCK, "MU Application Rule Stats Block", TLV_TYPE_BLOCK_TLV7, TAB_MU_APPL_STATS_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1749 | { EID_TOPOLOGY_ARRAY, "Array of Topologies", TLV_TYPE_BLOCK_TLV7, TAB_TOPOLOGY_ARRAY_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1750 | { EID_TOPOLOGY_STRUCT, "Topology Struct", TLV_TYPE_BLOCK_TLV7, TAB_TOPOLOGY_STRUCT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1751 | { EID_FILTER_CONFIG_STRUCT, "Filter Rule Configuration Struct", TLV_TYPE_BLOCK_TLV7, TAB_FILTER_CONFIG_STRUCT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1752 | { EID_DHCP_HOST_NAME, "DHCP Host Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1753 | { EID_NEIGHBOUR_ENTRY_2, "Neighbour Entry 2", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1754 | { EID_CHANNEL_ENTRY, "Channel Entry", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1755 | { EID_MU_ECP_PW, "MU External Captive Portal Password", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1756 | { EID_MU_ECP_TOKEN, "MU External Captive Portal Token", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1757 | { EID_STATIC_VSA_IPADDR, "AP Endpoint on Overlay Network IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1758 | { EID_STATIC_VSA_NETMASK, "AP Endpoint on Overlay Network IP Mask", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
1759 | { EID_PKT_CAPTURE_STATUS, "Packet Capture Status", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1760 | { EID_PKT_CAPTURE_FILTERS, "Packet Capture Filters", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1761 | { EID_PKT_F_WIRELESS, "Enable Packet Capture On Wireless", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1762 | { EID_PKT_F_WIREDCLIENT, "Enable Packet Capture on Wired Client", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1763 | { EID_PKT_F_DIRECTION, "Packet Capture Direction", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1764 | { EID_PKT_F_RADIO, "Packet Capture on Radio", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1765 | { EID_PKT_F_FLAGS, "Packet Capture Flag", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1766 | { EID_PKT_F_IP_ARRAY, "Array of Packet Capture IP Addresses", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1767 | { EID_PKT_F_MAC, "Array of Packet Capture Mac Addresses", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
1768 | { EID_PKT_F_PROTOCOL, "Packet Capture On Protocol", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1769 | { EID_PKT_F_PORT, "Packet Capture On Port", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1770 | { EID_VSA_SSID_ID, "VSA SSID ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1771 | { EID_MU_AUTH_TYPE, "MU Authentication Type", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1772 | { EID_PKT_F_MAX_PKT_COUNT, "Max Captured Packet Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1773 | { EID_PKT_F_FLAG_2, "Packet Capture Flag 2", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1774 | { EID_IMAGE_PORT, "Image Port", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1775 | { EID_FILTER_ROLE_ID, " Filter Rule ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1776 | { EID_FILTER_ROLE_TIMESTAMP, " Time Stamp of When Role Was Last Changed", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1777 | { EID_MAX, "EID_MAX", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0} |
1778 | }; |
1779 | |
1780 | |
1781 | |
1782 | |
1783 | |
1784 | typedef enum |
1785 | { |
1786 | EID_CONFIG_UNUSED_0 = 0, |
1787 | EID_RADIO_CONFIG_BLOCK, |
1788 | EID_VNS_CONFIG_BLOCK, |
1789 | EID_AP_ROLE, |
1790 | EID_LOC_ACTION_REQ, |
1791 | EID_TRACE_STATUS_DEBUG, |
1792 | EID_TRACE_STATUS_CONFIG, |
1793 | EID_MIC_ERR, |
1794 | EID_USE_BCAST_FOR_DISASSC, |
1795 | EID_BANDWIDTH_VOICE_ASSC, |
1796 | EID_BANDWIDTH_VOICE_REASSC, |
1797 | EID_BANDWIDTH_VIDEO_ASSC, |
1798 | EID_BANDWIDTH_VIDEO_REASSC, |
1799 | EID_BANDWIDTH_VIDEO_RESERVE, |
1800 | EID_BANDWIDTH_ADM_CTRL_RESERVE, |
1801 | EID_VLAN_TAG, |
1802 | EID_COUNTRY_CODE, |
1803 | EID_POLL_DURATION, |
1804 | EID_POLL_INTERVAL, |
1805 | EID_LOC_AUTO_COLLECT_ENABLE, |
1806 | EID_POLL_MAINTAIN_CLIENT_SESSION, |
1807 | EID_TELNET_ENABLE, |
1808 | EID_TELNET_PASSWORD, |
1809 | EID_TELNET_PASSWORD_ENTRY_MODE, |
1810 | EID_OUTDOOR_ENABLE, |
1811 | EID_ON_DEMAND_ARRAY, |
1812 | EID_LAG_ENABLED, |
1813 | EID_APP_POLICY_FIXED_BLOCK, |
1814 | EID_SLP_RETRY_COUNT, |
1815 | EID_SLP_RETRY_DELAY, |
1816 | EID_DNS_RETRY_COUNT, |
1817 | EID_DNS_RETRY_DELAY, |
1818 | EID_MCAST_SLP_RETRY_COUNT, |
1819 | EID_MCAST_SLP_RETRY_DELAY, |
1820 | EID_DISC_RETRY_COUNT, |
1821 | EID_DISC_RETRY_DELAY, |
1822 | EID_LOGGING_ALARM_SEV, |
1823 | EID_BLACKLIST_ADD, |
1824 | EID_FAILOVER_AC_IP_ADDR, |
1825 | EID_STATIC_AC_IP_ADDR, |
1826 | EID_DHCP_ASSIGNMENT, |
1827 | EID_STATIC_AP_IP_ADDR, |
1828 | EID_STATIC_AP_IP_NETMASK, |
1829 | EID_STATIC_AP_DEFAULT_GW, |
1830 | EID_BLACKLIST_DEL, |
1831 | EID_MACADDR_REQ, |
1832 | EID_AVAILABILITY_MODE, |
1833 | EID_AP_PERSISTENCE, |
1834 | EID_FOREIGN_AP, |
1835 | EID_SUPP1X_CREDENTIAL_REMOVE, |
1836 | EID_SUPP1X_CERT_TFTP_IP, |
1837 | EID_SUPP1X_CERT_TFTP_PATH, |
1838 | EID_SUPP1X_PRIVATE, |
1839 | EID_SUPP1X_DOMAIN, |
1840 | EID_SUPP1X_USERID, |
1841 | EID_SUPP1X_PASSWORD, |
1842 | EID_SUPP1X_CREDENT, |
1843 | EID_SUPP1X_SERIAL, |
1844 | EID_SUPP1X_START_DATE, |
1845 | EID_SUPP1X_END_DATE, |
1846 | EID_SUPP1X_ISSUED_BY, |
1847 | EID_SUPP1X_ISSUED_TO, |
1848 | EID_SUPP1X_SUBJALTNAME, |
1849 | EID_NOT_USED_CONFIG_TLV_63, |
1850 | EID_FAILOVER_AC_HOME_IP_ADDR, |
1851 | EID_FAILOVER_AC_FOREIGN_IP_ADDR, |
1852 | EID_AP_HOSTNAME, |
1853 | EID_LLDP_ENABLED, |
1854 | EID_LLDP_TTL, |
1855 | EID_LLDP_ANNOUNCEMENT_INT, |
1856 | EID_LLDP_ANNOUNCEMENT_DELAY, |
1857 | EID_VOWIFI_EXPIRATION_TIME, |
1858 | EID_MOBILITY_SHARED_KEY, |
1859 | EID_CHANNEL_REPORT_2_4G, |
1860 | EID_CHANNEL_REPORT_5G, |
1861 | EID_RATE_CONTROL_BLOCK, |
1862 | EID_AP_DNS, |
1863 | EID_STATIC_MTU, |
1864 | EID_MACFILTER_MODE, |
1865 | EID_SITE_CONFIG_BLOCK, |
1866 | EID_TOPOLOGY_BLOCK, |
1867 | EID_AP_NAME, |
1868 | EID_ANTENNA_MODELS, |
1869 | EID_AIRTIME_FAIRNESS_LEVEL, |
1870 | EID_VLAN_DEFAULT, |
1871 | EID_CLUSTER_PASSWORD, |
1872 | EID_SIAPP_PRIVACY, |
1873 | EID_LED_STATUS, |
1874 | EID_LBS_SRC_IP, |
1875 | EID_LBS_SRC_PORT, |
1876 | EID_LBS_DST_IP, |
1877 | EID_LBS_DST_PORT, |
1878 | EID_LBS_MCAST, |
1879 | EID_LBS_TAG_MODE, |
1880 | EID_ETH_PORT_MODE, |
1881 | EID_INTER_AP_ROAM, |
1882 | EID_MGMT_MAC, |
1883 | EID_REAL_CAPTURE_TIMEOUT, |
1884 | EID_POLICY_BLOCK, |
1885 | EID_FILTER_CONFIG_BLOCK, |
1886 | EID_COS_CONFIG_BLOCK, |
1887 | EID_LOCATION_BASED_LOOKUP_BLOCK, |
1888 | EID_RADIUS_SERVER_BLOCK, |
1889 | EID_DISC_RETRY_DELAY_WOUI_ADD, |
1890 | EID_DISC_RETRY_DELAY_WOUI_DEL, |
1891 | EID_SNIFFER_RADIO_BITMAP, |
1892 | EID_MCAST_ASSEMB, |
1893 | EID_JUMBO_FRAME, |
1894 | EID_DYN_ON_DEMAND_ARRAY, |
1895 | EID_BANDWIDTH_BE_ASSC, |
1896 | EID_BANDWIDTH_BE_REASSC, |
1897 | EID_BANDWIDTH_BK_ASSC, |
1898 | EID_BANDWIDTH_BK_REASSC, |
1899 | EID_NETFLOW_EXPORT_INTERVAL, |
1900 | EID_MIRRORN_PACKETS, |
1901 | EID_ICON_NAME, |
1902 | EID_ICON_FILE, |
1903 | EID_ICON_BLOCK, |
1904 | EID_BOARD_STATUS, |
1905 | EID_CP_MU_AUTO_LOGIN, |
1906 | EID_EXTAPP_CONF_BLOCK, |
1907 | EID_RB_REDIRECT, |
1908 | EID_RB_REDIRECT_PORTS, |
1909 | EID_S_TOPOLOGY_ARRAY, |
1910 | EID_S_TOPOLOGY_STRUCT, |
1911 | EID_S_TOPOLOGY_KEY, |
1912 | EID_S_TOPOLOGY_VLAN_TAG, |
1913 | EID_S_TOPOLOGY_ARP_PROXY, |
1914 | EID_S_TOPO_MCAST_FILTER_CONFIG_BLOCK, |
1915 | EID_MCAST_PRIORITIZED_VOICE, |
1916 | EID_IOT_CONTROL, |
1917 | EID_IOT_APPLICATION_ID, |
1918 | EID_AP_LOCATION, |
1919 | EID_IOT_ADMIN, |
1920 | EID_IOT_IMAGE, |
1921 | EID_IOT_BLE_ADVERTISE_INTERVAL, |
1922 | EID_IOT_BLE_ADVERTISE_POWER, |
1923 | EID_IOT_IBEACON_MAJOR, |
1924 | EID_IOT_IBEACON_MINOR, |
1925 | EID_IOT_IBEACON_UUID, |
1926 | EID_STATIC_ADSP_IP_ADDR, |
1927 | EID_OBSS_CHAN_ADJ_ACTIVE, |
1928 | EID_IOT_BLE_SCAN_SRC_IP, |
1929 | EID_IOT_BLE_SCAN_SRC_PORT, |
1930 | EID_IOT_BLE_SCAN_DST_IP, |
1931 | EID_IOT_BLE_SCAN_DST_PORT, |
1932 | EID_IOT_BLE_SCAN_INTERVAL, |
1933 | EID_IOT_BLE_SCAN_WINDOW, |
1934 | EID_IOT_BLE_SCAN_MIN_RSSI, |
1935 | EID_LISENSE_SERVER, |
1936 | EID_LISENSE_MIN_RSSI, |
1937 | EID_LISENSE_REP_FREQ, |
1938 | EID_DPI_SIG_HASH, |
1939 | EID_ANT_MODELS_IOT, |
1940 | EID_FABRICATTACH_ARRAY, |
1941 | EID_IOT_THREAD_CHANNEL, |
1942 | EID_IOT_THREAD_FACTORY_RESET, |
1943 | EID_IOT_THREAD_SHORT_PAN_ID, |
1944 | EID_IOT_THREAD_SHORT_EUI, |
1945 | EID_IOT_THREAD_PSKD, |
1946 | EID_IOT_THREAD_MASTER_KEY, |
1947 | EID_IOT_THREAD_NWK_NAME, |
1948 | EID_IOT_THREAD_COMM_CREDENTIAL, |
1949 | EID_IOT_THREAD_LONG_EUI, |
1950 | EID_IOT_THREAD_EXTENDED_PAN_ID, |
1951 | EID_AP_VSA_SSID_ID, |
1952 | EID_AP_STATIC_VSA_IPADDR, |
1953 | EID_AP_STATIC_VSA_NETMASK, |
1954 | EID_IOT_BLE_URL, |
1955 | EID_AP_PERSONALITY, |
1956 | EID_ADSP_RADIO_SHARE, |
1957 | EID_LOCATION_TENANT_ID, |
1958 | EID_IOT_BLE_BEACON_MEASURED_RSSI, |
1959 | EID_MU_NUM_RADAR_BACK |
1960 | } wassp_subtlv_config_type_t; |
1961 | |
1962 | /*************************************************** |
1963 | get define from packet-wassp.h 's wassp_subtlv_config_type_t struct |
1964 | |
1965 | ****************************************************/ |
1966 | |
1967 | static const TLV_PARSER_ENTRY tlvGlobalConfigTable[] = |
1968 | { |
1969 | { EID_CONFIG_UNUSED_0, "Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1970 | { EID_RADIO_CONFIG_BLOCK, "Radio Configuration Block", TLV_TYPE_BLOCK_TLV7, RADIO_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1971 | { EID_VNS_CONFIG_BLOCK, "VNS Configuration Block", TLV_TYPE_BLOCK_TLV7, VNS_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1972 | { EID_AP_ROLE, "AccessPoint Role(0 - Traffic Forwarder, 1 - Dedicated Scanner, 2 - ADSP Sensor)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1973 | { EID_LOC_ACTION_REQ, "Enable RSS Collection for Positioning Engine Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1974 | { EID_TRACE_STATUS_DEBUG, "Enable Trace Debug", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
1975 | { EID_TRACE_STATUS_CONFIG, "Enable Trace Configuration", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
1976 | { EID_MIC_ERR, "Message Integrity Check on AP26xx", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1977 | { EID_USE_BCAST_FOR_DISASSC, "Use Broadcast for Client Disassociation", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
1978 | { EID_BANDWIDTH_VOICE_ASSC, "Admission Control: Maximum Bandwidth for Voice Clients", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1979 | { EID_BANDWIDTH_VOICE_REASSC, "Admission Control: Maximum Bandwidth for Reassociation of Voice Clients", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1980 | { EID_BANDWIDTH_VIDEO_ASSC, "Admission Control: Maximum Bandwidth for Video Clients", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1981 | { EID_BANDWIDTH_VIDEO_REASSC, "Admission Control: Maximum Bandwidth for Reassociation of Video Clients", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1982 | { EID_BANDWIDTH_VIDEO_RESERVE, "Admission Control: Maximum Bandwidth for Reserve of Video Clients", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1983 | { EID_BANDWIDTH_ADM_CTRL_RESERVE, "Admission Control: Maximum Bandwidth for Reserve of Admin", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1984 | { EID_VLAN_TAG, "VLAN Tag of AP Uplink", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
1985 | { EID_COUNTRY_CODE, "Country Code", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1986 | { EID_POLL_DURATION, "Poll Timeout in Seconds", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1987 | { EID_POLL_INTERVAL, "Poll Interval in Seconds", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1988 | { EID_LOC_AUTO_COLLECT_ENABLE, "Enable Auto Collection of RSS for Positioning Engine", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1989 | { EID_POLL_MAINTAIN_CLIENT_SESSION, "Enable Maintaining of Client Session When Poll to Controller Times Out", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
1990 | { EID_TELNET_ENABLE, "Enable SSH Access to AP", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
1991 | { EID_TELNET_PASSWORD, "Hash SSH Password", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
1992 | { EID_TELNET_PASSWORD_ENTRY_MODE, "Telnet Password Entry Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1993 | { EID_OUTDOOR_ENABLE, "AP Environment (1 - Indoor, 2 - Outdoor)", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
1994 | { EID_ON_DEMAND_ARRAY, "Array of MAC Addresses to Collect RSS for Positioning Engine (each element is 6 bytes)", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
1995 | { EID_LAG_ENABLED, "Enable Link Aggregation on Uplink Ethernet Ports", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1996 | { EID_APP_POLICY_FIXED_BLOCK, "Application Definition for Layer 4 Filters ", TLV_TYPE_BLOCK_TLV7, TAB_APP_POLICY_FIXED_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
1997 | { EID_SLP_RETRY_COUNT, "Retry Count for SLP Discovery", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1998 | { EID_SLP_RETRY_DELAY, "Delay Between SLP Retries", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
1999 | { EID_DNS_RETRY_COUNT, "Retry Count for DNS Discovery", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2000 | { EID_DNS_RETRY_DELAY, "Delay Between DNS Retries", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2001 | { EID_MCAST_SLP_RETRY_COUNT, "Retry Count for Multicast SLP Discovery", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2002 | { EID_MCAST_SLP_RETRY_DELAY, "Delay Between Multicast SLP Retries", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2003 | { EID_DISC_RETRY_COUNT, "Retry Count for Discovery", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2004 | { EID_DISC_RETRY_DELAY, "Delay Between Discovery Retries", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2005 | { EID_LOGGING_ALARM_SEV, "Minimum Severity of Event to Report", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2006 | { EID_BLACKLIST_ADD, "Add Clients to MAC Access List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2007 | { EID_FAILOVER_AC_IP_ADDR, "Array of Controllers IP Addresses for Legacy Failover", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2008 | { EID_STATIC_AC_IP_ADDR, "Array of Static Controller IP Addresses", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2009 | { EID_DHCP_ASSIGNMENT, "Uplink IP Address Assignment (0 - Static, 1 - DHCP)", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2010 | { EID_STATIC_AP_IP_ADDR, "Uplink Static IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2011 | { EID_STATIC_AP_IP_NETMASK, "Uplink Netmask", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2012 | { EID_STATIC_AP_DEFAULT_GW, "Uplink Default Gateway", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2013 | { EID_BLACKLIST_DEL, "Remove Clients from MAC Access List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2014 | { EID_MACADDR_REQ, "Request to Send Radio BSSIDs in Config Acknowledge", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2015 | { EID_AVAILABILITY_MODE, "Availability Mode", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2016 | { EID_AP_PERSISTENCE, "Keep Client Sessions When Connection to Controller Times Out", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2017 | { EID_FOREIGN_AP, "Home AP = 0, Foreign AP = 1", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2018 | { EID_SUPP1X_CREDENTIAL_REMOVE, "Remove Credential from AP,type: bitmask (1 - EAP-TLS, 2 - PEAP)", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2019 | { EID_SUPP1X_CERT_TFTP_IP, "TFTP Server IP Address for EAP-TLS Credential", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2020 | { EID_SUPP1X_CERT_TFTP_PATH, "TFTP Path for EAP-TLS Credential", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2021 | { EID_SUPP1X_PRIVATE, "EAP-TLS Private Key, Blowfish Encrypted", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2022 | { EID_SUPP1X_DOMAIN, "Community Domain", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2023 | { EID_SUPP1X_USERID, "PEAP User Id", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2024 | { EID_SUPP1X_PASSWORD, "PEAP Password, Blowfish Encrypted", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2025 | { EID_SUPP1X_CREDENT, "Credential Configuration of AP", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2026 | { EID_SUPP1X_SERIAL, "Certificate Serial", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2027 | { EID_SUPP1X_START_DATE, "Certificate Start Date", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2028 | { EID_SUPP1X_END_DATE, "Certificate Expiry Date", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2029 | { EID_SUPP1X_ISSUED_BY, "Certificate Issuer Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2030 | { EID_SUPP1X_ISSUED_TO, "Certificate Issued to Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2031 | { EID_SUPP1X_SUBJALTNAME, "Certificate Subject Alternative Name (Required From Microsoft)", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2032 | { EID_NOT_USED_CONFIG_TLV_63, "Not Used", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2033 | { EID_FAILOVER_AC_HOME_IP_ADDR, "Array of Home Controller IP Addresses", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2034 | { EID_FAILOVER_AC_FOREIGN_IP_ADDR, "Array of Foreign Controller IP Addresses", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2035 | { EID_AP_HOSTNAME, "AP Hostname", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2036 | { EID_LLDP_ENABLED, "Enable LLDP", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2037 | { EID_LLDP_TTL, "LLDP Time To Live", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2038 | { EID_LLDP_ANNOUNCEMENT_INT, "LLDP Announcement Interval", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2039 | { EID_LLDP_ANNOUNCEMENT_DELAY, "LLDP Announcement Delay", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2040 | { EID_VOWIFI_EXPIRATION_TIME, "Voice Over WiFi Expiration Time", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2041 | { EID_MOBILITY_SHARED_KEY, "Encrypted With Blowfish Using AP Serial Number As Seed", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2042 | { EID_CHANNEL_REPORT_2_4G, "Channel Report Based On 2.4GHz", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2043 | { EID_CHANNEL_REPORT_5G, "Channel Report Based On 5GHz", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2044 | { EID_RATE_CONTROL_BLOCK, "Rate Control Block For Site", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2045 | { EID_AP_DNS, "AP DNS", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2046 | { EID_STATIC_MTU, "Uplink Static MTU", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2047 | { EID_MACFILTER_MODE, "MAC Access List Mode (1 - Blacklist, 2 - Whitelist)", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2048 | { EID_SITE_CONFIG_BLOCK, "Configuration Block for Site", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
2049 | { EID_TOPOLOGY_BLOCK, "Topology Configuration Block for Site", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2050 | { EID_AP_NAME, "AP Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2051 | { EID_ANTENNA_MODELS, "Array of Antenna Model IDs", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2052 | { EID_AIRTIME_FAIRNESS_LEVEL, "Airtime Fairness Level: 0-4", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2053 | { EID_VLAN_DEFAULT, "Thick AP Default Vlan (Untagged: -1, Vlan: 0~4094)", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2054 | { EID_CLUSTER_PASSWORD, "SIAPP Cluster Password", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2055 | { EID_SIAPP_PRIVACY, "Enable SIAPP Encryption", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2056 | { EID_LED_STATUS, "LED Status (0 - Off, 1 - WDS Signal Strength, 2 - Locate, 3 - Normal)", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2057 | { EID_LBS_SRC_IP, "Location Base Service Source IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2058 | { EID_LBS_SRC_PORT, "Location Base Service Source Port", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2059 | { EID_LBS_DST_IP, "Location Base Service Destination IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2060 | { EID_LBS_DST_PORT, "Location Base Service Destination Port", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2061 | { EID_LBS_MCAST, "Location Base Service Multicast", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2062 | { EID_LBS_TAG_MODE, "Location Base Service Tag Mode", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2063 | { EID_ETH_PORT_MODE, "Ethernet Port Mode", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2064 | { EID_INTER_AP_ROAM, "Inter AP Roam", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2065 | { EID_MGMT_MAC, "Management Mac Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
2066 | { EID_REAL_CAPTURE_TIMEOUT, "Real Capture Time Out", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2067 | { EID_POLICY_BLOCK, "Policy Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_POLICY, 0, 0, 0, 0, 0, 0, 0}, |
2068 | { EID_FILTER_CONFIG_BLOCK, "Filter Rule Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_FILTER, 0, 0, 0, 0, 0, 0, 0}, |
2069 | { EID_COS_CONFIG_BLOCK, "COS Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_COS, 0, 0, 0, 0, 0, 0, 0}, |
2070 | { EID_LOCATION_BASED_LOOKUP_BLOCK, "Location Based Lookup Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_LOC_BASE_LP, 0, 0, 0, 0, 0, 0, 0}, |
2071 | { EID_RADIUS_SERVER_BLOCK, "RADIUS Server Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_RADIUS_SERVER, 0, 0, 0, 0, 0, 0, 0}, |
2072 | { EID_DISC_RETRY_DELAY_WOUI_ADD, "Blacklist WOUI Add", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2073 | { EID_DISC_RETRY_DELAY_WOUI_DEL, "Blacklist WOUI Delete", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2074 | { EID_SNIFFER_RADIO_BITMAP, "Sniffer Radio Bit Map", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2075 | { EID_MCAST_ASSEMB, "Multicast Assemble", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2076 | { EID_JUMBO_FRAME, "Jumbo Frame", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2077 | { EID_DYN_ON_DEMAND_ARRAY, "Location Dynamic On-demand MAC List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2078 | { EID_BANDWIDTH_BE_ASSC, "Best Effort Bandwidth for Association", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2079 | { EID_BANDWIDTH_BE_REASSC, "Best Effort Bandwidth for Reassociation", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2080 | { EID_BANDWIDTH_BK_ASSC, "Background Bandwidth for Association", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2081 | { EID_BANDWIDTH_BK_REASSC, "Background Bandwidth for Reassociation", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2082 | { EID_NETFLOW_EXPORT_INTERVAL, "Netflow Export Interval", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2083 | { EID_MIRRORN_PACKETS, "MirrorN Packets", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2084 | { EID_ICON_NAME, "Hotspot 2.0 ICON Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2085 | { EID_ICON_FILE, "Hotspot 2.0 ICON File", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2086 | { EID_ICON_BLOCK, "Hotspot 2.0 ICON Block", TLV_TYPE_BLOCK_TLV7, VNS_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2087 | { EID_BOARD_STATUS, "Board Status", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2088 | { EID_CP_MU_AUTO_LOGIN, "Client Auto Login Handling: 0 : Hide Auto Login, 1 : Redirect Auto Login, 2 : Drop Auto Login", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2089 | { EID_EXTAPP_CONF_BLOCK, "Application Control Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_EXTAPP_CONF_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2090 | { EID_RB_REDIRECT, "Role Based Redirection", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2091 | { EID_RB_REDIRECT_PORTS, "Role Based Redirection Ports", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2092 | { EID_S_TOPOLOGY_ARRAY, "Array of Site Topologies", TLV_TYPE_BLOCK_TLV7, TAB_S_TOPOLOGY_ARRAY_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2093 | { EID_S_TOPOLOGY_STRUCT, "Site Topology Struct", TLV_TYPE_BLOCK_TLV7, TAB_S_TOPOLOGY_STRUCT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2094 | { EID_S_TOPOLOGY_KEY, "Site Topology Key", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2095 | { EID_S_TOPOLOGY_VLAN_TAG, "Site Topology Vlan Tag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2096 | { EID_S_TOPOLOGY_ARP_PROXY, "Site Topology Arp Proxy", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2097 | { EID_S_TOPO_MCAST_FILTER_CONFIG_BLOCK, "Site Topology Multicast Filter Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_S_TOPO_MCAST_FILTER_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2098 | { EID_MCAST_PRIORITIZED_VOICE, "Multicast Prioritized Voice", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2099 | { EID_IOT_CONTROL, "IOT Control", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2100 | { EID_IOT_APPLICATION_ID, "IOT Application ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2101 | { EID_AP_LOCATION, "AP Location", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2102 | { EID_IOT_ADMIN, "Enable/Disable IOT Admin", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2103 | { EID_IOT_IMAGE, "Enable IoT-KW41Z Image Upgrade", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2104 | { EID_IOT_BLE_ADVERTISE_INTERVAL, "IOT BLE Advertise Interval", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2105 | { EID_IOT_BLE_ADVERTISE_POWER, "IOT BLE Advertise Power", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2106 | { EID_IOT_IBEACON_MAJOR, "IOT Ibeacon Major", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2107 | { EID_IOT_IBEACON_MINOR, "IOT Ibeacon Minor", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2108 | { EID_IOT_IBEACON_UUID, "IOT Ibeacon UUID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2109 | { EID_STATIC_ADSP_IP_ADDR, "Set ADSP Url", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2110 | { EID_OBSS_CHAN_ADJ_ACTIVE, "Set Auto Channel Width", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2111 | { EID_IOT_BLE_SCAN_SRC_IP, "IOT BLE Scan Source IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2112 | { EID_IOT_BLE_SCAN_SRC_PORT, "IOT BLE Scan Source Port", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2113 | { EID_IOT_BLE_SCAN_DST_IP, "IOT BLE Scan Destination IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2114 | { EID_IOT_BLE_SCAN_DST_PORT, "IOT BLE Scan Destination Port", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2115 | { EID_IOT_BLE_SCAN_INTERVAL, "IOT BLE Scan Interval In Milliseconds", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2116 | { EID_IOT_BLE_SCAN_WINDOW, "IOT BLE Scan Window In Milliseconds", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2117 | { EID_IOT_BLE_SCAN_MIN_RSSI, "IOT BLE Scan Min RSSI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2118 | { EID_LISENSE_SERVER, "License Server", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2119 | { EID_LISENSE_MIN_RSSI, "License Min RSSI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2120 | { EID_LISENSE_REP_FREQ, "License Report Frequency", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2121 | { EID_DPI_SIG_HASH, "Deep Packet Inspection Signature Hash", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2122 | { EID_ANT_MODELS_IOT, "Antanna Type for IOT Radio", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2123 | { EID_FABRICATTACH_ARRAY, "Array Of FabricAttach ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2124 | { EID_IOT_THREAD_CHANNEL, "IoT-Thread Network Parameter 802.15.4 Channel", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2125 | { EID_IOT_THREAD_FACTORY_RESET, "IoT-Thread Network Factory Reset", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2126 | { EID_IOT_THREAD_SHORT_PAN_ID, "IoT-Thread Network Parameter PAN ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2127 | { EID_IOT_THREAD_SHORT_EUI, "IoT-Thread network Parameter EUI", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2128 | { EID_IOT_THREAD_PSKD, "IoT-Thread network Parameter PSKd - Pre-Shared Key for the Device", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2129 | { EID_IOT_THREAD_MASTER_KEY, "IoT-Thread Network Parameter: Master Key", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2130 | { EID_IOT_THREAD_NWK_NAME, "IoT-Thread Network Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2131 | { EID_IOT_THREAD_COMM_CREDENTIAL, "IoT-Thread Commissioner Credential", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2132 | { EID_IOT_THREAD_LONG_EUI, "IoT-Thread Network Parameter EUI", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2133 | { EID_IOT_THREAD_EXTENDED_PAN_ID, "IoT-Thread Network Parameter PAN ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2134 | { EID_AP_VSA_SSID_ID, "Configure VSA Interface", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2135 | { EID_AP_STATIC_VSA_IPADDR, "Configure VSA IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2136 | { EID_AP_STATIC_VSA_NETMASK, "Configure VSA Network Mask", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2137 | { EID_IOT_BLE_URL, "IoT-Eddystone URL Parameter", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2138 | { EID_AP_PERSONALITY, "WING Or Identifi AP 1: WING AP, 0 : Identifi AP", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2139 | { EID_ADSP_RADIO_SHARE, "ADSP Radio Share Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2140 | { EID_LOCATION_TENANT_ID, "Location Tenant ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0} |
2141 | }; |
2142 | |
2143 | |
2144 | |
2145 | /*Members of EID_S_TOPO_MCAST_FILTER_CONFIG_BLOCK: */ |
2146 | typedef enum |
2147 | { |
2148 | EID_S_TOPO_MCAST_FILTER_NAME = 1, |
2149 | EID_S_TOPO_MCAST_FILTER_RULES, |
2150 | EID_S_TOPO_MCAST_FILTER_RULES_EXT_BLOCK |
2151 | } wassp_tlv_S_topo_mcast_type_t; |
2152 | |
2153 | |
2154 | static const TLV_PARSER_ENTRY tlvSTopoMcastFilterBlock[] = |
2155 | { |
2156 | { EID_S_TOPO_MCAST_FILTER_NAME, "Site Topology Multicast Filter Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2157 | { EID_S_TOPO_MCAST_FILTER_RULES, "Site Topology Multicast Filter Rules", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2158 | { EID_S_TOPO_MCAST_FILTER_RULES_EXT_BLOCK, "Site Topology Multicast Filter Rules Block", TLV_TYPE_BLOCK_TLV7, TAB_S_TOPO_MCAST_FILTER_RULES_EXT_BLOCK, 0, 0, 0, 0, 0, 0, 0} |
2159 | |
2160 | }; |
2161 | |
2162 | |
2163 | |
2164 | /* Members of EID_S_TOPO_MCAST_FILTER_RULES_EXT_BLOCK: */ |
2165 | typedef enum |
2166 | { |
2167 | EID_S_TOPO_MCAST_FILTER_RULE_EXT_ACT_FLAGS = 1, |
2168 | EID_S_TOPO_MCAST_FILTER_RULES_IPV6 |
2169 | |
2170 | } wassp_tlv_S_topo_mcast_rule_type_t; |
2171 | |
2172 | static const TLV_PARSER_ENTRY tlvSTopoMcastFilterRuleBlock[] = |
2173 | { |
2174 | { EID_S_TOPO_MCAST_FILTER_RULE_EXT_ACT_FLAGS, "Site Topology Multicast Filter Rule Action Flags", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2175 | { EID_S_TOPO_MCAST_FILTER_RULES_IPV6, "Site Topology Multicast Filter Rule IPv6 Addresses", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0} |
2176 | }; |
2177 | |
2178 | |
2179 | |
2180 | |
2181 | |
2182 | /* TLV Stats Types Layer 1 */ |
2183 | typedef enum |
2184 | { |
2185 | EID_DOT11_NOT_USED = 0, // 0 |
2186 | EID_DOT11_ACKFailureCount, // 1 |
2187 | EID_DOT11_FCSErrorCount, // 2 |
2188 | EID_DOT11_FailedCount, // 3 |
2189 | EID_DOT11_FrameDuplicateCount, // 4 |
2190 | EID_DOT11_MulticastReceivedFrameCount, // 5 |
2191 | EID_DOT11_MulticastTransmittedFrameCount, // 6 |
2192 | EID_DOT11_MultipleRetryCount, // 7 |
2193 | EID_DOT11_RTSFailureCount, // 8 |
2194 | EID_DOT11_RTSSuccessCount, // 9 |
2195 | EID_DOT11_ReceivedFragmentCount, // 10 |
2196 | EID_DOT11_RetryCount, // 11 |
2197 | EID_DOT11_TransmittedFragmentCount, // 12 |
2198 | EID_DOT11_TransmittedFrameCount, // 13 |
2199 | EID_DOT11_WEBUndecryptableCount, // 14 |
2200 | EID_DOT11_WEPExcludedCount, // 15 |
2201 | EID_DOT11_WEPICVErrorCount, // 16 |
2202 | EID_DRM_AllocFailures, // 17 |
2203 | EID_DRM_CurrentChannel, // 18 |
2204 | EID_DRM_CurrentPower, // 19 |
2205 | EID_DRM_DataTxFailures, // 20 |
2206 | EID_DRM_DeviceType, // 21 |
2207 | EID_DRM_InDataPackets, // 22 |
2208 | EID_DRM_InMgmtPackets, // 23 |
2209 | EID_DRM_LoadFactor, // 24 |
2210 | EID_DRM_MgmtTxFailures, // 25 |
2211 | EID_DRM_MsgQFailures, // 26 |
2212 | EID_DRM_NoDRMCurrentChannel, // 27 |
2213 | EID_DRM_OutDataPackets, // 28 |
2214 | EID_DRM_OutMgmtPackets, // 29 |
2215 | EID_IF_InBcastPackets, // 30 |
2216 | EID_IF_InDiscards, // 31 |
2217 | EID_IF_InErrors, // 32 |
2218 | EID_IF_InMcastPackets, // 33 |
2219 | EID_IF_InOctets, // 34 |
2220 | EID_IF_InUcastPackets, // 35 |
2221 | EID_IF_MTU, // 36 |
2222 | EID_IF_OutBcastPackets, // 37 |
2223 | EID_IF_OutDiscards, // 38 |
2224 | EID_IF_OutErrors, // 39 |
2225 | EID_IF_OutOctets, // 40 |
2226 | EID_IF_OutUcastPackets, // 41 |
2227 | EID_IF_OutMCastPackets, // 42 |
2228 | EID_MU_Address, // 43 |
2229 | EID_MU_AssociationCount, // 44 |
2230 | EID_MU_AuthenticationCount, // 45 |
2231 | EID_MU_DeAssociationCount, // 46 |
2232 | EID_MU_DeAuthenticationCount, // 47 |
2233 | EID_MU_IfIndex, // 48 |
2234 | EID_MU_ReAssociationCount, // 49 |
2235 | EID_MU_ReceivedBytes, // 50 |
2236 | EID_MU_ReceivedErrors, // 51 |
2237 | EID_MU_ReceivedFrameCount, // 52 |
2238 | EID_MU_ReceivedRSSI, // 53 |
2239 | EID_MU_ReceivedRate, // 54 |
2240 | EID_MU_TransmittedBytes, // 55 |
2241 | EID_MU_TransmittedErrors, // 56 |
2242 | EID_MU_TransmittedFrameCount, // 57 |
2243 | EID_MU_TransmittedRSSI, // 58 |
2244 | EID_MU_TransmittedRate, // 59 |
2245 | EID_MU_RF_STATS_END, // 60 |
2246 | EID_RFC_1213_SYSUPTIME, // 61 |
2247 | EID_STATS_ETHER_BLOCK, // 62 |
2248 | EID_STATS_RADIO_A_BLOCK, // 63 |
2249 | EID_STATS_RADIO_B_G_BLOCK, // 64 |
2250 | EID_MU_STATS_BLOCK, // 65 |
2251 | EID_STATS_WDS_BLOCK, // 66 |
2252 | EID_WDS_ROLE, // 67 |
2253 | EID_WDS_PARENTMAC, // 68 |
2254 | EID_WDS_SSID, // 69 |
2255 | EID_STATS_SUPP1x_BLOCK, // 70 |
2256 | EID_STATS_SUPP1X_CREDENT, // 71 |
2257 | EID_STATS_SUPP1X_END_DATE, // 72 |
2258 | EID_DOT11_ProtectionMode, // 73 |
2259 | EID_MU_TSPEC_Stats_Block, // 74 |
2260 | EID_DOT11_ChannelBonding, // 75 |
2261 | EID_DCS_STAS_NF, // 76 |
2262 | EID_DCS_STAS_CHANN_OCCUPANCY, // 77 |
2263 | EID_DCS_STAS_TX_OCCUPANCY, // 78 |
2264 | EID_DCS_STAS_RX_OCCUPANCY, // 79 |
2265 | EID_CAC_DEAUTH, // 80 |
2266 | EID_MU_IP, // 81 |
2267 | EID_STATS_CHECK, // 82 |
2268 | EID_WDS_BONDING, // 83 |
2269 | EID_MU_ReceivedRSS, // 84 |
2270 | EID_MU_RadioIndex, // 85 |
2271 | EID_MU_FltPktAllowed, // 86 |
2272 | EID_MU_FltPktDenied, // 87 |
2273 | EID_MU_FltName, // 88 |
2274 | EID_MU_FltReset, // 89 |
2275 | EID_MU_DL_DroppedRateControlPackets, // 90 |
2276 | EID_MU_DL_DroppedRateControlBytes, // 91 |
2277 | EID_MU_DL_DroppedBufferFullPackets, // 92 |
2278 | EID_MU_DL_DroppedBufferFullBytes, // 93 |
2279 | EID_MU_DL_LostRetriesPackets, // 94 |
2280 | EID_MU_DL_LostRetriesBytes, // 95 |
2281 | EID_MU_UL_DroppedRateControlPackets, // 96 |
2282 | EID_MU_UL_DroppedRateControlBytes, // 97 |
2283 | EID_SiappClusterName, // 98 |
2284 | EID_LB_LoadGroupID, // 99 |
2285 | EID_LB_LoadValue, // 100 |
2286 | EID_LB_MemberCount, // 101 |
2287 | EID_LB_ClientCount, // 102 |
2288 | EID_LB_LoadState, // 103 |
2289 | EID_LB_ProbeReqsDeclined, // 104 |
2290 | EID_LB_AuthReqsDeclined, // 105 |
2291 | EID_LB_RebalanceEvents, // 106 |
2292 | EID_MU_DOT11_CAPABILITY, // 107 |
2293 | EID_BAND_PREFERENCE_STATS, // 108 |
2294 | EID_R_LC_STATUS, // 109 |
2295 | EID_WDS_ROAM_COUNT, // 110 |
2296 | EID_WDS_TX_RETRIES, // 111 |
2297 | EID_RealCaptureTimeout, // 112 |
2298 | EID_MU_11N_ADVANCED, // 113 |
2299 | EID_MU_Count, // 114 |
2300 | EID_R_Clear_channel, // 115 |
2301 | EID_R_RX_Occupancy, // 116 |
2302 | EID_STATS_VNS_BLOCK, // 117 |
2303 | EID_STATS_VNS_ENTRY, // 118 |
2304 | EID_ETH_STATUS, // 119 |
2305 | EID_LAG_ACT_AGGREGATE_STATUS, // 120 |
2306 | EID_PERFORMANCE_STATS, // 121 |
2307 | EID_APPL_STATS, // 122 |
2308 | EID_APPL_COUNT, // 123 |
2309 | EID_APPL_MAC, // 124 |
2310 | EID_APPL_DISPLAY_ID, // 125 |
2311 | EID_APPL_TX_BYTES, // 126 |
2312 | EID_APPL_RX_BYTES, // 127 |
2313 | EID_MU_TRANSMITTED_MCS, // 128 |
2314 | EID_MU_TOTAL_LOST_FRAMES, // 129 |
2315 | EID_MU_DL_AGGR_SIZE, // 130 |
2316 | EID_RX_PHYS_ERRORS, // 131 |
2317 | EID_RADIO_HARDWARE_RESET, // 132 |
2318 | EID_TOTAL_PACKET_ERROR_RATE, // 133 |
2319 | EID_STATS_PORT_BLOCK, // 134 |
2320 | EID_PORT_ID, // 135 |
2321 | EID_MU_RADIO_ID, // 136 |
2322 | EID_IF_LinkSpeed, // 137 |
2323 | EID_MU_DL_RETRY_ATTEMPTS, // 138 |
2324 | EID_FILTER_STATS_BLOCK, // 139 |
2325 | EID_FILTER_STATS_RULES_BLOCK, // 140 |
2326 | EID_ROLE_ID, // 141 |
2327 | EID_ROLE_TIMESTAMP, // 142 |
2328 | EID_DEFAULT_HIT_COUNT_IN, // 143 |
2329 | EID_DEFAULT_HIT_COUNT_OUT, // 144 |
2330 | EID_RULE_HIT_COUNT_IN, // 145 |
2331 | EID_RULE_HIT_COUNT_OUT, // 146 |
2332 | EID_STATS_RADIO_ID, // 147 |
2333 | EID_STATS_RADIO_BLOCK, // 148 |
2334 | EID_MU_RFQI, // 149 |
2335 | EID_RADIO_RFQI, // 150 |
2336 | EID_IF_InBcastPackets_D, // 151 |
2337 | EID_IF_InDiscards_D, // 152 |
2338 | EID_IF_InErrors_D, // 153 |
2339 | EID_IF_InMcastPackets_D, // 154 |
2340 | EID_IF_InOctets_D, // 155 |
2341 | EID_IF_InUcastPackets_D, // 156 |
2342 | EID_IF_OutBcastPackets_D, // 157 |
2343 | EID_IF_OutDiscards_D, // 158 |
2344 | EID_IF_OutErrors_D, // 159 |
2345 | EID_IF_OutOctets_D, // 160 |
2346 | EID_IF_OutUcastPackets_D, // 161 |
2347 | EID_IF_OutMCastPackets_D, // 162 |
2348 | EID_MU_ReceivedFrameCount_D, // 163 |
2349 | EID_MU_TransmittedFrameCount_D, // 164 |
2350 | EID_MU_ReceivedErrors_D, // 165 |
2351 | EID_MU_TransmittedErrors_D, // 166 |
2352 | EID_MU_ReceivedBytes_D, // 167 |
2353 | EID_MU_TransmittedBytes_D, // 168 |
2354 | EID_MU_rc_ul_dropped_pkts_D, // 169 |
2355 | EID_MU_rc_ul_dropped_bytes_D, // 170 |
2356 | EID_MU_rc_dl_dropped_pkts_D, // 171 |
2357 | EID_MU_rc_dl_dropped_bytes_D, // 172 |
2358 | EID_STATS_TLV_MAX // Make sure this is the MAX |
2359 | } wassp_tlv_stats_1_type_t; |
2360 | |
2361 | |
2362 | /* Value string object enumerates wassp tlv type field */ |
2363 | static const TLV_PARSER_ENTRY tlvBeastConfigTable[] = |
2364 | { |
2365 | { EID_DOT11_NOT_USED, "DOT11Unused 0", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2366 | { EID_DOT11_ACKFailureCount, "802.11 Ack Failure Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2367 | { EID_DOT11_FCSErrorCount, "802.11 FCS Error Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2368 | { EID_DOT11_FailedCount, "802.11 Failed Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2369 | { EID_DOT11_FrameDuplicateCount, "802.11 Frame Duplicated Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2370 | { EID_DOT11_MulticastReceivedFrameCount, "802.11 Multicast Received Frame Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2371 | { EID_DOT11_MulticastTransmittedFrameCount, "802.11 Multicast Transmitted Frame Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2372 | { EID_DOT11_MultipleRetryCount, "802.11 Multiple Retry Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2373 | { EID_DOT11_RTSFailureCount, "802.11 RTS Failure Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2374 | { EID_DOT11_RTSSuccessCount, "802.11 RTS Success Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2375 | { EID_DOT11_ReceivedFragmentCount, "802.11 Received Fragment Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2376 | { EID_DOT11_RetryCount, "802.11 Retry Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2377 | { EID_DOT11_TransmittedFragmentCount, "802.11 Transmitted Fragment Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2378 | { EID_DOT11_TransmittedFrameCount, "802.11 Transmitted Frame Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2379 | { EID_DOT11_WEBUndecryptableCount, "802.11 WEP Undecryptable Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2380 | { EID_DOT11_WEPExcludedCount, "802.11 WEP Excluded Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2381 | { EID_DOT11_WEPICVErrorCount, "802.11 WEP ICV Error Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2382 | { EID_DRM_AllocFailures, "802.11 DRM Allocated Failures", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2383 | { EID_DRM_CurrentChannel, "802.11 DRM Current Channel", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2384 | { EID_DRM_CurrentPower, "802.11 DRM Current Power", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2385 | { EID_DRM_DataTxFailures, "802.11 DRM Data Tx Failures", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2386 | { EID_DRM_DeviceType, "802.11 DRM Device Type", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2387 | { EID_DRM_InDataPackets, "802.11 DRM In Data Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2388 | { EID_DRM_InMgmtPackets, "802.11 DRM In Management Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2389 | { EID_DRM_LoadFactor, "802.11 DRM Load Factor", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2390 | { EID_DRM_MgmtTxFailures, "802.11 DRM Management Tx Failures", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2391 | { EID_DRM_MsgQFailures, "802.11 DRM Message Q Failures", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2392 | { EID_DRM_NoDRMCurrentChannel, "802.11 No DRM Current Channel", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2393 | { EID_DRM_OutDataPackets, "802.11 DRM Out Data Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2394 | { EID_DRM_OutMgmtPackets, "802.11 DRM Out Management Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2395 | { EID_IF_InBcastPackets, "Interface In Bcast Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2396 | { EID_IF_InDiscards, "Interface In Discards", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2397 | { EID_IF_InErrors, "Interface In Errors", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2398 | { EID_IF_InMcastPackets, "Interface In Mcast Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2399 | { EID_IF_InOctets, "Interface In Octets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2400 | { EID_IF_InUcastPackets, "Interface In Ucast Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2401 | { EID_IF_MTU, "Interface MTU", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2402 | { EID_IF_OutBcastPackets, "Interface Out Bcast Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2403 | { EID_IF_OutDiscards, "Interface Out Discards", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2404 | { EID_IF_OutErrors, "Interface Out Errors", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2405 | { EID_IF_OutOctets, "Interface Out Octets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2406 | { EID_IF_OutUcastPackets, "Interface Out Ucast Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2407 | { EID_IF_OutMCastPackets, "Interface Out MCast Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2408 | { EID_MU_Address, "MU Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
2409 | { EID_MU_AssociationCount, "MU Association Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2410 | { EID_MU_AuthenticationCount, "MU Authentication Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2411 | { EID_MU_DeAssociationCount, "MU DeAssociation Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2412 | { EID_MU_DeAuthenticationCount, "MU DeAuthentication Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2413 | { EID_MU_IfIndex, "MU Interface Index", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2414 | { EID_MU_ReAssociationCount, "MU ReAssociation Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2415 | { EID_MU_ReceivedBytes, "MU Received Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2416 | { EID_MU_ReceivedErrors, "MU Received Errors", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2417 | { EID_MU_ReceivedFrameCount, "MU Received Frame Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2418 | { EID_MU_ReceivedRSSI, "MU Received RSSI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2419 | { EID_MU_ReceivedRate, "MU Received Rate", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2420 | { EID_MU_TransmittedBytes, "MU Transmitted Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2421 | { EID_MU_TransmittedErrors, "MU Transmitted Errors", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2422 | { EID_MU_TransmittedFrameCount, "MU Transmitted Frame Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2423 | { EID_MU_TransmittedRSSI, "MU Transmitted RSSI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2424 | { EID_MU_TransmittedRate, "MU Transmitted Rate", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2425 | { EID_MU_RF_STATS_END, "MU RF Stats End", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2426 | { EID_RFC_1213_SYSUPTIME, "RFC1213 System Up Time", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2427 | { EID_STATS_ETHER_BLOCK, "Stats Ethernet Block", TLV_TYPE_BLOCK_TLV7, TAB_STATS_ETH, 0, 0, 0, 0, 0, 0, 0}, |
2428 | { EID_STATS_RADIO_A_BLOCK, "Stats Radio A Block", TLV_TYPE_BLOCK_TLV7, TAB_STATS_RADIO, 0, 0, 0, 0, 0, 0, 0}, |
2429 | { EID_STATS_RADIO_B_G_BLOCK, "Stats Radio BG Block", TLV_TYPE_BLOCK_TLV7, TAB_STATS_RADIO, 0, 0, 0, 0, 0, 0, 0}, |
2430 | { EID_MU_STATS_BLOCK, "MU Stats Block", TLV_TYPE_BLOCK_TLV7, STATS_MU_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2431 | { EID_STATS_WDS_BLOCK, "Stats WDS Block", TLV_TYPE_BLOCK_TLV7, TAB_STATS_WDS, 0, 0, 0, 0, 0, 0, 0}, |
2432 | { EID_WDS_ROLE, "WDS Role", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2433 | { EID_WDS_PARENTMAC, "WDS Parent Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2434 | { EID_WDS_SSID, "WDS SSID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2435 | { EID_STATS_SUPP1x_BLOCK, "802.11X Stats Block", TLV_TYPE_BLOCK_TLV7, TAB_STATS_WDS, 0, 0, 0, 0, 0, 0, 0}, |
2436 | { EID_STATS_SUPP1X_CREDENT, "802.11X Credent", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2437 | { EID_STATS_SUPP1X_END_DATE, "802.11X Expiry Date", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2438 | { EID_DOT11_ProtectionMode, "802.11 Protection Mode", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2439 | { EID_MU_TSPEC_Stats_Block, "MU TSPEC Stats Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2440 | { EID_DOT11_ChannelBonding, "802.11 Channel Bonding", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2441 | { EID_DCS_STAS_NF, "DCS STAS NF", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2442 | { EID_DCS_STAS_CHANN_OCCUPANCY, "DCS Stats Channel Occupancy", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2443 | { EID_DCS_STAS_TX_OCCUPANCY, "DCS Stats Tx Occupancy", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2444 | { EID_DCS_STAS_RX_OCCUPANCY, "DCS Stats Rx Occupancy", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2445 | { EID_CAC_DEAUTH, "CAC DeAuthentication", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2446 | { EID_MU_IP, "MU IP", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
2447 | { EID_STATS_CHECK, "Stats Check", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2448 | { EID_WDS_BONDING, "WDS Bonding", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2449 | { EID_MU_ReceivedRSS, "MU Received RSS", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2450 | { EID_MU_RadioIndex, "MU Radio Index", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2451 | { EID_MU_FltPktAllowed, "MU Allowed Packet", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2452 | { EID_MU_FltPktDenied, "MU Denied Packet", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2453 | { EID_MU_FltName, "MU Filter Rule Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2454 | { EID_MU_FltReset, "MU Filter Reset", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2455 | { EID_MU_DL_DroppedRateControlPackets, "MU Down Link Dropped Rate Control Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2456 | { EID_MU_DL_DroppedRateControlBytes, "MU Down Link Dropped Rate Control Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2457 | { EID_MU_DL_DroppedBufferFullPackets, "MU Down Link Dropped Buffer Full Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2458 | { EID_MU_DL_DroppedBufferFullBytes, "MU Down Link Dropped Buffer Full Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2459 | { EID_MU_DL_LostRetriesPackets, "MU Down Link Lost Retries Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2460 | { EID_MU_DL_LostRetriesBytes, "MU Down Link Lost Retries Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2461 | { EID_MU_UL_DroppedRateControlPackets, "MU Up Link Dropped Rate Control Packets", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2462 | { EID_MU_UL_DroppedRateControlBytes, "MU Up Link Dropped Rate Control Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2463 | { EID_SiappClusterName, "Siapp Cluster Mac address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
2464 | { EID_LB_LoadGroupID, "Load Balance Load Group ID", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2465 | { EID_LB_LoadValue, "Load Balance Load value", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2466 | { EID_LB_MemberCount, "Load Balance Member Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2467 | { EID_LB_ClientCount, "Load Balance Client Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2468 | { EID_LB_LoadState, "Load Balance Load State", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2469 | { EID_LB_ProbeReqsDeclined, "Load Balance Probe Request Declined", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2470 | { EID_LB_AuthReqsDeclined, "Load Balance Authentication request Declined", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2471 | { EID_LB_RebalanceEvents, "Load Balance Rebalance Events", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2472 | { EID_MU_DOT11_CAPABILITY, "MU 802.11 Capability", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2473 | { EID_BAND_PREFERENCE_STATS, "Band Preference Stats", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2474 | { EID_R_LC_STATUS, "Radio Load Control Stats", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2475 | { EID_WDS_ROAM_COUNT, "WDS Roam Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2476 | { EID_WDS_TX_RETRIES, "WDS Tx Retries", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2477 | { EID_RealCaptureTimeout, "Real Capture Timeout", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2478 | { EID_MU_11N_ADVANCED, "MU 802.11N Advanced", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2479 | { EID_MU_Count, "MU Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2480 | { EID_R_Clear_channel, "Radio Clear Channel", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2481 | { EID_R_RX_Occupancy, "Radio Rx Occupancy", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2482 | { EID_STATS_VNS_BLOCK, "VNS Stats Block", TLV_TYPE_BLOCK_TLV7, TAB_STATS_VNS, 0, 0, 0, 0, 0, 0, 0}, |
2483 | { EID_STATS_VNS_ENTRY, "VNS Stats Entry", TLV_TYPE_BLOCK_TLV7, TAB_STATS_VNS, 0, 0, 0, 0, 0, 0, 0}, |
2484 | { EID_ETH_STATUS, "Ethernet Stats", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2485 | { EID_LAG_ACT_AGGREGATE_STATUS, "LAG Aggregate Stats", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2486 | { EID_PERFORMANCE_STATS, "Performance Stats", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2487 | { EID_APPL_STATS, "Application Stats", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2488 | { EID_APPL_COUNT, "Application Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2489 | { EID_APPL_MAC, "Application Mac Address", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
2490 | { EID_APPL_DISPLAY_ID, "Application Display ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2491 | { EID_APPL_TX_BYTES, "Application Tx Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2492 | { EID_APPL_RX_BYTES, "Application Rx Bytes", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2493 | { EID_MU_TRANSMITTED_MCS, "MU Transmitted MCS", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2494 | { EID_MU_TOTAL_LOST_FRAMES, "MU Total Lost Frames", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2495 | { EID_MU_DL_AGGR_SIZE, "MU Down Link Aggregate Size", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2496 | { EID_RX_PHYS_ERRORS, "Rx Phys Errors", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2497 | { EID_RADIO_HARDWARE_RESET, "Radio hardware Reset", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2498 | { EID_TOTAL_PACKET_ERROR_RATE, "total Packet Error Rate", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2499 | { EID_STATS_PORT_BLOCK, "ports Stats Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2500 | { EID_PORT_ID, "Port ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2501 | { EID_MU_RADIO_ID, "MU Radio ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2502 | { EID_IF_LinkSpeed, "Interface Link Speed", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2503 | { EID_MU_DL_RETRY_ATTEMPTS, "MU Down Link Retry Attempts", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2504 | { EID_FILTER_STATS_BLOCK, "Filter Stats Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2505 | { EID_FILTER_STATS_RULES_BLOCK, "Filter Stats Rules Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2506 | { EID_ROLE_ID, "Role ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2507 | { EID_ROLE_TIMESTAMP, "Role Timestamp", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2508 | { EID_DEFAULT_HIT_COUNT_IN, "Default In Direction Hit Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2509 | { EID_DEFAULT_HIT_COUNT_OUT, "Default Out Direction Hit Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2510 | { EID_RULE_HIT_COUNT_IN, "Role In Direction Hit Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2511 | { EID_RULE_HIT_COUNT_OUT, "Role Out Direction Hit Count", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2512 | { EID_STATS_RADIO_ID, "Stats Radio ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2513 | { EID_STATS_RADIO_BLOCK, "Stats Radio ID Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2514 | { EID_MU_RFQI, "MU RFQI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2515 | { EID_RADIO_RFQI, "Radio RFQI", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2516 | { EID_IF_InBcastPackets_D, "Interface In Bcast Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2517 | { EID_IF_InDiscards_D, "Interface In Discards Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2518 | { EID_IF_InErrors_D, "Interface In Error Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2519 | { EID_IF_InMcastPackets_D, "Interface In Mcast Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2520 | { EID_IF_InOctets_D, "Interface In Octets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2521 | { EID_IF_InUcastPackets_D, "Interface In Ucast Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2522 | { EID_IF_OutBcastPackets_D, "Interface Out Bcast Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2523 | { EID_IF_OutDiscards_D, "Interface Out Discards Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2524 | { EID_IF_OutErrors_D, "Interface Out Error Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2525 | { EID_IF_OutOctets_D, "Interface Out Octets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2526 | { EID_IF_OutUcastPackets_D, "Interface Out Ucast Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2527 | { EID_IF_OutMCastPackets_D, "Interface Out Mcast Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2528 | { EID_MU_ReceivedFrameCount_D, "MU Received Fram Count Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2529 | { EID_MU_TransmittedFrameCount_D, "MU Transmitted Fram Count Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2530 | { EID_MU_ReceivedErrors_D, "MU Received Error Count Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2531 | { EID_MU_TransmittedErrors_D, "MU Transmitted Error Count Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2532 | { EID_MU_ReceivedBytes_D, "MU Received Bytes Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2533 | { EID_MU_TransmittedBytes_D, "MU Transmitted Bytes Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2534 | { EID_MU_rc_ul_dropped_pkts_D, "MU Received Up Link Dropped Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2535 | { EID_MU_rc_ul_dropped_bytes_D, "MU Received Up Link Dropped Bytes Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2536 | { EID_MU_rc_dl_dropped_pkts_D, "MU Received Down Link Dropped Packets Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2537 | { EID_MU_rc_dl_dropped_bytes_D, "MU Received Down Link Dropped Bytes Delta Value Since Last Message", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2538 | { EID_STATS_TLV_MAX, "Last Stats TLV",0, 0, 0, 0, 0, 0, 0, 0, 0} |
2539 | |
2540 | }; |
2541 | |
2542 | |
2543 | |
2544 | #define WASSP_MAX_DECR_INFO_NUM18 18 |
2545 | #define WASSP_MAX_SUBTREE_LEN50 50 |
2546 | #define EID_PARSE_ERROR(EID_MAX+1) (EID_MAX+1) |
2547 | |
2548 | #define SET_WASSP_TLV_VERSION(val)(g_wassp_ver = (val)) (g_wassp_ver = (val)) |
2549 | #define GET_WASSP_TLV_VERSION()(g_wassp_ver) (g_wassp_ver) |
2550 | |
2551 | // #define WASSP_PRINT printf |
2552 | #define WASSP_PRINT |
2553 | |
2554 | #define WASSP_SUBTLV_GET_NAME(in_ptr)((in_ptr)->name) ((in_ptr)->name) |
2555 | #define WASSP_SUBTLV_GET_TYPE(in_ptr)((in_ptr)->type) ((in_ptr)->type) |
2556 | |
2557 | |
2558 | |
2559 | typedef enum |
2560 | { |
2561 | EID_R_UNUSED_0 = 0, |
2562 | EID_R_RADIO_ID, |
2563 | EID_R_ENABLE_RADIO, |
2564 | EID_R_CHANNEL, |
2565 | EID_R_OP_RATE_SET, |
2566 | EID_R_OP_RATE_MAX, |
2567 | EID_R_BEACON_PERIOD, |
2568 | EID_R_DTIM_PERIOD, |
2569 | EID_R_RTS_THRESHOLD, |
2570 | EID_R_ANTENNA_TYPE, |
2571 | EID_R_A_CHAN_PLAN_TYPE, |
2572 | EID_R_FRAGMENT_THRESHOLD, |
2573 | EID_R_POWER_LEVEL, |
2574 | EID_R_LC_ASSOC_TRY_MAX, |
2575 | EID_R_LC_STRICT_CLIENT_COUNT_LIMIT, |
2576 | EID_R_DIVERSITY_RX, |
2577 | EID_R_DIVERSITY_TX, |
2578 | EID_R_SHORT_PREAMBLE, |
2579 | EID_R_BASIC_RATE_MAX, |
2580 | EID_R_BASIC_RATE_MIN, |
2581 | EID_R_HW_RETRIES, |
2582 | EID_R_TX_POWER_MIN, |
2583 | EID_R_TX_POWER_MAX, |
2584 | EID_R_INTERFERENCE_EVENT_TYPE, |
2585 | EID_R_DOMAIN_ID, |
2586 | EID_R_B_ENABLE, |
2587 | EID_R_B_BASIC_RATES, |
2588 | EID_R_G_ENABLE, |
2589 | EID_R_G_PROTECT_MODE, |
2590 | EID_R_G_PROTECT_TYPE, |
2591 | EID_R_G_PROTECT_RATE, |
2592 | EID_R_G_BASIC_RATE, |
2593 | EID_R_A_SUPPORT_802_11_J, |
2594 | EID_R_ATPC_EN_INTERVAL, |
2595 | EID_R_ACS_CH_LIST, |
2596 | EID_R_TX_POWER_ADJ, |
2597 | EID_R_WIRELESS_MODE, |
2598 | EID_R_N_CHANNEL_BONDING, |
2599 | EID_R_N_CHANNEL_WIDTH, |
2600 | EID_R_N_GUARD_INTERVAL, |
2601 | EID_R_N_PROTECT_ENABLE, |
2602 | EID_R_N_PROTECT_TYPE, |
2603 | EID_R_N_PROTECT_OFFSET, |
2604 | EID_R_N_PROTECT_BUSY_THRESHOLD, |
2605 | EID_R_AGGREGATE_MSDU, |
2606 | EID_R_AGGREGATE_MSDU_MAX_LEN, |
2607 | EID_R_AGGREGATE_MPDU, |
2608 | EID_R_AGGREGATE_MPDU_MAX_LEN, |
2609 | EID_R_AGGREGATE_MPDU_SUBFRAMES, |
2610 | EID_R_ADDBA_SUPPORT, |
2611 | EID_R_DCS_MODE, |
2612 | EID_R_DCS_NOISE_THRESHOLD, |
2613 | EID_R_DCS_CHL_OCCUPANCY_THRESHOLD, |
2614 | EID_R_DCS_UPDATE_PERIOD, |
2615 | EID_R_ANTENNA_SELECTION, |
2616 | EID_R_BKGND_SCAN_ENABLE, |
2617 | EID_R_BKGND_SCAN_INTERVAL, |
2618 | EID_R_BCMCRATECTRL_AIRTIME, |
2619 | EID_R_CACS, |
2620 | EID_R_MAX_DISTANCE, |
2621 | EID_R_LOADGROUP_ID, |
2622 | EID_R_GROUP_BALANCING, |
2623 | EID_R_LC_CLIENT_COUNT_LIMIT, |
2624 | EID_R_ENABLE_LDPC, |
2625 | EID_R_ENABLE_TXSTBC, |
2626 | EID_R_ENABLE_RXSTBC, |
2627 | EID_R_ENABLE_TXBF, |
2628 | EID_R_TXBF_CLIENT_LIMIT, |
2629 | EID_R_INTERFERENCE_WAIT_TIME, |
2630 | EID_R_LC_ASSOC_TRY_TIMEOUT, |
2631 | EID_R_OPT_MCAST_PS, |
2632 | EID_R_MCAST_TO_UCAST_DELIVERY, |
2633 | EID_R_ADAPTABLE_RATE_FOR_MCAST, |
2634 | EID_R_ANTENNA_PORT_ATT, |
2635 | EID_R_PROBE_SUP_ENABLE, |
2636 | EID_R_PROBE_SUP_CAP, |
2637 | EID_R_PROBE_SUP_THRESH, |
2638 | EID_R_MU_NUM_RADAR_BACK, |
2639 | EID_R_ADSP_RADIO_SHARE, |
2640 | EID_R_OCS_CHANNEL_ENABLE, |
2641 | EID_R_OCS_CHANNEL_LIST, |
2642 | EID_R_OCS_SCAN_INTERVAL, |
2643 | EID_R_SENSOR_SCAN_MODE, |
2644 | EID_R_SENSOR_SCAN_LIST |
2645 | |
2646 | |
2647 | } wassp_subtlv_radio_block_type_t; |
2648 | |
2649 | static const TLV_PARSER_ENTRY tlvRadioConfigTable[] = |
2650 | { |
2651 | { EID_R_UNUSED_0, "Radio Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2652 | { EID_R_RADIO_ID, "Radio ID", TLV_TYPE_INDEX8, 0, 0, 0, 0, 0, 0, 0, 0}, |
2653 | { EID_R_ENABLE_RADIO, "Enable/Disable Radio", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2654 | { EID_R_CHANNEL, "Radio Frequency In MHz", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2655 | { EID_R_OP_RATE_SET, "Operation Rate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2656 | { EID_R_OP_RATE_MAX, "Max Operation Rate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2657 | { EID_R_BEACON_PERIOD, "Beacon Interval", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2658 | { EID_R_DTIM_PERIOD, "DTIM Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2659 | { EID_R_RTS_THRESHOLD, "RTS/CTS Threshold", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2660 | { EID_R_ANTENNA_TYPE, "Radio Antenna Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2661 | { EID_R_A_CHAN_PLAN_TYPE, "Radio Channel Plan Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2662 | { EID_R_FRAGMENT_THRESHOLD, "Fragment Threshold", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2663 | { EID_R_POWER_LEVEL, "Power Level", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2664 | { EID_R_LC_ASSOC_TRY_MAX, "LC Association Max Try", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2665 | { EID_R_LC_STRICT_CLIENT_COUNT_LIMIT, "LC Strict Client Count Limit", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2666 | { EID_R_DIVERSITY_RX, "Rx Diversity", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2667 | { EID_R_DIVERSITY_TX, "Tx Diversity", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2668 | { EID_R_SHORT_PREAMBLE, "Radio Short Preamble", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2669 | { EID_R_BASIC_RATE_MAX, "Max Basic Rate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2670 | { EID_R_BASIC_RATE_MIN, "Min Basic Rate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2671 | { EID_R_HW_RETRIES, "Hardware Retries", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2672 | { EID_R_TX_POWER_MIN, "Min Tx Power", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2673 | { EID_R_TX_POWER_MAX, "Max Tx Power", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2674 | { EID_R_INTERFERENCE_EVENT_TYPE, "Interference Event Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2675 | { EID_R_DOMAIN_ID, "Domain ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2676 | { EID_R_B_ENABLE, "Enable Radio B", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2677 | { EID_R_B_BASIC_RATES, "Radio B Basic Rates", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2678 | { EID_R_G_ENABLE, "Enable Radio G", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2679 | { EID_R_G_PROTECT_MODE, "Radio G Protect Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2680 | { EID_R_G_PROTECT_TYPE, "Radio G Protect Type", TLV_TYPE_INDEX8, 0, 0, 0, 0, 0, 0, 0, 0}, |
2681 | { EID_R_G_PROTECT_RATE, "Radio G Protect Rate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2682 | { EID_R_G_BASIC_RATE, "Radio G Basic Rate", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2683 | { EID_R_A_SUPPORT_802_11_J, "Radio A Support 802.11J", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2684 | { EID_R_ATPC_EN_INTERVAL, "Automatic Transmit Power Control Interval", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2685 | { EID_R_ACS_CH_LIST, "Radio ACS Channel List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2686 | { EID_R_TX_POWER_ADJ, "Radio Tx Power Adjustment", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2687 | { EID_R_WIRELESS_MODE, "Wireless Radio Mode", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2688 | { EID_R_N_CHANNEL_BONDING, "802.11n Channel Bonding: 0=No Bonding, 1=Bond-Up, 2=Bond-Down", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2689 | { EID_R_N_CHANNEL_WIDTH, "802.11n Channel Width: 1=20Mhz, 2=40Mhz, 3=both", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2690 | { EID_R_N_GUARD_INTERVAL, "802.11n Guard Interval: 1=short, 2=long", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2691 | { EID_R_N_PROTECT_ENABLE, "802.11n Channel Protection Mode: 0=disabled, 1=enabled", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2692 | { EID_R_N_PROTECT_TYPE, "802.11n 40Mhz Channel Protection: 0=None, 1=CTS only, 2=RTS/CTS", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2693 | { EID_R_N_PROTECT_OFFSET, "802.11n Channel Protection Offset: 1=20Mhz, 2=25MHz", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2694 | { EID_R_N_PROTECT_BUSY_THRESHOLD, "802.11n 40Mhz Channel Busy Threshold: 0...100", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2695 | { EID_R_AGGREGATE_MSDU, "Aggregate MSDUs: 0=disabled, 1=enabled", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2696 | { EID_R_AGGREGATE_MSDU_MAX_LEN, "Aggregate MSDU Max Length: 2290...4096", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2697 | { EID_R_AGGREGATE_MPDU, "Aggregate MPDUs: 0=disabled, 1=enabled", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2698 | { EID_R_AGGREGATE_MPDU_MAX_LEN, "Aggregate MPDU Max Length: 1024...65535", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2699 | { EID_R_AGGREGATE_MPDU_SUBFRAMES, "Aggregate MPDU Max # of Sub-frames: 2...64", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2700 | { EID_R_ADDBA_SUPPORT, "ADDBA Support: 0=disabled, 1=enabled", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2701 | { EID_R_DCS_MODE, "Dynamic channel Selection Mode: 0=off, 1=monitor, 2=active", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2702 | { EID_R_DCS_NOISE_THRESHOLD, "Dynamic channel Selection Noise Threshold", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2703 | { EID_R_DCS_CHL_OCCUPANCY_THRESHOLD, "Dynamic channel Selection Channel Occupancy", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2704 | { EID_R_DCS_UPDATE_PERIOD, "Dynamic channel Selection Update Period", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2705 | { EID_R_ANTENNA_SELECTION, "Antenna selection. LSB 0 - Left, bit 1 - Middle, bit 2 - Right", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2706 | { EID_R_BKGND_SCAN_ENABLE, "Voice Over WIFI: 0=off, 1=on ", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2707 | { EID_R_BKGND_SCAN_INTERVAL, "Voice Over WIFI Interval", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2708 | { EID_R_BCMCRATECTRL_AIRTIME, "Broadcast/Multicast Rate Control: The Percentage of Airtime Allowed for Broadcast/Multicast Traffic", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2709 | { EID_R_CACS, "Thick/Thin AP: Cluster ACS", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2710 | { EID_R_MAX_DISTANCE, "Radio Max Distance (used for WDS)", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2711 | { EID_R_LOADGROUP_ID, "Radio Load Group or Balance Group ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2712 | { EID_R_GROUP_BALANCING, "Group Balancing Mode", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2713 | { EID_R_LC_CLIENT_COUNT_LIMIT, "Radio Client Count Limit", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2714 | { EID_R_ENABLE_LDPC, "Enable/Disable LDPC Coding: 0 = Disable, 1 = Enable", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2715 | { EID_R_ENABLE_TXSTBC, "Enable/Disable Radio TxSTBC: 0 = Disable, 1 = Enable", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2716 | { EID_R_ENABLE_RXSTBC, "Enable/Disable Radio RxSTBC: 0 = Disable, 1 = Enable", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2717 | { EID_R_ENABLE_TXBF, "Set TxBF Mode", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2718 | { EID_R_TXBF_CLIENT_LIMIT, "TxBF Client Limit", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2719 | { EID_R_INTERFERENCE_WAIT_TIME, "Interference Wait Time", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2720 | { EID_R_LC_ASSOC_TRY_TIMEOUT, "LC Association Try Time Out", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2721 | { EID_R_OPT_MCAST_PS, "Enable/Disable Optimized Multicast Power Save: 0 = Disable, 1 = Enable", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2722 | { EID_R_MCAST_TO_UCAST_DELIVERY, "Multicast to Unicast Delivery: 0 = Disable, 1 = Auto", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2723 | { EID_R_ADAPTABLE_RATE_FOR_MCAST, "Enable/Disable Adaptable Rate for Multicast: 0 = Disable, 1 = Enable", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2724 | { EID_R_ANTENNA_PORT_ATT, "Antenna Port ATT", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2725 | { EID_R_PROBE_SUP_ENABLE, "Enable/Disable Probe Suppression: 0 = Disable, 1 = Enable", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2726 | { EID_R_PROBE_SUP_CAP, "Probe Suppression Capacity", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2727 | { EID_R_PROBE_SUP_THRESH, "Probe Suppression Threshold", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2728 | { EID_R_MU_NUM_RADAR_BACK, "DFS Max Number of Clients Allow Return to Original Channel After DFS", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2729 | { EID_R_ADSP_RADIO_SHARE, "ADSP Radio Share", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2730 | { EID_R_OCS_CHANNEL_ENABLE, "Enable/Disable OCS", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2731 | { EID_R_OCS_CHANNEL_LIST, "List Of OCS Channel", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2732 | { EID_R_OCS_SCAN_INTERVAL, "OCS Scan Interval", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2733 | { EID_R_SENSOR_SCAN_MODE, "Sensor Scan Mode", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2734 | { EID_R_SENSOR_SCAN_LIST, "Sensor Scan List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0} |
2735 | |
2736 | }; |
2737 | |
2738 | |
2739 | |
2740 | |
2741 | |
2742 | typedef enum |
2743 | { |
2744 | EID_V_UNUSED = 0, |
2745 | EID_V_RADIO_ID, |
2746 | EID_V_VNS_ID, |
2747 | EID_V_TURBO_VOICE, |
2748 | EID_V_PROP_IE, |
2749 | EID_V_ENABLE_802_11_H, |
2750 | EID_V_POWER_BACKOFF, |
2751 | EID_V_BRIDGE_MODE, |
2752 | EID_V_VLAN_TAG, |
2753 | EID_V_PROCESS_IE_REQ, |
2754 | EID_V_ENABLE_U_APSD, |
2755 | EID_V_ADM_CTRL_VOICE, |
2756 | EID_V_ADM_CTRL_VIDEO, |
2757 | EID_V_QOS_UP_VALUE, |
2758 | EID_V_PRIORITY_OVERRIDE, |
2759 | EID_V_DSCP_OVERRIDE_VALUE, |
2760 | EID_V_ENABLE_802_11_E, |
2761 | EID_V_ENABLE_WMM, |
2762 | EID_V_LEGACY_CLIENT_PRIORITY, |
2763 | EID_V_SSID_ID, |
2764 | EID_V_SSID_BCAST_STRING, |
2765 | EID_V_SSID_SUPPRESS, |
2766 | EID_V_802_1_X_ENABLE, |
2767 | EID_V_802_1_X_DYN_REKEY, |
2768 | EID_V_WPA_ENABLE, |
2769 | EID_V_WPA_V2_ENABLE, |
2770 | EID_V_WPA_PASSPHRASE, |
2771 | EID_V_WPA_CIPHER_TYPE, |
2772 | EID_V_WPA_V2_CIPHER_TYPE, |
2773 | EID_V_WEP_KEY_INDEX, |
2774 | EID_V_WEP_DEFAULT_KEY_VALUE, |
2775 | EID_V_CHANNEL_REPORT, |
2776 | EID_V_WDS_SERVICE, |
2777 | EID_V_WDS_BSSID_PARENT, |
2778 | EID_V_WDS_BRIDGE, |
2779 | EID_V_OKC_ENABLED, |
2780 | EID_V_MU_ASSOC_RETRIES, |
2781 | EID_V_MU_ASSOC_TIMEOUT, |
2782 | EID_V_WDS_PARENT, |
2783 | EID_V_WDS_BACK_PARENT, |
2784 | EID_V_WDS_NAME, |
2785 | EID_V_SESSION_AVAIL, |
2786 | EID_V_UL_POLICER_ACTION, |
2787 | EID_V_DL_POLICER_ACTION, |
2788 | EID_V_ENABLE_802_11_K, |
2789 | EID_V_ENABLE_802_11_H_BG, |
2790 | EID_V_SITE_EGRESS_FILTER_MODE, |
2791 | EID_V_DEFAULT_IDLE_PRE_TIMEOUT, |
2792 | EID_V_DEFAULT_IDLE_POST_TIMEOUT, |
2793 | EID_V_IGNORE_COS, |
2794 | EID_V_RADIUS_SERVER_INDEX2, |
2795 | EID_V_MCAST_OPTIMIZATION, |
2796 | EID_V_MCAST_IGMP_TIMEOUT, |
2797 | EID_V_MCAST_FILTER_ENABLE, |
2798 | EID_V_FILTER_CONFIG_BLOCK, |
2799 | EID_V_DATA_REASSEMBLY_ENABLE, |
2800 | EID_V_UCAST_FILTER_ENABLE, |
2801 | EID_V_RATECTRL_CIR_UL, |
2802 | EID_V_RATECTRL_CIR_DL, |
2803 | EID_V_RATECTRL_CBS_UL, |
2804 | EID_V_RATECTRL_CBS_DL, |
2805 | EID_V_AIRTIME_FAIRNESS_ENABLE, |
2806 | EID_V_POWERSAVE_ENABLE, |
2807 | EID_V_GROUP_KP_SAVE_RETRY, |
2808 | EID_V_BALANCE_GROUP, |
2809 | EID_V_MESH_TYPE, |
2810 | EID_V_MESH_ROAMING_THRESHOLD, |
2811 | EID_V_COS, |
2812 | EID_V_RATE_LIMIT_RESOURCE_TBL, |
2813 | EID_V_AP_AUTH_CLIENT_MODES, |
2814 | EID_V_DEFAULT_POLICY_INDEX, |
2815 | EID_V_AUTH_POLICY_INDEX, |
2816 | EID_V_NONAUTH_POLICY_INDEX, |
2817 | EID_V_RADIUS_SERVER_INDEX, |
2818 | EID_V_NAS_IP, |
2819 | EID_V_NAS_ID, |
2820 | EID_V_VSA_SELMASK, |
2821 | EID_V_MBA_OPTIONS_MASK, |
2822 | EID_V_MBA_TIMEOUT_POLICY_KEY, |
2823 | EID_V_WLAN_SERVICE_NAME, |
2824 | EID_V_DEFAULT_SESSION_TIMEOUT, |
2825 | EID_V_RADIUS_CALLED_STATION_ID, |
2826 | EID_V_CAPTIVE_PORTAL, |
2827 | EID_V_COS_CONFIG_BLOCK, |
2828 | EID_V_TOPOLOGY_KEY, |
2829 | EID_V_MU_INIT_PERIOD_BEHAVIOUR, |
2830 | EID_V_DYNAMIC_EGRESS_VLANS, |
2831 | EID_V_STATIC_EGRESS_VLANS, |
2832 | EID_V_FLAGS, |
2833 | EID_V_DEFAULT_ACTION, |
2834 | EID_V_CONTAIN_TO_VLAN, |
2835 | EID_V_PVID_TOPOLOGY_KEY, |
2836 | EID_V_AP_REDIRECT, |
2837 | EID_V_ADM_CTRL_BE, |
2838 | EID_V_ADM_CTRL_BK, |
2839 | EID_V_11K_ENABLE, |
2840 | EID_V_11K_RM_CAP, |
2841 | EID_V_11R_ENABLE, |
2842 | EID_V_11R_R0KH_ID, |
2843 | EID_V_11R_MD_ID, |
2844 | EID_V_MGMT_FRAME_PROTECTION, |
2845 | EID_V_NETFLOW, |
2846 | EID_V_WLAN_DEFAULT_MIRRORN, |
2847 | EID_V_DEFAULT_MIRRORN, |
2848 | EID_V_11U_ANQP_BLOCK, |
2849 | EID_V_HS2_BLOCK, |
2850 | EID_V_APP_IDENTIFICATION_ENABLED, |
2851 | EID_V_PRIVACY, |
2852 | EID_V_11U_OSEN, |
2853 | EID_V_QOS_IN_USE, |
2854 | EID_V_CP_CONFIG_BLOCK, |
2855 | EID_V_CP_IDENTITY, |
2856 | EID_V_CP_PASSPHRASE, |
2857 | EID_V_CP_REDIRECT_URL, |
2858 | EID_V_CP_USE_HTTPS, |
2859 | EID_V_CP_AUTH_URL, |
2860 | EID_V_CP_FLAGS, |
2861 | EID_V_CP_AP_FQDN, |
2862 | EID_V_VNS_NAME, |
2863 | EID_V_LDAP_SERVER_INDEX, |
2864 | EID_V_AIRTIME_RESERVATION, |
2865 | EID_V_MU_DISCON_REQ_ENABLE |
2866 | |
2867 | } wassp_subtlv_vns_config_type_t; |
2868 | |
2869 | static const TLV_PARSER_ENTRY tlvVnsConfigTable[] = |
2870 | { |
2871 | { EID_V_UNUSED, "Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2872 | { EID_V_RADIO_ID, "Radio ID", TLV_TYPE_INDEX8, 0, 0, 0, 0, 0, 0, 0, 0}, |
2873 | { EID_V_VNS_ID, "VNS ID", TLV_TYPE_INDEX8, 0, 0, 0, 0, 0, 0, 0, 0}, |
2874 | { EID_V_TURBO_VOICE, "Enable Turbo Voice", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2875 | { EID_V_PROP_IE, "Process IE", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2876 | { EID_V_ENABLE_802_11_H, "Enable 802.11H", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2877 | { EID_V_POWER_BACKOFF, "Enable 802.11H Power Back Off", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2878 | { EID_V_BRIDGE_MODE, "VNS Bridge Mode: 0 = Tunnel, 1 = Bridge, 3 = WDS, 10 = Any ", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2879 | { EID_V_VLAN_TAG, "Vlan Tag: -1 = Untagged, -2 = Tunnel, 0 = WDS, 1-4094 = Tagged", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2880 | { EID_V_PROCESS_IE_REQ, "Process IE Request", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2881 | { EID_V_ENABLE_U_APSD, "Enable UAPSD Mode", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2882 | { EID_V_ADM_CTRL_VOICE, "Enable Admission Control for Voice", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2883 | { EID_V_ADM_CTRL_VIDEO, "Enable Admission Control for Video", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2884 | { EID_V_QOS_UP_VALUE, "DSCP to UP Mapping", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2885 | { EID_V_PRIORITY_OVERRIDE, "Enable DSCP to UP Override", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2886 | { EID_V_DSCP_OVERRIDE_VALUE, "DSCP to UP Override value", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2887 | { EID_V_ENABLE_802_11_E, "Enable 802.11E", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2888 | { EID_V_ENABLE_WMM, "Enable WMM Mode", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2889 | { EID_V_LEGACY_CLIENT_PRIORITY, "Enable Legacy Value", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2890 | { EID_V_SSID_ID, "Internal VID Number Assigned by Controller", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2891 | { EID_V_SSID_BCAST_STRING, "SSID String", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2892 | { EID_V_SSID_SUPPRESS, "Enable Suppress SSID", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2893 | { EID_V_802_1_X_ENABLE, "Enable 802.11X", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2894 | { EID_V_802_1_X_DYN_REKEY, "VAP Group Key Update Interval", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2895 | { EID_V_WPA_ENABLE, "Enable WPA", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2896 | { EID_V_WPA_V2_ENABLE, "Enable WPA V2", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2897 | { EID_V_WPA_PASSPHRASE, "WPA-PSK Passphrase", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2898 | { EID_V_WPA_CIPHER_TYPE, "WPA Cipher Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2899 | { EID_V_WPA_V2_CIPHER_TYPE, "WPA V2 Cipher Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2900 | { EID_V_WEP_KEY_INDEX, "WEP Key Index", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2901 | { EID_V_WEP_DEFAULT_KEY_VALUE, "WEP Default Key", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2902 | { EID_V_CHANNEL_REPORT, "Channel Report", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2903 | { EID_V_WDS_SERVICE, "WDS Service Type: 0 = None, 1 = Child, 2 = Parent, 3 = Both", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2904 | { EID_V_WDS_BSSID_PARENT, "WDS Parent BSSID", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
2905 | { EID_V_WDS_BRIDGE, "Enable WDS Bridge: 0 = Unknown, 1 = Enable, 2 = Disable", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2906 | { EID_V_OKC_ENABLED, "OKC/Preauthentication", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2907 | { EID_V_MU_ASSOC_RETRIES, "MU Association Retries", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2908 | { EID_V_MU_ASSOC_TIMEOUT, "MU Association Request Time Out", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2909 | { EID_V_WDS_PARENT, "WDS Parent AP", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2910 | { EID_V_WDS_BACK_PARENT, "WDS Backup Parent AP", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2911 | { EID_V_WDS_NAME, "WDS AP Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2912 | { EID_V_SESSION_AVAIL, "Enable Session Availability", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2913 | { EID_V_UL_POLICER_ACTION, "Up Link Policer Action: Bit0 Set = Downgrade, Bit1 Set = Drop, Bit2 Set = Delete TSPEC", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2914 | { EID_V_DL_POLICER_ACTION, "Down Link Policer Action: Bit0 Set = Downgrade, Bit1 Set = Drop, Bit2 Set = Delete TSPEC", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2915 | { EID_V_ENABLE_802_11_K, "Enable 802.11K", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2916 | { EID_V_ENABLE_802_11_H_BG, "Enable 802.11H For BG Radio", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2917 | { EID_V_SITE_EGRESS_FILTER_MODE, "Site Egress Filter Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2918 | { EID_V_DEFAULT_IDLE_PRE_TIMEOUT, "Default Idle Pre Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2919 | { EID_V_DEFAULT_IDLE_POST_TIMEOUT, "Default Idle Post Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2920 | { EID_V_IGNORE_COS, "Ignore CoS In This VNS", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2921 | { EID_V_RADIUS_SERVER_INDEX2, "Secondary Radius Server Index", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2922 | { EID_V_MCAST_OPTIMIZATION, "Multicast: IGMP Snooping Enable/Disable Per VNS", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2923 | { EID_V_MCAST_IGMP_TIMEOUT, "Multicast: IGMP Snooping LDMG Entry Expire Timer In Minutes", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2924 | { EID_V_MCAST_FILTER_ENABLE, "Enable Multicast Filtering at AP", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2925 | { EID_V_FILTER_CONFIG_BLOCK, "Filter Config Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_FILTER, 0, 0, 0, 0, 0, 0, 0}, |
2926 | { EID_V_DATA_REASSEMBLY_ENABLE, "Enable Fragmentation", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2927 | { EID_V_UCAST_FILTER_ENABLE, "Enable Unicast Filter", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2928 | { EID_V_RATECTRL_CIR_UL, "Uplink CIR", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2929 | { EID_V_RATECTRL_CIR_DL, "Downlink CIR", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2930 | { EID_V_RATECTRL_CBS_UL, "Uplink CBS", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2931 | { EID_V_RATECTRL_CBS_DL, "Downlink CBS", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2932 | { EID_V_AIRTIME_FAIRNESS_ENABLE, "Enable Airtime Fairness", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2933 | { EID_V_POWERSAVE_ENABLE, "Enable Power Save", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2934 | { EID_V_GROUP_KP_SAVE_RETRY, "Group Power Save Retry", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2935 | { EID_V_BALANCE_GROUP, "Enable Vlan Membership to The Radio Balance", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2936 | { EID_V_MESH_TYPE, "Mesh Type: 0 = Static WDS, 1 = Dynamic WDS", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2937 | { EID_V_MESH_ROAMING_THRESHOLD, "Mesh Roaming Threshold", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2938 | { EID_V_COS, "AP COS", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2939 | { EID_V_RATE_LIMIT_RESOURCE_TBL, "Rate Limit Resource List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2940 | { EID_V_AP_AUTH_CLIENT_MODES, "Client Authentication Mode: Bit0 Set = MBA, Bit1 SET = Dot1x, Bit2 Set = CP", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2941 | { EID_V_DEFAULT_POLICY_INDEX, "Default Policy Index", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2942 | { EID_V_AUTH_POLICY_INDEX, "Authentication Policy Index", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2943 | { EID_V_NONAUTH_POLICY_INDEX, "Non Authentication Policy Index", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2944 | { EID_V_RADIUS_SERVER_INDEX, "Primary Radius Server", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2945 | { EID_V_NAS_IP, "NAS IP", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2946 | { EID_V_NAS_ID, "NAS Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2947 | { EID_V_VSA_SELMASK, "VSA Mask", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2948 | { EID_V_MBA_OPTIONS_MASK, "MBA Options Mask", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2949 | { EID_V_MBA_TIMEOUT_POLICY_KEY, "MBA Timeout Policy Key", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2950 | { EID_V_WLAN_SERVICE_NAME, "WLAN Service Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2951 | { EID_V_DEFAULT_SESSION_TIMEOUT, "Default Session Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2952 | { EID_V_RADIUS_CALLED_STATION_ID, "Radius Called Station ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2953 | { EID_V_CAPTIVE_PORTAL, "Enable Captive Portal", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2954 | { EID_V_COS_CONFIG_BLOCK, "COS Configuration Block Index", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2955 | { EID_V_TOPOLOGY_KEY, "Topology Key", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2956 | { EID_V_MU_INIT_PERIOD_BEHAVIOUR, "MU Init Behaviour: 0 = Discard Non Auth Traffic, 1 = Default Policy", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2957 | { EID_V_DYNAMIC_EGRESS_VLANS, "Dynamic Egress Vlan list", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2958 | { EID_V_STATIC_EGRESS_VLANS, "Static Egress Vlan list", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2959 | { EID_V_FLAGS, "Policy Flags Based on Analyzing The Rules Inside The Policy", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2960 | { EID_V_DEFAULT_ACTION, "Default Action", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2961 | { EID_V_CONTAIN_TO_VLAN, "Default Contain Vlan", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2962 | { EID_V_PVID_TOPOLOGY_KEY, "PVID Topology Key", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2963 | { EID_V_AP_REDIRECT, "AP Redirect Mode: -1 = Invalid, 0 = Disable, 1 = At Controller, 2 = At AP", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
2964 | { EID_V_ADM_CTRL_BE, "Enable Admission Control For Best Effort", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2965 | { EID_V_ADM_CTRL_BK, "Enable Admission Control For Background", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2966 | { EID_V_11K_ENABLE, "Enable 802.11K", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2967 | { EID_V_11K_RM_CAP, "802.11K RM Capacity", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2968 | { EID_V_11R_ENABLE, "Enable 802.11R", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2969 | { EID_V_11R_R0KH_ID, "802.11R R0 Key Holder ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2970 | { EID_V_11R_MD_ID, "802.11R Mobility Domain ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2971 | { EID_V_MGMT_FRAME_PROTECTION, "Protected Management Frames: 0 = Enable, 1 = Disable, 2 = Require", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2972 | { EID_V_NETFLOW, "Control for NetFlow: 1 = Enable, 2 = Disable", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2973 | { EID_V_WLAN_DEFAULT_MIRRORN, "V_WLAN_DEFAULT_MIRRORN", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2974 | { EID_V_DEFAULT_MIRRORN, "WLAN Default MirrorN: 0 = None, 1 = Prohibited, 2 = Enable, 3 = Enable TCP and UDP Both Direction, 4 = Enable TCP and UDP In Direction ", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2975 | { EID_V_11U_ANQP_BLOCK, "802.11U ANQP Config Block", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2976 | { EID_V_HS2_BLOCK, "HS2 Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2977 | { EID_V_APP_IDENTIFICATION_ENABLED, "Enable/Disable Application Identification", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2978 | { EID_V_PRIVACY, "Privacy", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2979 | { EID_V_11U_OSEN, "Enable OSU Server-Only Authenticated L2 Encryption Network", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2980 | { EID_V_QOS_IN_USE, "Bitmask Used to Select DHCP Values for QoS Mapping", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
2981 | { EID_V_CP_CONFIG_BLOCK, "CP Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_V_CP_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
2982 | { EID_V_CP_IDENTITY, "User Identity", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2983 | { EID_V_CP_PASSPHRASE, "Shared Secret in Encryption Form", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2984 | { EID_V_CP_REDIRECT_URL, "Redirection Url for Non-auth Policy", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2985 | { EID_V_CP_USE_HTTPS, "Enable HTTPS", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
2986 | { EID_V_CP_AUTH_URL, "Where to Redirect MU After Successful Authentication", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2987 | { EID_V_CP_FLAGS, "Bitmap for Captive Portal Flags", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2988 | { EID_V_CP_AP_FQDN, "AP FQDN Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2989 | { EID_V_VNS_NAME, "VNS Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
2990 | { EID_V_LDAP_SERVER_INDEX, "LDAP Server for CP Authentication", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
2991 | { EID_V_AIRTIME_RESERVATION, "Assign Airtime to VNS In Percentage In Steps of 10%", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0} |
2992 | |
2993 | }; |
2994 | |
2995 | |
2996 | |
2997 | |
2998 | |
2999 | //EID_STATS_VNS_BLOCK |
3000 | typedef enum |
3001 | { |
3002 | EID_V_STATS_UNUSED0, |
3003 | EID_V_STATS_VNSID, |
3004 | EID_V_STATS_RADCL_REQS, |
3005 | EID_V_STATS_RADCL_FAILED, |
3006 | EID_V_STATS_RADCL_REJECTS, |
3007 | EID_V_STATS_VNS_ENTRY = 118 |
3008 | } wassp_subtlv_vns_status_type_t; |
3009 | |
3010 | static const TLV_PARSER_ENTRY tlvVnsStatusTable[] = |
3011 | { |
3012 | { EID_V_STATS_UNUSED0, "VNS Stats Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3013 | { EID_V_STATS_VNSID, "VNS ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3014 | { EID_V_STATS_RADCL_REQS, "VNS Radius Stats Request", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3015 | { EID_V_STATS_RADCL_FAILED, "VNS Radius Stats Failed", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3016 | { EID_V_STATS_RADCL_REJECTS, "VNS Radius Stats Reject", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3017 | { EID_V_STATS_VNS_ENTRY, "VNS Stats Entry", TLV_TYPE_BLOCK_TLV7, TAB_STATS_VNS, 0, 0, 0, 0, 0, 0, 0} |
3018 | |
3019 | }; |
3020 | |
3021 | |
3022 | |
3023 | |
3024 | |
3025 | //RADIUS: Global Radius Config Block (V8R11: Site) |
3026 | |
3027 | typedef enum |
3028 | { |
3029 | EID_RADIUS_ID = 0, |
3030 | EID_RADIUS_IP_NAME, |
3031 | EID_RADIUS_SHAREDSECRET, |
3032 | EID_RADIUS_PROTOCOL, |
3033 | EID_RADIUS_PORT, |
3034 | EID_RADIUS_TIMEOUT, |
3035 | EID_RADIUS_RETRY, |
3036 | EID_RADIUS_MBA_MAC_FORMAT, |
3037 | EID_RADIUS_MBA_PASSWORD |
3038 | |
3039 | } wassp_subtlv_radius_config_type_t; |
3040 | |
3041 | static const TLV_PARSER_ENTRY tlvRadiusConfigTable[] = |
3042 | { |
3043 | { EID_RADIUS_ID, "Radius ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3044 | { EID_RADIUS_IP_NAME, "Radius Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3045 | { EID_RADIUS_SHAREDSECRET, "Radius Shared Secret", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3046 | { EID_RADIUS_PROTOCOL, "Radius Protocol: 0 = PAP, 1 = CHAP, 2 = MS CHAP, 3 = MS CHAP2", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3047 | { EID_RADIUS_PORT, "Radius Port", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3048 | { EID_RADIUS_TIMEOUT, "Radius Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3049 | { EID_RADIUS_RETRY, "Radius Retry Count", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3050 | { EID_RADIUS_MBA_MAC_FORMAT, "Radius MBA MAC Format", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3051 | { EID_RADIUS_MBA_PASSWORD, "Radius MBA Password", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0} |
3052 | |
3053 | }; |
3054 | |
3055 | |
3056 | |
3057 | //RADSRV:Radius Server Config Block for a specific VNS (for V6R0: Branch 802.1x) |
3058 | typedef enum |
3059 | { |
3060 | EID_V_UNUSED0, |
3061 | EID_V_RADSRV_SRV_ID, |
3062 | EID_V_RADSRV_SRV_TYPE, |
3063 | EID_V_RADSRV_SRV_PORT, |
3064 | EID_V_RADSRV_SRV_RETRY, |
3065 | EID_V_RADSRV_SRV_TIMEOUT, |
3066 | EID_V_RADSRV_AUTH_TYPE, |
3067 | EID_V_RADSRV_PASSWORD, |
3068 | EID_V_RADSRV_NAS_IP, |
3069 | EID_V_RADSRV_NAS_ID |
3070 | |
3071 | } wassp_subtlv_radius_server_config_type_t; |
3072 | |
3073 | static const TLV_PARSER_ENTRY tlvRadiusServerConfigTable[] = |
3074 | { |
3075 | { EID_V_UNUSED0, "V_UNUSED0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3076 | { EID_V_RADSRV_SRV_ID, "Radius Server ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3077 | { EID_V_RADSRV_SRV_TYPE, "Radius Server Type", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3078 | { EID_V_RADSRV_SRV_PORT, "Radius Server Port", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3079 | { EID_V_RADSRV_SRV_RETRY, "Radius Server Retry", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3080 | { EID_V_RADSRV_SRV_TIMEOUT, "Radius Server Timeout", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3081 | { EID_V_RADSRV_AUTH_TYPE, "Radius Server Authentication Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3082 | { EID_V_RADSRV_PASSWORD, "Radius Server Password", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3083 | { EID_V_RADSRV_NAS_IP, "Radius Server NAS IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0}, |
3084 | { EID_V_RADSRV_NAS_ID, "Radius Server NAS ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0} |
3085 | }; |
3086 | |
3087 | |
3088 | typedef enum |
3089 | { |
3090 | EID_V_FILTER_UNUSED_0, |
3091 | EID_V_FILTER_NAME, |
3092 | EID_V_FILTER_RULES, |
3093 | EID_V_FILTER_TYPE, |
3094 | EID_V_FILTER_KEY, |
3095 | EID_V_SITE_FILTER_RULES, |
3096 | EID_V_FILTER_BYPASS_BMCAST, |
3097 | EID_V_FILTER_RULES_EXT_BLOCK, |
3098 | EID_V_SITE_FILTER_RULES_EXT_BLOCK |
3099 | |
3100 | |
3101 | } wassp_subtlv_filter_block_type_t; |
3102 | |
3103 | |
3104 | static const TLV_PARSER_ENTRY tlvFilterConfigTable[] = |
3105 | { |
3106 | { EID_V_FILTER_UNUSED_0, "Filter Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3107 | { EID_V_FILTER_NAME, "Filter Rule Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3108 | { EID_V_FILTER_RULES, "Filter Rule Bit Mask", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3109 | { EID_V_FILTER_TYPE, "Filter Rule Type", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3110 | { EID_V_FILTER_KEY, "Filter Rule Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3111 | { EID_V_SITE_FILTER_RULES, "Site Filter Rules", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3112 | { EID_V_FILTER_BYPASS_BMCAST, "Bypass Broadcast and Multicast", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3113 | { EID_V_FILTER_RULES_EXT_BLOCK, "Filter Rule Extended Block", TLV_TYPE_BLOCK_TLV7, TAB_V_FILTER_RULES_EXT_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3114 | { EID_V_SITE_FILTER_RULES_EXT_BLOCK, "Site Filter Rule Extended Block", TLV_TYPE_BLOCK_TLV7, TAB_V_SITE_FILTER_RULES_EXT_BLOCK, 0, 0, 0, 0, 0, 0, 0} |
3115 | }; |
3116 | |
3117 | |
3118 | |
3119 | typedef enum |
3120 | { |
3121 | EID_V_FILTER_UNUSED0, |
3122 | EID_V_FILTER_RULE_FIXED_APP_ID, |
3123 | EID_V_FILTER_RULE_EXT_ACT_FLAGS, |
3124 | EID_V_FILTER_RULES_APP_SIG_GROUP_ID, |
3125 | EID_V_FILTER_RULES_APP_SIG_DISP_ID, |
3126 | EID_V_FILTER_RULES_IPV6_ADDR |
3127 | |
3128 | } wassp_subtlv_filter_rule_ext_block_type_t; |
3129 | |
3130 | |
3131 | |
3132 | static const TLV_PARSER_ENTRY tlvFilterRuleExtConfigTable[] = |
3133 | { |
3134 | { EID_V_FILTER_UNUSED0, "Filter Rule Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3135 | { EID_V_FILTER_RULE_FIXED_APP_ID, "Fixed Application Rule ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3136 | { EID_V_FILTER_RULE_EXT_ACT_FLAGS, "Filter Rule Ext Act Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3137 | { EID_V_FILTER_RULES_APP_SIG_GROUP_ID, "Application Signature group ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3138 | { EID_V_FILTER_RULES_APP_SIG_DISP_ID, "Application Signature Display ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3139 | { EID_V_FILTER_RULES_IPV6_ADDR, "Filter Rule IPV6 List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0} |
3140 | |
3141 | }; |
3142 | |
3143 | |
3144 | typedef enum |
3145 | { |
3146 | EID_V_SITE_FILTER_UNUSED0, |
3147 | EID_V_SITE_FILTER_RULE_FIXED_APP_ID, |
3148 | EID_V_SITE_FILTER_RULE_EXT_ACT_FLAGS, |
3149 | EID_V_SITE_FILTER_RULES_APP_SIG_GROUP_ID, |
3150 | EID_V_SITE_FILTER_RULES_APP_SIG_DISP_ID, |
3151 | EID_V_SITE_FILTER_RULES_IPV6_ADDR |
3152 | |
3153 | } wassp_subtlv_site_filter_rule_ext_block_type_t; |
3154 | |
3155 | |
3156 | |
3157 | static const TLV_PARSER_ENTRY tlvSiteFilterRuleExtConfigTable[] = |
3158 | { |
3159 | { EID_V_SITE_FILTER_UNUSED0, "Site Filter Rule Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3160 | { EID_V_SITE_FILTER_RULE_FIXED_APP_ID, "Site Fixed Application Rule ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3161 | { EID_V_SITE_FILTER_RULE_EXT_ACT_FLAGS, "Site Filter Rule Ext Act Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3162 | { EID_V_SITE_FILTER_RULES_APP_SIG_GROUP_ID, "Site Application Signature group ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3163 | { EID_V_SITE_FILTER_RULES_APP_SIG_DISP_ID, "Site Application Signature Display ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3164 | { EID_V_SITE_FILTER_RULES_IPV6_ADDR, "Site Filter Rule IPV6 List", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0} |
3165 | }; |
3166 | |
3167 | |
3168 | |
3169 | #if 0 |
3170 | //BSSID2IP: BSSID to IP mapping block (for V6R0: VoWIFI) |
3171 | typedef enum |
3172 | { |
3173 | EID_BSSID2IP_UNUSED0, |
3174 | EID_BSSID2IP_BSSID, |
3175 | EID_BSSID2IP_IP |
3176 | |
3177 | } wassp_subtlv_bssid2ip_block_type_t; |
3178 | |
3179 | |
3180 | static const TLV_PARSER_ENTRY tlvBssid2ipConfigTable[] = |
3181 | { |
3182 | { EID_BSSID2IP_UNUSED0, "BSSID2IP Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3183 | { EID_BSSID2IP_BSSID, "BSSID2IP BSSID", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
3184 | { EID_BSSID2IP_IP, "BSSID2IP IP Address", TLV_TYPE_IP_ADDR9, 0, 0, 0, 0, 0, 0, 0, 0} |
3185 | |
3186 | }; |
3187 | #endif |
3188 | |
3189 | //EID_SITE_CONFIG_BLOCK: Site Config Block (V8.11: Rad@AP) |
3190 | typedef enum |
3191 | { |
3192 | EID_G_SITE_ENABLE = 4, |
3193 | EID_G_SITE_NAME, |
3194 | EID_G_RADIUS_CLIENT_AT_AP, |
3195 | EID_G_HYBRID_POLICY_MODE, |
3196 | EID_G_LOCATION, |
3197 | EID_G_INVALID_POLICY, |
3198 | EID_NAC_MBA_LOCAL_AUTH, |
3199 | EID_NAC_RULE_ARRAY, |
3200 | EID_NAC_RULE_BLOCK, |
3201 | EID_NAC_RULE_FLAGS, |
3202 | EID_NAC_RULE_AUTH_TYPE, |
3203 | EID_NAC_RULE_USER_USERNAME_GROUP_KEY, |
3204 | EID_NAC_RULE_USER_LDAPUSER_GROUP_KEY, |
3205 | EID_NAC_RULE_ENDSYS_HOSTNAME_GROUP_KEY, |
3206 | EID_NAC_RULE_ENDSYS_LDAPHOST_GROUP_KEY, |
3207 | EID_NAC_RULE_ENDSYS_IPv4_GROUP_KEY, |
3208 | EID_NAC_RULE_ENDSYS_MAC_GROUP_KEY, |
3209 | EID_NAC_RULE_DEV_TYPE_GROUP_KEY, |
3210 | EID_NAC_RULE_LOCATION_GROUP_KEY, |
3211 | EID_NAC_RULE_TIME_GROUP_KEY, |
3212 | EID_NAC_RULE_POLICY_KEY, |
3213 | EID_NAC_LDAP_USER_GROUP_ARRAY, |
3214 | EID_NAC_LDAP_USER_GROUP_BLOCK, |
3215 | EID_NAC_LDAP_USER_GROUP_KEY, |
3216 | EID_NAC_LDAP_USER_GROUP_MATCH_MODE, |
3217 | EID_NAC_LDAP_USER_ATTR_ARRAY, |
3218 | EID_NAC_LDAP_USER_ATTR_BLOCK, |
3219 | EID_NAC_LDAP_USER_ATTR_KEY, |
3220 | EID_NAC_LDAP_USER_ATTR_VAL, |
3221 | EID_NAC_USERNAME_GROUP_ARRAY, |
3222 | EID_NAC_USERNAME_GROUP_BLOCK, |
3223 | EID_NAC_USERNAME_GROUP_KEY, |
3224 | EID_NAC_USERNAME_ARRAY, |
3225 | EID_NAC_USERNAME, |
3226 | EID_NAC_HOSTNAME_GROUP_ARRAY, |
3227 | EID_NAC_HOSTNAME_GROUP_BLOCK, |
3228 | EID_NAC_HOSTNAME_GROUP_KEY, |
3229 | EID_NAC_HOSTNAME_ARRAY, |
3230 | EID_NAC_HOSTNAME, |
3231 | EID_NAC_HOST_IPv4_GROUP_ARRAY, |
3232 | EID_NAC_HOST_IPv4_GROUP_BLOCK, |
3233 | EID_NAC_HOST_IPv4_GROUP_KEY, |
3234 | EID_NAC_HOST_IPv4_ARRAY, |
3235 | EID_NAC_HOST_IPv4_ADDRESS, |
3236 | EID_NAC_LDAP_HOST_GROUP_ARRAY, |
3237 | EID_NAC_LDAP_HOST_GROUP_BLOCK, |
3238 | EID_NAC_LDAP_HOST_GROUP_KEY, |
3239 | EID_NAC_LDAP_HOST_GROUP_MATCH_MODE, |
3240 | EID_NAC_LDAP_HOST_ATTR_ARRAY, |
3241 | EID_NAC_LDAP_HOST_ATTR_BLOCK, |
3242 | EID_NAC_LDAP_HOST_ATTR_KEY, |
3243 | EID_NAC_LDAP_HOST_ATTR_VAL, |
3244 | EID_NAC_HOST_MAC_GROUP_ARRAY, |
3245 | EID_NAC_HOST_MAC_GROUP_BLOCK, |
3246 | EID_NAC_HOST_MAC_GROUP_KEY, |
3247 | EID_NAC_HOST_MAC_ARRAY, |
3248 | EID_NAC_HOST_MAC, |
3249 | EID_NAC_DEV_TYPE_GROUP_ARRAY, |
3250 | EID_NAC_DEV_TYPE_GROUP_BLOCK, |
3251 | EID_NAC_DEV_TYPE_GROUP_KEY, |
3252 | EID_NAC_DEV_TYPE_ARRAY, |
3253 | EID_NAC_DEV_TYPE_ATTRIBUTE, |
3254 | EID_NAC_TIME_GROUP_ARRAY, |
3255 | EID_NAC_TIME_GROUP_BLOCK, |
3256 | EID_NAC_TIME_RANGE_GROUP_KEY, |
3257 | EID_NAC_TIME_RANGE_ARRAY, |
3258 | EID_NAC_TIME_RANGE, |
3259 | EID_NAC_LOC_GROUP_ARRAY, |
3260 | EID_NAC_LOC_GROUP_BLOCK, |
3261 | EID_NAC_LOC_GROUP_KEY, |
3262 | EID_NAC_LOC_ATTR_ARRAY, |
3263 | EID_SITE_RATE_CONTROL_BLOCK, |
3264 | EID_NAC_LOC_ATTR_BLOCK, |
3265 | EID_NAC_LOC_SSID, |
3266 | EID_NAC_LOC_APID, |
3267 | EID_NAC_LDAP_SRV_ARRAY, |
3268 | EID_SITE_TOPOLOGY_BLOCK, |
3269 | EID_NAC_LDAP_SRV_BLOCK, |
3270 | EID_NAC_LDAP_SRV_KEY, |
3271 | EID_NAC_LDAP_SRV_URL, |
3272 | EID_NAC_LDAP_SRV_TIMEOUT, |
3273 | EID_NAC_LDAP_USER_SRCH_ROOT, |
3274 | EID_NAC_LDAP_HOST_SRCH_ROOT, |
3275 | EID_NAC_LDAP_OU_SRCH_ROOT, |
3276 | EID_NAC_LDAP_USER_OBJ_CLASS, |
3277 | EID_NAC_LDAP_USER_SRCH_ATTR, |
3278 | EID_NAC_LDAP_HOST_OBJ_CLASS, |
3279 | EID_NAC_LDAP_HOST_SRCH_ATTR, |
3280 | EID_NAC_LDAP_FLAGS, |
3281 | EID_NAC_LDAP_USER_AUTH_TYPE, |
3282 | EID_NAC_LDAP_OU_OBJ_CLASS_ARRAY, |
3283 | EID_NAC_LDAP_OU_OBJ_CLASS, |
3284 | EID_NAC_KRB_REALM_ARRAY, |
3285 | EID_NAC_KRB_REALM_BLOCK, |
3286 | EID_SITE_POLICY_BLOCK, |
3287 | EID_SITE_FILTER_CONFIG_BLOCK, |
3288 | EID_SITE_COS_CONFIG_BLOCK, |
3289 | EID_SITE_LOCATION_BASED_LOOKUP_BLOCK, |
3290 | EID_SITE_RADIUS_SERVER_BLOCK, |
3291 | EID_NAC_KRB_KDCS, |
3292 | EID_NAC_LDAP_SERVER_INDEX, |
3293 | EID_NAC_SERVER_CONFIG_ARRAY, |
3294 | EID_NAC_SERVER_CONFIG_BLOCK, |
3295 | EID_NAC_SERVER_FQDN, |
3296 | EID_NAC_SERVER_IPV4_ADDR, |
3297 | EID_NAC_SERVER_DOMAIN, |
3298 | EID_NAC_SERVER_ADMIN_ID, |
3299 | EID_NAC_SERVER_ADMIN_PWD, |
3300 | EID_NAC_SERVER_WORKGROUP, |
3301 | EID_NAC_RULE_ENDSYS_WEB_AUTH_USER_GROUP_KEY, |
3302 | EID_NAC_WEB_AUTH_USER_GROUP_ARRAY, |
3303 | EID_NAC_WEB_AUTH_USER_GROUP_BLOCK, |
3304 | EID_NAC_WEB_AUTH_USER_GROUP_KEY, |
3305 | EID_NAC_WEB_AUTH_USER_ARRAY, |
3306 | EID_G_SITE_MAX |
3307 | |
3308 | } wassp_subtlv_site_config_type_t; |
3309 | |
3310 | static const TLV_PARSER_ENTRY tlvSiteConfigTable[] = |
3311 | { |
3312 | { EID_G_SITE_ENABLE, "Enable Site", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
3313 | { EID_G_SITE_NAME, "Site Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3314 | { EID_G_RADIUS_CLIENT_AT_AP, "Enables Radius Client At AP", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
3315 | { EID_G_HYBRID_POLICY_MODE, "Hybrid Policy Mode", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3316 | { EID_G_LOCATION, "Location", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3317 | { EID_G_INVALID_POLICY, "Invalid Policy Action", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3318 | { EID_NAC_MBA_LOCAL_AUTH, "NAC MBA Authentication Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3319 | { EID_NAC_RULE_ARRAY, "Array of NAC Rule Structures", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3320 | { EID_NAC_RULE_BLOCK, "NAC Rule Configuration Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3321 | { EID_NAC_RULE_FLAGS, "Negate Flags For Different Groups", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3322 | { EID_NAC_RULE_AUTH_TYPE, "Authentication Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3323 | { EID_NAC_RULE_USER_USERNAME_GROUP_KEY, "Key Identifier of User Name Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3324 | { EID_NAC_RULE_USER_LDAPUSER_GROUP_KEY, "Key identifier of LDAP User Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3325 | { EID_NAC_RULE_ENDSYS_HOSTNAME_GROUP_KEY, "Key Identifier of End System Host Name Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3326 | { EID_NAC_RULE_ENDSYS_LDAPHOST_GROUP_KEY, "Key Identifier of End System LDAP Host Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3327 | { EID_NAC_RULE_ENDSYS_IPv4_GROUP_KEY, "Key Identifier of End System IPv4 Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3328 | { EID_NAC_RULE_ENDSYS_MAC_GROUP_KEY, "Key Identifier of End System Mac Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3329 | { EID_NAC_RULE_DEV_TYPE_GROUP_KEY, "Key Identifier of Device", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3330 | { EID_NAC_RULE_LOCATION_GROUP_KEY, "Key Identifier of Location Group", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3331 | { EID_NAC_RULE_TIME_GROUP_KEY, "Key Identifier of Time Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3332 | { EID_NAC_RULE_POLICY_KEY, "Policy ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3333 | { EID_NAC_LDAP_USER_GROUP_ARRAY, "NAC LDAP User Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3334 | { EID_NAC_LDAP_USER_GROUP_BLOCK, "NAC LDAP User Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3335 | { EID_NAC_LDAP_USER_GROUP_KEY, "Key Identifier of Specific LDAP User Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3336 | { EID_NAC_LDAP_USER_GROUP_MATCH_MODE, "Match Mode of LDAP User Group", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3337 | { EID_NAC_LDAP_USER_ATTR_ARRAY, "NAC LDAP User Attribute Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3338 | { EID_NAC_LDAP_USER_ATTR_BLOCK, "NAC LDAP User Attribute Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3339 | { EID_NAC_LDAP_USER_ATTR_KEY, "LDAP User Attribute Key", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3340 | { EID_NAC_LDAP_USER_ATTR_VAL, "LDAP User Attribute Value", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3341 | { EID_NAC_USERNAME_GROUP_ARRAY, "NAC Username Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3342 | { EID_NAC_USERNAME_GROUP_BLOCK, "NAC Username Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3343 | { EID_NAC_USERNAME_GROUP_KEY, "Key Identifier of Specific Username Group", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3344 | { EID_NAC_USERNAME_ARRAY, "NAC Username Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3345 | { EID_NAC_USERNAME, "NAC Username", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3346 | { EID_NAC_HOSTNAME_GROUP_ARRAY, "NAC Host Name Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3347 | { EID_NAC_HOSTNAME_GROUP_BLOCK, "NAC Host Name Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3348 | { EID_NAC_HOSTNAME_GROUP_KEY, "NAC Host Name Group Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3349 | { EID_NAC_HOSTNAME_ARRAY, "NAC Host Name Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3350 | { EID_NAC_HOSTNAME, "NAC Host Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3351 | { EID_NAC_HOST_IPv4_GROUP_ARRAY, "Array of Host By IPv4 Groups", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3352 | { EID_NAC_HOST_IPv4_GROUP_BLOCK, "NAC Host IPv4 Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3353 | { EID_NAC_HOST_IPv4_GROUP_KEY, "NAC Host IPv4 Group key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3354 | { EID_NAC_HOST_IPv4_ARRAY, "NAC Host IPv4 Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3355 | { EID_NAC_HOST_IPv4_ADDRESS, "NAC Host IPv4 Address", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3356 | { EID_NAC_LDAP_HOST_GROUP_ARRAY, "NAC LDAP Host Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3357 | { EID_NAC_LDAP_HOST_GROUP_BLOCK, "NAC LDAP Host Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3358 | { EID_NAC_LDAP_HOST_GROUP_KEY, "NAC LDAP Host Group Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3359 | { EID_NAC_LDAP_HOST_GROUP_MATCH_MODE, "Match Mode of Specific LDAP Host Group", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3360 | { EID_NAC_LDAP_HOST_ATTR_ARRAY, "NAC LDAP Host Attribute Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3361 | { EID_NAC_LDAP_HOST_ATTR_BLOCK, "NAC LDAP Host Attribute Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3362 | { EID_NAC_LDAP_HOST_ATTR_KEY, "NAC LDAP Host Attribute Key", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3363 | { EID_NAC_LDAP_HOST_ATTR_VAL, "NAC LDAP Host Attribute value", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3364 | { EID_NAC_HOST_MAC_GROUP_ARRAY, "NAC Host Mac Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3365 | { EID_NAC_HOST_MAC_GROUP_BLOCK, "NAC Host Mac Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3366 | { EID_NAC_HOST_MAC_GROUP_KEY, "NAC Host Mac Group Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3367 | { EID_NAC_HOST_MAC_ARRAY, "NAC Host Mac Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3368 | { EID_NAC_HOST_MAC, "NAC Host Mac", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3369 | { EID_NAC_DEV_TYPE_GROUP_ARRAY, "NAC Device Type Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3370 | { EID_NAC_DEV_TYPE_GROUP_BLOCK, "NAC Device Type Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3371 | { EID_NAC_DEV_TYPE_GROUP_KEY, "NAC Device Type Group Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3372 | { EID_NAC_DEV_TYPE_ARRAY, "NAC Device Type Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3373 | { EID_NAC_DEV_TYPE_ATTRIBUTE, "NAC Device Type Attribute", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3374 | { EID_NAC_TIME_GROUP_ARRAY, "NAC Time Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3375 | { EID_NAC_TIME_GROUP_BLOCK, "NAC Time Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3376 | { EID_NAC_TIME_RANGE_GROUP_KEY, "NAC Time Group Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3377 | { EID_NAC_TIME_RANGE_ARRAY, "NAC Time Range Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3378 | { EID_NAC_TIME_RANGE, "NAC Time Range", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3379 | { EID_NAC_LOC_GROUP_ARRAY, "NAC Location Group Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3380 | { EID_NAC_LOC_GROUP_BLOCK, "NAC Location Group Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3381 | { EID_NAC_LOC_GROUP_KEY, "NAC Location Group Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3382 | { EID_NAC_LOC_ATTR_ARRAY, "NAC Location Attribute Array", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3383 | { EID_SITE_RATE_CONTROL_BLOCK, "Site Rate Control Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3384 | { EID_NAC_LOC_ATTR_BLOCK, "NAC Location Attribute Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3385 | { EID_NAC_LOC_SSID, "NAC Location SSID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3386 | { EID_NAC_LOC_APID, "NAC Location AP ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3387 | { EID_NAC_LDAP_SRV_ARRAY, "NAC Array of LDAP Servers", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3388 | { EID_SITE_TOPOLOGY_BLOCK, "Site Topology Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3389 | { EID_NAC_LDAP_SRV_BLOCK, "NAC LDAP Server Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3390 | { EID_NAC_LDAP_SRV_KEY, "NAC LDAP Server Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3391 | { EID_NAC_LDAP_SRV_URL, "NAC LDAP Server Url", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3392 | { EID_NAC_LDAP_SRV_TIMEOUT, "Timeout for Response From LDAP Server", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3393 | { EID_NAC_LDAP_USER_SRCH_ROOT, "LDAP Server User Search Root", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3394 | { EID_NAC_LDAP_HOST_SRCH_ROOT, "LDAP Server Hostname Search Root", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3395 | { EID_NAC_LDAP_OU_SRCH_ROOT, "LDAP Server OU Search Root", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3396 | { EID_NAC_LDAP_USER_OBJ_CLASS, "LDAP Server User Object Class", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3397 | { EID_NAC_LDAP_USER_SRCH_ATTR, "LDAP Server User Search Attribute", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3398 | { EID_NAC_LDAP_HOST_OBJ_CLASS, "LDAP Server Host object Class", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3399 | { EID_NAC_LDAP_HOST_SRCH_ATTR, "LDAP Server Host Search Attribute", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3400 | { EID_NAC_LDAP_FLAGS, "LDAP Server Flag", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3401 | { EID_NAC_LDAP_USER_AUTH_TYPE, "User Authentication Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3402 | { EID_NAC_LDAP_OU_OBJ_CLASS_ARRAY, "Array of NAC LDAP Organizational Units (OU) Object Classes", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3403 | { EID_NAC_LDAP_OU_OBJ_CLASS, "NAC LDAP Organizational Units (OU) Object Class", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3404 | { EID_NAC_KRB_REALM_ARRAY, "Array of NAC Kerberos Realms", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3405 | { EID_NAC_KRB_REALM_BLOCK, "NAC Kerberos Realm Block", TLV_TYPE_BLOCK_TLV7, TAB_CONFIG_SITE, 0, 0, 0, 0, 0, 0, 0}, |
3406 | { EID_SITE_POLICY_BLOCK, "Policy Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3407 | { EID_SITE_FILTER_CONFIG_BLOCK, "Filter Configuration Block",TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3408 | { EID_SITE_COS_CONFIG_BLOCK, "COS Configuration Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3409 | { EID_SITE_LOCATION_BASED_LOOKUP_BLOCK, "Location Based Lookup Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3410 | { EID_SITE_RADIUS_SERVER_BLOCK, "Radius Server Block", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3411 | { EID_NAC_KRB_KDCS, "List of Kerberos KDC FQDN", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3412 | { EID_NAC_LDAP_SERVER_INDEX, "LDAP Server for MU Authorization", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3413 | { EID_NAC_SERVER_CONFIG_ARRAY, "Array of NAC Authentication Server Configurations", TLV_TYPE_BLOCK_TLV7, TAB_NAC_SERVER_CONFIG_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
3414 | { EID_NAC_SERVER_CONFIG_BLOCK, "NAC Authentication Server Block", TLV_TYPE_BLOCK_TLV7, TAB_NAC_SERVER_CONFIG_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3415 | { EID_NAC_SERVER_FQDN, "Authentication Server FQDN", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3416 | { EID_NAC_SERVER_IPV4_ADDR, "Authentication Server IPv4 address", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3417 | { EID_NAC_SERVER_DOMAIN, "Authentication Server Domain", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3418 | { EID_NAC_SERVER_ADMIN_ID, "NAC Authentication Server Admin ID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3419 | { EID_NAC_SERVER_ADMIN_PWD, "NAC Authentication Server Admin Password", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3420 | { EID_NAC_SERVER_WORKGROUP, "NAC Authentication Server Workgroup", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3421 | { EID_NAC_RULE_ENDSYS_WEB_AUTH_USER_GROUP_KEY, "NAC Rule End System WEB Authentication User Group Key", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3422 | { EID_NAC_WEB_AUTH_USER_GROUP_ARRAY, "NAC WEB Authentication User Group Array", TLV_TYPE_BLOCK_TLV7, TAB_NAC_WEB_AUTH_USER_GROUP_ARRAY, 0, 0, 0, 0, 0, 0, 0}, |
3423 | { EID_NAC_WEB_AUTH_USER_GROUP_BLOCK, "NAC WEB Authentication User Group Block", TLV_TYPE_BLOCK_TLV7, TAB_NAC_WEB_AUTH_USER_GROUP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3424 | { EID_NAC_WEB_AUTH_USER_GROUP_KEY, "NAC WEB Authentication User Group key", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3425 | { EID_NAC_WEB_AUTH_USER_ARRAY, "NAC WEB Authentication User", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3426 | { EID_G_SITE_MAX, "G_SITE_MAX",0, 0, 0, 0, 0, 0, 0, 0, 0} |
3427 | }; |
3428 | |
3429 | |
3430 | |
3431 | |
3432 | |
3433 | |
3434 | //EID_POLICY_BLOCK: Policy Table |
3435 | typedef enum |
3436 | { |
3437 | EID_POLICY_UNUSED0, |
3438 | EID_POLICY_ENTRY_NAME, |
3439 | EID_POLICY_ENTRY_KEY, |
3440 | EID_POLICY_TOPOLOGY_KEY, |
3441 | EID_POLICY_TOPOLOGY_VLAN_ID, |
3442 | EID_POLICY_TOPOLOGY_TYPE, |
3443 | EID_POLICY_FILTER_KEY, |
3444 | EID_POLICY_COS_KEY, |
3445 | EID_POLICY_IGNORE_COS, |
3446 | EID_POLICY_DYNAMIC_EGRESS_VLANS, |
3447 | EID_POLICY_STATIC_EGRESS_VLANS, |
3448 | EID_POLICY_DEFAULT_ACTION, |
3449 | EID_POLICY_FLAGS, |
3450 | EID_POLICY_DEFAULT_MIRRORN, |
3451 | EID_POLICY_RB_REDIRECT_URL |
3452 | |
3453 | // update below tlvPolicyConfigTable |
3454 | } wassp_subtlv_policy_config_type_t; |
3455 | |
3456 | static const TLV_PARSER_ENTRY tlvPolicyConfigTable[] = |
3457 | { |
3458 | { EID_POLICY_UNUSED0, "Policy Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3459 | { EID_POLICY_ENTRY_NAME, "Policy Entry name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3460 | { EID_POLICY_ENTRY_KEY, "Policy Entry Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3461 | { EID_POLICY_TOPOLOGY_KEY, "Policy Topology Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3462 | { EID_POLICY_TOPOLOGY_VLAN_ID, "Topology Vlan ID", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3463 | { EID_POLICY_TOPOLOGY_TYPE, "Policy Topology Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3464 | { EID_POLICY_FILTER_KEY, "Policy Filter Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3465 | { EID_POLICY_COS_KEY, "Policy COS Key", TLV_TYPE_INT2, 0, 0, 0, 0, 0, 0, 0, 0}, |
3466 | { EID_POLICY_IGNORE_COS, "Policy Ignore COS", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3467 | { EID_POLICY_DYNAMIC_EGRESS_VLANS, "list of Dynamic Egress VLAN IDs", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3468 | { EID_POLICY_STATIC_EGRESS_VLANS, "list of static egress VLAN IDs", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3469 | { EID_POLICY_DEFAULT_ACTION, "Default Action for Policy", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3470 | { EID_POLICY_FLAGS, "Policy Flags", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3471 | { EID_POLICY_DEFAULT_MIRRORN, "Set Default MirrorN", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3472 | { EID_POLICY_RB_REDIRECT_URL, "Policy Redirect Url", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0} |
3473 | |
3474 | }; |
3475 | |
3476 | |
3477 | |
3478 | //EID_COS_CONFIG_BLOCK |
3479 | typedef enum |
3480 | { |
3481 | EID_COS_UNUSED0, |
3482 | EID_COS_KEY, |
3483 | EID_COS_DEFINITION, |
3484 | EID_COS_IN_RATE_LIMIT, |
3485 | EID_COS_OUT_RATE_LIMIT |
3486 | } wassp_subtlv_cos_config_type_t; |
3487 | |
3488 | static const TLV_PARSER_ENTRY tlvCosConfigTable[] = |
3489 | { |
3490 | { EID_COS_UNUSED0, "COS Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3491 | { EID_COS_KEY, "COS Key", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3492 | { EID_COS_DEFINITION, "Binary Encoded COS Definition", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3493 | { EID_COS_IN_RATE_LIMIT, "Input Rate Limit in Kbps", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3494 | { EID_COS_OUT_RATE_LIMIT, "Output Rate Limit in Kbps", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0} |
3495 | |
3496 | }; |
3497 | |
3498 | //EID_11U_ANQP_BLOCK |
3499 | typedef enum |
3500 | { |
3501 | EID_11U_UNUSED0, |
3502 | EID_11U_3GPP_CELL_NETWORK_ARRAY, |
3503 | EID_11U_3GPP_CELL_NETWORK_STRUCT, |
3504 | EID_11U_3GPP_CELL_NETWORK_MCC, |
3505 | EID_11U_3GPP_CELL_NETWORK_MNC, |
3506 | EID_11U_ACCESS_NETWORK_TYPE, |
3507 | EID_11U_ASRA, |
3508 | EID_11U_DOMAIN_NAME, |
3509 | EID_11U_EAP_AUTH_PARAM, |
3510 | EID_11U_EAP_AUTH_PARAM_ARRAY, |
3511 | EID_11U_EAP_AUTH_PARAM_STRUCT, |
3512 | EID_11U_EAP_AUTH_TYPE, |
3513 | EID_11U_EAP_METHOD, |
3514 | EID_11U_EAP_METHODS_ARRAY, |
3515 | EID_11U_EAP_METHODS_STRUCT, |
3516 | EID_11U_HESSID, |
3517 | EID_11U_INTERNET_AVAILABLE, |
3518 | EID_11U_IPV4_ADDR_TYPE_AVAIL, |
3519 | EID_11U_IPV6_ADDR_TYPE_AVAIL, |
3520 | EID_11U_NAI_REALM, |
3521 | EID_11U_NAI_REALM_ARRAY, |
3522 | EID_11U_NAI_REALM_STRUCT, |
3523 | EID_11U_NETWORK_AUTH_TYPE, |
3524 | EID_11U_ROAMING_CONSORTIUM, |
3525 | EID_11U_ROAMING_CONSORTIUM_ARRAY, |
3526 | EID_11U_VENUE_INFO_GROUP_CODE, |
3527 | EID_11U_VENUE_INFO_TYPE_ASSIGNMENTS, |
3528 | EID_11U_VENUE_NAME_ARRAY, |
3529 | EID_11U_VENUE_NAME, |
3530 | EID_11U_NETWORK_AUTH_TYPE_URL |
3531 | } wassp_subtlv_11u_anqp_config_type_t; |
3532 | |
3533 | |
3534 | static const TLV_PARSER_ENTRY tlv11U_ANQP_blockTable[] = |
3535 | { |
3536 | //Members of EID_11U_ANQP_BLOCK block |
3537 | { EID_11U_UNUSED0, "11U Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3538 | { EID_11U_3GPP_CELL_NETWORK_ARRAY, "11U 3GPP Cell Network Array", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3539 | { EID_11U_3GPP_CELL_NETWORK_STRUCT, "11U 3GPP Cell Network Struct", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3540 | { EID_11U_3GPP_CELL_NETWORK_MCC, "11U 3GPP Cell Network MCC", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3541 | { EID_11U_3GPP_CELL_NETWORK_MNC, "11U 3GPP Cell Network MNC", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3542 | { EID_11U_ACCESS_NETWORK_TYPE, "11U Access network Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3543 | { EID_11U_ASRA, "11U ASRA", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3544 | { EID_11U_DOMAIN_NAME, "11U Domain Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3545 | { EID_11U_EAP_AUTH_PARAM, "11U EAP Authentication Parameter", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3546 | { EID_11U_EAP_AUTH_PARAM_ARRAY, "11U EAP Authentication Parameter Array", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3547 | { EID_11U_EAP_AUTH_PARAM_STRUCT, "11U EAP Authentication Parameter Struct", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3548 | { EID_11U_EAP_AUTH_TYPE, "11U EAP Authentication Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3549 | { EID_11U_EAP_METHOD, "11U EAP Authentication Method", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3550 | { EID_11U_EAP_METHODS_ARRAY, "11U EAP Authentication Methods Array", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3551 | { EID_11U_EAP_METHODS_STRUCT, "11U EAP Authentication Method Struct", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3552 | { EID_11U_HESSID, "11U HESSID", TLV_TYPE_MACADD6, 0, 0, 0, 0, 0, 0, 0, 0}, |
3553 | { EID_11U_INTERNET_AVAILABLE, "11U Internet Available", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3554 | { EID_11U_IPV4_ADDR_TYPE_AVAIL, "11U IPv4 Address Type Availability", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3555 | { EID_11U_IPV6_ADDR_TYPE_AVAIL, "11U IPv6 Address Type Availability", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3556 | { EID_11U_NAI_REALM, "11U NAI Realm", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3557 | { EID_11U_NAI_REALM_ARRAY, "11U NAI Realm Array", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3558 | { EID_11U_NAI_REALM_STRUCT, "11U NAI Realm Struct", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3559 | { EID_11U_NETWORK_AUTH_TYPE, "11U Network Authentication Type", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3560 | { EID_11U_ROAMING_CONSORTIUM, "11U Roaming Consortium", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3561 | { EID_11U_ROAMING_CONSORTIUM_ARRAY, "11U Roaming Consortium Array", TLV_TYPE_BLOCK_TLV7, TAB_11U_ANQP_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3562 | { EID_11U_VENUE_INFO_GROUP_CODE, "11U Venue Info Group Code", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3563 | { EID_11U_VENUE_INFO_TYPE_ASSIGNMENTS, "11U Venue Info Type Assignments", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3564 | { EID_11U_VENUE_NAME_ARRAY, "1U Venue Name Array", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3565 | { EID_11U_VENUE_NAME, "1U Venue Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3566 | { EID_11U_NETWORK_AUTH_TYPE_URL, "11U Network Authentication Type Url", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0} |
3567 | |
3568 | |
3569 | |
3570 | }; |
3571 | |
3572 | |
3573 | // AppVisibility Enforce config block EID_EXTAPP_CONF_BLOCK |
3574 | typedef enum |
3575 | { |
3576 | EID_EXTAPP_UNUSED0, |
3577 | EID_EXTAPP_DISP_NAME, |
3578 | EID_EXTAPP_DISP_ID, |
3579 | EID_EXTAPP_MATCH_STR, |
3580 | EID_EXTAPP_APP_ID, |
3581 | EID_EXTAPP_GROUP_ID |
3582 | } wassp_subtlv_extapp_conf_block_type_t; |
3583 | |
3584 | static const TLV_PARSER_ENTRY tlvExtapp_conf_blockTable[] = |
3585 | { |
3586 | { EID_EXTAPP_UNUSED0, "EXTAPP Unused 0", TLV_TYPE_UNKNOWN0, 0, 0, 0, 0, 0, 0, 0, 0}, |
3587 | { EID_EXTAPP_DISP_NAME, "EXTAPP Display Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3588 | { EID_EXTAPP_DISP_ID, "EXTAPP Display ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3589 | { EID_EXTAPP_MATCH_STR, "EXTAPP Match String", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3590 | { EID_EXTAPP_APP_ID, "EXTAPP Application ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3591 | { EID_EXTAPP_GROUP_ID, "EXTAPP Application Group ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0} |
3592 | |
3593 | }; |
3594 | |
3595 | |
3596 | //Members of EID_HS2_BLOCK block |
3597 | typedef enum |
3598 | { |
3599 | EID_HS2_UNUSED0, |
3600 | EID_HS2_ANQP_DOMAIN_ID, |
3601 | EID_HS2_CONNECTION_CAP, |
3602 | EID_HS2_CONNECTION_CAP_ARRAY, |
3603 | EID_HS2_DGAF, |
3604 | EID_HS2_ICON_NAME, |
3605 | EID_HS2_OPERATING_CLASS, |
3606 | EID_HS2_OP_FRIENDLY_NAME_ARRAY, |
3607 | EID_HS2_OP_FRIENDLY_NAME, |
3608 | EID_HS2_OSU_STRUCT, |
3609 | EID_HS2_OSU_SP_ARRAY, |
3610 | EID_HS2_OSU_SP_STRUCT, |
3611 | EID_HS2_OSU_SP_DESC_ARRAY, |
3612 | EID_HS2_OSU_SP_DESC, |
3613 | EID_HS2_OSU_SP_FRIENDLY_NAME_ARRAY, |
3614 | EID_HS2_OSU_SP_FRIENDLY_NAME, |
3615 | EID_HS2_OSU_SP_ICON_ARRAY, |
3616 | EID_HS2_OSU_SP_ICON_STRUCT, |
3617 | EID_HS2_OSU_SP_METHOD_LIST, |
3618 | EID_HS2_OSU_SP_NAI, |
3619 | EID_HS2_OSU_SP_SERVER_URI, |
3620 | EID_HS2_OSU_SSID, |
3621 | EID_HS2_RELEASE, |
3622 | EID_HS2_WAN_METRICS_STRUCT, |
3623 | EID_HS2_UPLINK_LOAD, |
3624 | EID_HS2_UPLINK_SPEED, |
3625 | EID_HS2_WIDTH, |
3626 | EID_HS2_DOWLINK_LOAD, |
3627 | EID_HS2_DOWLINK_SPEED, |
3628 | EID_HS2_HIGHT |
3629 | } wassp_subtlv_hs2_block_type_t; |
3630 | |
3631 | static const TLV_PARSER_ENTRY tlvHS2_blockTable[] = |
3632 | { |
3633 | { EID_HS2_UNUSED0, "HS2 Unused 0", TLV_TYPE_UNKNOWN0, 0, 0, 0, 0, 0, 0, 0, 0}, |
3634 | { EID_HS2_ANQP_DOMAIN_ID, "HS2 ANQP Domain ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3635 | { EID_HS2_CONNECTION_CAP, "HS2 Connection Capacity", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3636 | { EID_HS2_CONNECTION_CAP_ARRAY, "HS2 Connection Capacity Array", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3637 | { EID_HS2_DGAF, "Enable HS2 DGAF", TLV_TYPE_BOOL4, 0, 0, 0, 0, 0, 0, 0, 0}, |
3638 | { EID_HS2_ICON_NAME, "HS2 Icon Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3639 | { EID_HS2_OPERATING_CLASS, "HS2 Operating Class", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3640 | { EID_HS2_OP_FRIENDLY_NAME_ARRAY, "HS2 Operation Friendly Name Array", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3641 | { EID_HS2_OP_FRIENDLY_NAME, "HS2 Operation Friendly Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3642 | { EID_HS2_OSU_STRUCT, "HS2 OSU Struct", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3643 | { EID_HS2_OSU_SP_ARRAY, "HS2 OSU SP Array", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3644 | { EID_HS2_OSU_SP_STRUCT, "HS2 OSU SP Struct", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3645 | { EID_HS2_OSU_SP_DESC_ARRAY, "HS2 OSU SP Description Array", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3646 | { EID_HS2_OSU_SP_DESC, "HS2 OSU SP Description", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3647 | { EID_HS2_OSU_SP_FRIENDLY_NAME_ARRAY, "HS2 OSU SP Friendly Name Array", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3648 | { EID_HS2_OSU_SP_FRIENDLY_NAME, "HS2 OSU SP Friendly Name", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3649 | { EID_HS2_OSU_SP_ICON_ARRAY, "HS2 OSU SP Icon Array", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3650 | { EID_HS2_OSU_SP_ICON_STRUCT, "HS2 OSU SP Icon Struct", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3651 | { EID_HS2_OSU_SP_METHOD_LIST, "HS2 OSU SP Method List", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3652 | { EID_HS2_OSU_SP_NAI, "HS2 OSU SP NAI", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3653 | { EID_HS2_OSU_SP_SERVER_URI, "HS2 OSU SP Server Uri", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3654 | { EID_HS2_OSU_SSID, "HS2 OSU SSID", TLV_TYPE_STRING1, 0, 0, 0, 0, 0, 0, 0, 0}, |
3655 | { EID_HS2_RELEASE, "HS2 Release", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3656 | { EID_HS2_WAN_METRICS_STRUCT, "HS2 WAN method Struct", TLV_TYPE_BLOCK_TLV7, TAB_HS2_BLOCK, 0, 0, 0, 0, 0, 0, 0}, |
3657 | { EID_HS2_UPLINK_LOAD, "HS2 Uplink Load", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3658 | { EID_HS2_UPLINK_SPEED, "HS2 Uplink Speed", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3659 | { EID_HS2_WIDTH, "HS2 Width", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3660 | { EID_HS2_DOWLINK_LOAD, "HS2 Downlink Load", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3661 | { EID_HS2_DOWLINK_SPEED, "HS2 Downlink Speed", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3662 | { EID_HS2_HIGHT, "HS2 Height", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0} |
3663 | |
3664 | |
3665 | }; |
3666 | |
3667 | //EID_LOCATION_BASED_LOOKUP_BLOCK |
3668 | typedef enum |
3669 | { |
3670 | EID_LOC_UNUSED0, |
3671 | EID_LOC_VLAN_ID_KEY, // 1 |
3672 | EID_LOC_POLICY_TOPOLOGY_KEY // 2 |
3673 | } wassp_subtlv_locationbased_lookup_type_t; |
3674 | |
3675 | |
3676 | static const TLV_PARSER_ENTRY tlvLocationBaseLookUpTable[] = |
3677 | { |
3678 | { EID_LOC_UNUSED0, "Location Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3679 | { EID_LOC_VLAN_ID_KEY, "Location Vlan ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3680 | { EID_LOC_POLICY_TOPOLOGY_KEY, "Location Topology ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0} |
3681 | |
3682 | |
3683 | }; |
3684 | |
3685 | |
3686 | //EID_APP_POLICY_FIXED_BLOCK |
3687 | typedef enum |
3688 | { |
3689 | EID_APP_POLICY_UNUSED0, |
3690 | EID_APP_POLICY_ENTRY_BLOCK // 1 |
3691 | } wassp_subtlv_app_policy_fixed_type_t; |
3692 | |
3693 | static const TLV_PARSER_ENTRY tlvAppPolicyFixedTable[] = |
3694 | { |
3695 | { EID_APP_POLICY_UNUSED0, "Application Policy Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3696 | { EID_APP_POLICY_ENTRY_BLOCK, "Application Policy Entry Block", TLV_TYPE_BLOCK_TLV7, TAB_APP_POLICY_ENTRY_BLOCK, 0, 0, 0, 0, 0, 0, 0} |
3697 | |
3698 | |
3699 | }; |
3700 | |
3701 | |
3702 | |
3703 | |
3704 | // EID_APP_POLICY_ENTRY_BLOCK |
3705 | typedef enum |
3706 | { |
3707 | EID_APP_POLICY_ENTRY_UNUSED0, |
3708 | EID_APP_POLICY_APP_ID, // 1 |
3709 | EID_APP_POLICY_OFFSET_LW, // 2 |
3710 | EID_APP_POLICY_MASK, // 3 |
3711 | EID_APP_POLICY_VALUE // 4 |
3712 | } wassp_subtlv_app_policy_entry_type_t; |
3713 | |
3714 | |
3715 | static const TLV_PARSER_ENTRY tlvAppPolicyEntryTable[] = |
3716 | { |
3717 | { EID_APP_POLICY_ENTRY_UNUSED0, "Application Policy Entry Unused 0", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3718 | { EID_APP_POLICY_APP_ID, "Application Policy ID", TLV_TYPE_UINT3, 0, 0, 0, 0, 0, 0, 0, 0}, |
3719 | { EID_APP_POLICY_OFFSET_LW, "Application Policy Offset", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3720 | { EID_APP_POLICY_MASK, "Application Policy Masks", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0}, |
3721 | { EID_APP_POLICY_VALUE, "Application Policy Values", TLV_TYPE_OCTETS5, 0, 0, 0, 0, 0, 0, 0, 0} |
3722 | |
3723 | |
3724 | }; |
3725 | |
3726 | |
3727 | |
3728 | |
3729 | |
3730 | |
3731 | typedef struct |
3732 | { |
3733 | char subtree_name[WASSP_MAX_SUBTREE_LEN50]; |
3734 | int* ett_num; |
3735 | int max_entry; |
3736 | const TLV_PARSER_ENTRY *entry; |
3737 | } WASSP_SUBTLV_DECODER_INFO_t; |
3738 | |
3739 | |
3740 | |
3741 | /* EID_ACTION -- upgrade command */ |
3742 | #define UPGRADE_ACTION_REPORT(0) (0) /* report current status */ |
3743 | #define UPGRADE_ACTION_NO_CHANGE(1) (1) /* no upgrade is required */ |
3744 | #define UPGRADE_ACTION_LEGACY(2) (2) /* legacy upgrade, stop service and upgrade*/ |
3745 | #define UPGRADE_ACTION_BACKGROUND(3) (3) /* background download, keep service then upgrade */ |
3746 | #define UPGRADE_ACTION_SAVE_BACKUP(4) (4) /* download image, overwrite backup image*/ |
3747 | #define UPGRADE_ACTION_SWITCH_VERSION(5) (5) /* switch to a previously downloaded image */ |
3748 | #define UPGRADE_ACTION_ABORT(6) (6) /* abort current download operation */ |
3749 | #define UPGRADE_ACTION_STOP_SERVICE(7) (7) /* put AP on hold, stopping service */ |
3750 | #define UPGRADE_ACTION_HOLD(8) (8) /* put AP on hold, continue providing service !!!*/ |
3751 | #define UPGRADE_ACTION_REBOOT(9) (9) /* reboot AP */ |
3752 | |
3753 | /* EID_STATUS -- version report */ |
3754 | #define UPGRADE_STATUS_NONE(0) (0) /* not used */ |
3755 | #define UPGRADE_STATUS_SUCCESS(1) (1) /* command is successful */ |
3756 | #define UPGRADE_STATUS_FAIL(2) (2) /* command has failed */ |
3757 | #define UPGRADE_STATUS_INPROGRESS(100) (100) /* download and writing to flash */ |
3758 | #define UPGRADE_STATUS_DOWNLOAD_FAIL(101) (101) /* download and writing to flash */ |
3759 | #define UPGRADE_STATUS_WRITE_FAIL(102) (102) /* writing to flash failed */ |
3760 | #define UPGRADE_STATUS_CORRUPTED_FILE(103) (103) /*corrupted/unusable image */ |
3761 | #define UPGRADE_STATUS_REBOOTING(104) (104) /*AP is rebooting*/ |
3762 | #define UPGRADE_STATUS_INVALID_FILE(105) (105) /*invalid image file (checksum, type etc..)*/ |
3763 | #define UPGRADE_STATUS_VERSION_MISMATCH(106) (106) /* requested version is not found*/ |
3764 | |
3765 | /* Wassp EID Status Type */ |
3766 | typedef enum |
3767 | { |
3768 | EID_STATUS_UNDEFINED = 0, |
3769 | EID_STATUS_SUCCESS, |
3770 | EID_STATUS_FAILURE, |
3771 | EID_STATUS_INPROGRESS, |
3772 | EID_STATUS_DOWNLOAD_FAIL, |
3773 | EID_STATUS_WRITE_FAIL, |
3774 | EID_STATUS_CORRUPTED_FILE, |
3775 | EID_STATUS_REBOOTING, |
3776 | EID_STATUS_INVALID_FILE, |
3777 | EID_STATUS_VERSION_MISMATCH |
3778 | } wassp_eid_status_t; |
3779 | |
3780 | /* Wassp EID action Type */ |
3781 | typedef enum |
3782 | { |
3783 | EID_ACTION_REPORT = 0, |
3784 | EID_ACTION_NOCHANGE, |
3785 | EID_ACTION_LEGACY, |
3786 | EID_ACTION_BACKGROUND, |
3787 | EID_ACTION_SAVE_BACKUP, |
3788 | EID_ACTION_SWITCH_VERSION, |
3789 | EID_ACTION_ABORT, |
3790 | EID_ACTION_STOP_SERVICE, |
3791 | EID_ACTION_HOLD, |
3792 | EID_ACTION_REBOOT |
3793 | } wassp_eid_action_t; |
3794 | |
3795 | |
3796 | |
3797 | |
3798 | |
3799 | |
3800 | |
3801 | static const value_string wassp_eid_status_types[] = |
3802 | { |
3803 | { UPGRADE_STATUS_NONE(0), "Unused" }, |
3804 | { UPGRADE_STATUS_SUCCESS(1), "success" }, |
3805 | { UPGRADE_STATUS_FAIL(2), "failure" }, |
3806 | { UPGRADE_STATUS_INPROGRESS(100), "download in progress" }, |
3807 | { UPGRADE_STATUS_DOWNLOAD_FAIL(101), "image download failed" }, |
3808 | { UPGRADE_STATUS_WRITE_FAIL(102), "writing image to flash failed" }, |
3809 | { UPGRADE_STATUS_CORRUPTED_FILE(103), "main image file is corrupted/unusable" }, |
3810 | { UPGRADE_STATUS_REBOOTING(104), "AP is rebooting" }, |
3811 | { UPGRADE_STATUS_INVALID_FILE(105), "bad header in downloaded image" }, |
3812 | { UPGRADE_STATUS_VERSION_MISMATCH(106), "image version requested does not exist" }, |
3813 | { 0, NULL((void*)0) } |
3814 | }; |
3815 | |
3816 | /* Value string object enumerates wassp action type field */ |
3817 | static const value_string wassp_eid_action_types[] = |
3818 | { |
3819 | { UPGRADE_ACTION_REPORT(0), "request status report" }, |
3820 | { UPGRADE_ACTION_NO_CHANGE(1), "no change required" }, |
3821 | { UPGRADE_ACTION_LEGACY(2), "legacy AP upgrade -no service" }, |
3822 | { UPGRADE_ACTION_BACKGROUND(3), "upgrade AP while providing service" }, |
3823 | { UPGRADE_ACTION_SAVE_BACKUP(4), "download and save to backup image" }, |
3824 | { UPGRADE_ACTION_SWITCH_VERSION(5), "switch to a given version" }, |
3825 | { UPGRADE_ACTION_ABORT(6), "abort current download" }, |
3826 | { UPGRADE_ACTION_STOP_SERVICE(7), "put AP on hold,stop wireless service" }, |
3827 | { UPGRADE_ACTION_HOLD(8), "put AP on hold,keep wireless service" }, |
3828 | { UPGRADE_ACTION_REBOOT(9), "reboot AP" }, |
3829 | { 0, NULL((void*)0) } |
3830 | }; |
3831 | |
3832 | static const value_string mu_resv0_strings[] = |
3833 | { |
3834 | { 0x0000, "UnUsed" }, |
3835 | { 0x4000, "Netflow" }, |
3836 | { 0x8000, "Mirrorn & Netflow" }, |
3837 | { 0xc000, "Mirrorn" }, |
3838 | { 0, NULL((void*)0) } |
3839 | }; |
3840 | |
3841 | static const value_string mu_action_field_strings[] = |
3842 | { |
3843 | { 0x0, "SSID" }, |
3844 | { 0x2, "Redirect With Vlan ID" }, |
3845 | { 0x3, "Vlan ID" }, |
3846 | { 0, NULL((void*)0) } |
3847 | }; |
3848 | |
3849 | static const value_string threat_state_strings[] = |
3850 | { |
3851 | { 0x0, "NA" }, |
3852 | { 0x1, "Active" }, |
3853 | { 0x2, "Inactive" }, |
3854 | { 0, NULL((void*)0) } |
3855 | }; |
3856 | |
3857 | static const value_string radio_params_strings[] = |
3858 | { |
3859 | { 0x0, "NONE" }, |
3860 | { 0x1, "WMM" }, |
3861 | { 0x2, "80211E" }, |
3862 | { 0x3, "WMM & 80211E" }, |
3863 | { 0x4, "NA" }, |
3864 | { 0, NULL((void*)0) } |
3865 | }; |
3866 | |
3867 | /* True False string object masks RU state boolean labels */ |
3868 | static const true_false_string wassp_eid_rustate_types = |
3869 | { |
3870 | "Standby", |
3871 | "Active", |
3872 | }; |
3873 | |
3874 | |
3875 | #define WASSP_SUBTLV_GET_SUBTREE(in_ptr)((in_ptr)->subtree_name) ((in_ptr)->subtree_name) |
3876 | #define WASSP_SUBTLV_GET_ETTNUM(in_ptr)((in_ptr)->ett_num) ((in_ptr)->ett_num) |
3877 | #define WASSP_SUBTLV_GET_MAXENTRY(in_ptr)((in_ptr)->max_entry) ((in_ptr)->max_entry) |
3878 | #define WASSP_SUBTLV_GET_ENTRY(in_ptr)((in_ptr)->entry) ((in_ptr)->entry) |
3879 | #define WASSP_SUBTLV_GET_ENTRY_IDX(in_ptr, idx)((in_ptr)->entry[(idx)]) ((in_ptr)->entry[(idx)]) |
3880 | #define WASSP_SUBTLV_GET_ENTRY_IDX_TYPE(in_ptr, idx)(((in_ptr)->entry[(idx)]).type) (((in_ptr)->entry[(idx)]).type) |
3881 | #define WASSP_SUBTLV_GET_ENTRY_IDX_NAME(in_ptr, idx)(((in_ptr)->entry[(idx)]).name) (((in_ptr)->entry[(idx)]).name) |
3882 | #define WASSP_SUBTLV_GET_ENTRY_IDX_TABIDX(in_ptr, idx)(((in_ptr)->entry[(idx)]).length) (((in_ptr)->entry[(idx)]).length) |
3883 | |
3884 | |
3885 | |
3886 | /* Wassp protocol registered fields or ru discover fields*/ |
3887 | static int proto_wassp; |
3888 | static int hf_wassp_version; |
3889 | static int hf_wassp_type; |
3890 | static int hf_ru_rad_num; |
3891 | static int hf_ru_checksum; |
3892 | static int hf_ru_ac_op; |
3893 | static int hf_ru_mac; |
3894 | static int hf_ru_ac_mode; |
3895 | static int hf_wassp_seq_num_flag; |
3896 | static int hf_seq_num; |
3897 | static int hf_wassp_use_frag; |
3898 | static int hf_wassp_data_frag; |
3899 | static int hf_wassp_more_frag; |
3900 | static int hf_wassp_first_frag; |
3901 | static int hf_wassp_sessionid; |
3902 | static int hf_wassp_length; |
3903 | static int hf_wassp_header; |
3904 | static int hf_ru_discover_header; |
3905 | |
3906 | /* ----------- MU data --------------*/ |
3907 | static int hf_wassp_mu_type; |
3908 | static int hf_wassp_mu_qos; |
3909 | static int hf_wassp_mu_action_ssid; |
3910 | static int hf_wassp_mu_mac; |
3911 | static int hf_wassp_mu_data_tree; |
3912 | static int hf_wassp_mu_resv0; |
3913 | static int hf_wassp_mu_resv1; |
3914 | static int hf_wassp_mu_assoc_status; |
3915 | static int hf_wassp_mu_data_header; |
3916 | static int hf_wassp_mu_action; |
3917 | static int hf_wassp_mu_action_field_value; |
3918 | |
3919 | |
3920 | |
3921 | // netflow |
3922 | static int hf_wassp_mu_netflow_version; |
3923 | static int hf_wassp_mu_netflow_length; |
3924 | static int hf_wassp_mu_netflow_flags; |
3925 | static int hf_wassp_mu_netflow_uptime; |
3926 | static int hf_wassp_mu_netflow_record; |
3927 | static int hf_wassp_mu_netflow_in_bytes; |
3928 | static int hf_wassp_mu_netflow_in_packets; |
3929 | static int hf_wassp_mu_netflow_ip_protocol_number; |
3930 | static int hf_wassp_mu_netflow_source_tos; |
3931 | static int hf_wassp_mu_netflow_source_port; |
3932 | static int hf_wassp_mu_netflow_source_ip; |
3933 | static int hf_wassp_mu_netflow_input_snmp; |
3934 | static int hf_wassp_mu_netflow_dest_port; |
3935 | static int hf_wassp_mu_netflow_dest_ip; |
3936 | static int hf_wassp_mu_netflow_output_snmp; |
3937 | static int hf_wassp_mu_netflow_last_time; |
3938 | static int hf_wassp_mu_netflow_first_time; |
3939 | static int hf_wassp_mu_netflow_in_source_mac; |
3940 | static int hf_wassp_mu_netflow_in_dest_mac; |
3941 | static int hf_wassp_mu_netflow_tree; |
3942 | static int hf_wassp_mu_netflow_header; |
3943 | |
3944 | |
3945 | |
3946 | /* ------ wassp TLV -------*/ |
3947 | static int hf_wassp_tlv_value; |
3948 | static int hf_wassp_tlv_type_main; |
3949 | static int hf_wassp_tlv_type_sub; |
3950 | static int hf_wassp_tlv_length; |
3951 | static int hf_wassp_tlv_value_octext; // PW_TYPE_OCTETS |
3952 | static int hf_wassp_tlv_value_string; |
3953 | static int hf_wassp_tlv_value_ip; |
3954 | static int hf_wassp_tlv_value_int; |
3955 | static int hf_wassp_tlv_eid_status; |
3956 | static int hf_wassp_tlv_eid_action; |
3957 | static int hf_wassp_tlv_eid_rustate; |
3958 | static int hf_wassp_tlv_unknown; |
3959 | static int hf_wassp_tlv_invalid; |
3960 | |
3961 | static int hf_wassp_ipaddress; |
3962 | static int hf_wassp_sub_tree; |
3963 | static int hf_wassp_topologykey; |
3964 | static int hf_wassp_vlanid; |
3965 | static int hf_wassp_topology_mode; |
3966 | static int hf_wassp_in_cir; |
3967 | static int hf_wassp_out_cir; |
3968 | |
3969 | static int hf_wassp_flag_1b; |
3970 | static int hf_wassp_tos; |
3971 | static int hf_cos_tos; |
3972 | static int hf_cos_tos_mask; |
3973 | static int hf_cos_priority_txq; |
3974 | |
3975 | static int hf_wassp_tos_mask; |
3976 | static int hf_filter_tos_maskbit_priority; |
3977 | static int hf_wassp_priority; |
3978 | static int hf_cos_rateid; |
3979 | static int hf_wassp_filter_rule; |
3980 | static int hf_wassp_filter_flag; |
3981 | static int hf_filter_rule_port_range; |
3982 | static int hf_wassp_ipprotocol; |
3983 | static int hf_wassp_netmasklength; |
3984 | static int hf_wassp_macaddr; |
3985 | static int hf_wassp_macaddr_mask; |
3986 | static int hf_wassp_ethernet_type; |
3987 | static int hf_wassp_reserve; |
3988 | static int hf_wassp_freq; |
3989 | static int hf_wassp_rss; |
3990 | static int hf_wassp_rssi; |
3991 | static int hf_wassp_threatstate; |
3992 | static int hf_wassp_radioparams; |
3993 | static int hf_wassp_channelfreq; |
3994 | static int hf_wassp_mu; |
3995 | static int hf_wassp_apprules; |
3996 | static int hf_wassp_displayid; |
3997 | static int hf_wassp_txbytes; |
3998 | static int hf_wassp_rxbytes; |
3999 | |
4000 | |
4001 | |
4002 | /* ************************************************************************* */ |
4003 | /* Header values for reassembly */ |
4004 | /* ************************************************************************* */ |
4005 | static int hf_wassp_fragments; |
4006 | static int hf_wassp_fragment; |
4007 | static int hf_wassp_fragment_overlap; |
4008 | static int hf_wassp_fragment_overlap_conflict; |
4009 | static int hf_wassp_fragment_multiple_tails; |
4010 | static int hf_wassp_fragment_too_long_fragment; |
4011 | static int hf_wassp_fragment_error; |
4012 | static int hf_wassp_fragment_count; |
4013 | static int hf_wassp_reassembled_in; |
4014 | static int hf_wassp_reassembled_length; |
4015 | static int ett_wassp_fragment; |
4016 | static int ett_wassp_fragments; |
4017 | |
4018 | |
4019 | static const fragment_items wassp_frag_items = |
4020 | { |
4021 | /* Fragment subtrees */ |
4022 | &ett_wassp_fragment, |
4023 | &ett_wassp_fragments, |
4024 | /* Fragment fields */ |
4025 | &hf_wassp_fragments, |
4026 | &hf_wassp_fragment, |
4027 | &hf_wassp_fragment_overlap, |
4028 | &hf_wassp_fragment_overlap_conflict, |
4029 | &hf_wassp_fragment_multiple_tails, |
4030 | &hf_wassp_fragment_too_long_fragment, |
4031 | &hf_wassp_fragment_error, |
4032 | &hf_wassp_fragment_count, |
4033 | &hf_wassp_reassembled_in, |
4034 | &hf_wassp_reassembled_length, |
4035 | NULL((void*)0), |
4036 | "fragments" |
4037 | }; |
4038 | |
4039 | |
4040 | |
4041 | |
4042 | /* Wassp protocol registered subtrees */ |
4043 | static int ett_wassp; |
4044 | static int ett_seq_flags; |
4045 | static int ett_wassp_header; |
4046 | static int ett_mu_data_header; |
4047 | static int ett_mu_action_field; |
4048 | |
4049 | static int ett_ru_discover_header; |
4050 | static int ett_wassp_tlv; |
4051 | static int ett_wassp_filter_rule; |
4052 | static int ett_lbs_header; |
4053 | |
4054 | static int ett_wassp_mu_appl_stats; |
4055 | static int ett_wassp_data; |
4056 | static int ett_wassp_mu_data_netflow; |
4057 | static int ett_wassp_mu_data_netflow_header; |
4058 | static int ett_wassp_tlv_missing; |
4059 | static int ett_wassp_ap_stats_block; |
4060 | static int ett_wassp_mu_rf_stats_block; |
4061 | static int ett_wassp_config_error_block; |
4062 | static int ett_wassp_config_modified_block; |
4063 | static int ett_wassp_global_config_block; |
4064 | static int ett_wassp_radio_config_block; |
4065 | static int ett_wassp_vns_config_block; |
4066 | static int ett_wassp_mu_stats_block; |
4067 | static int ett_wassp_radio_stats_block; |
4068 | static int ett_wassp_ether_stats_block; |
4069 | static int ett_wassp_wds_stats_block; |
4070 | static int ett_wassp_dot1x_stats_block; |
4071 | static int ett_wassp_filter_config_block; |
4072 | static int ett_wassp_site_filter_config_block; |
4073 | static int ett_wassp_filter_ext_config_block; |
4074 | static int ett_wassp_vns_stats_block; |
4075 | static int ett_wassp_radius_config_block; |
4076 | static int ett_wassp_eid_main_tlv_block; |
4077 | static int ett_wassp_radius_server_config_block; |
4078 | static int ett_wassp_site_config_block; |
4079 | static int ett_wassp_policy_config_block; |
4080 | static int ett_wassp_cos_config_block; |
4081 | static int ett_wassp_localbase_lookup_block; |
4082 | static int ett_wassp_app_policy_fixed_block; |
4083 | static int ett_wassp_app_policy_entry_block; |
4084 | static int ett_wassp_s_topo_m_filter_entry_block; |
4085 | static int ett_wassp_s_topo_m_filter_ext_entry_block; |
4086 | static int ett_wassp_11u_config_entry_block; |
4087 | static int ett_wassp_hs2_config_entry_block; |
4088 | static int ett_wassp_extapp_config_entry_block; |
4089 | |
4090 | |
4091 | /* aeroscout */ |
4092 | static int hf_aeroscout_header; |
4093 | static int hf_aeroscout_header_magic_number; // 2 bytes |
4094 | static int hf_aeroscout_request_id; // 2 bytes |
4095 | static int hf_aeroscout_code; // 1 byte |
4096 | static int hf_aeroscout_sub_code; // 1 byte |
4097 | static int hf_aeroscout_datalength; // 2 bytes |
4098 | static int hf_lbs_vendor_id; // 2 byte |
4099 | static int hf_lbs_rsvd1; // 2 bytes |
4100 | static int hf_lbs_ap_bssid; // 6 bytes |
4101 | static int hf_lbs_rsvd2; // 1 |
4102 | static int hf_lbs_rxchan; // 1 |
4103 | static int hf_lsb_tstamp; // 4 bytes |
4104 | static int hf_lsb_rsvd3; // 2 bytes |
4105 | static int hf_lsb_rssi; // 1 |
4106 | static int hf_lsb_rsvd; // 1 |
4107 | static int hf_lsb_noise_floor; // 1 |
4108 | static int hf_lsb_rsvd4; // 3 bytes |
4109 | static int hf_lsb_chan_rate; // 1 |
4110 | static int hf_lsb_rsvd5; // 1 |
4111 | static int hf_lsb_wh_addr2; // 6 bytes |
4112 | static int hf_lsb_wh_fc; // 2 bytes |
4113 | static int hf_lsb_wh_seq; // 2 bytes |
4114 | static int hf_lsb_rsvd6; // 2 bytes |
4115 | static int hf_lsb_wh_addr3; // 6 bytes |
4116 | static int hf_lsb_wh_addr4; // 6 bytes |
4117 | |
4118 | |
4119 | |
4120 | /* Our dissector handle */ |
4121 | static dissector_handle_t wassp_handle; |
4122 | |
4123 | /* Dissector handles used in dissector registration */ |
4124 | static dissector_handle_t data_handle; |
4125 | static dissector_handle_t eth_handle; |
4126 | static dissector_handle_t ip_handle; |
4127 | static dissector_handle_t ieee80211_handle; |
4128 | static dissector_handle_t snmp_handle; |
4129 | |
4130 | |
4131 | static const WASSP_SUBTLV_DECODER_INFO_t wassp_decr_info[TAB_MAX] = |
4132 | { |
4133 | /*CONFIG_GLOBAL_BLOCK */ |
4134 | {"WASSP Global Config", &ett_wassp_global_config_block, array_length(tlvGlobalConfigTable)(sizeof (tlvGlobalConfigTable) / sizeof (tlvGlobalConfigTable )[0]), tlvGlobalConfigTable}, |
4135 | /*CONFIG_ERROR_BLOCK */ |
4136 | {"WASSP Config Error", &ett_wassp_config_error_block, array_length(tlvGlobalConfigTable)(sizeof (tlvGlobalConfigTable) / sizeof (tlvGlobalConfigTable )[0]), tlvGlobalConfigTable}, |
4137 | /*TAB_CONFIG_MODIFIED */ |
4138 | {"WASSP Config Modified", &ett_wassp_config_modified_block, array_length(tlvGlobalConfigTable)(sizeof (tlvGlobalConfigTable) / sizeof (tlvGlobalConfigTable )[0]), tlvGlobalConfigTable}, |
4139 | /*RADIO_CONFIG_BLOCK */ |
4140 | {"WASSP Radio Configure", &ett_wassp_radio_config_block, array_length(tlvRadioConfigTable)(sizeof (tlvRadioConfigTable) / sizeof (tlvRadioConfigTable)[ 0]), tlvRadioConfigTable}, |
4141 | /*VNS_CONFIG_BLOCK */ |
4142 | {"WASSP VNS Configure", &ett_wassp_vns_config_block, array_length(tlvVnsConfigTable)(sizeof (tlvVnsConfigTable) / sizeof (tlvVnsConfigTable)[0]), tlvVnsConfigTable}, |
4143 | /*MU_RF_STATS_BLOCK */ |
4144 | {"WASSP MU RF Stats", &ett_wassp_mu_rf_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4145 | /*AP_STATS_BLOCK */ |
4146 | {"WASSP RU RF Stats", &ett_wassp_ap_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4147 | /*STATS_MU_BLOCK */ |
4148 | {"WASSP MU Stats", &ett_wassp_mu_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4149 | /*TAB_STATS_RADIO */ |
4150 | {"WASSP Radio Stats", &ett_wassp_radio_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4151 | /*TAB_STATS_ETH */ |
4152 | {"WASSP Ethernet Stats", &ett_wassp_ether_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4153 | /*TAB_STATS_WDS */ |
4154 | {"WASSP Wds Stats", &ett_wassp_wds_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4155 | /*TAB_STATS_DOT1x */ |
4156 | {"WASSP Dot1x Stats", &ett_wassp_dot1x_stats_block, array_length(tlvBeastConfigTable)(sizeof (tlvBeastConfigTable) / sizeof (tlvBeastConfigTable)[ 0]), tlvBeastConfigTable}, |
4157 | /*TAB_CONFIG_FILTER */ |
4158 | {"WASSP Filter Config", &ett_wassp_filter_config_block, array_length(tlvFilterConfigTable)(sizeof (tlvFilterConfigTable) / sizeof (tlvFilterConfigTable )[0]), tlvFilterConfigTable}, |
4159 | /*TAB_STATS_VNS */ |
4160 | {"WASSP VNS Status", &ett_wassp_vns_stats_block, array_length(tlvVnsStatusTable)(sizeof (tlvVnsStatusTable) / sizeof (tlvVnsStatusTable)[0]), tlvVnsStatusTable}, |
4161 | /*TAB_CONFIG_RADIUS_SERVER */ |
4162 | {"WASSP Radius Server Config", &ett_wassp_radius_server_config_block, array_length(tlvRadiusServerConfigTable)(sizeof (tlvRadiusServerConfigTable) / sizeof (tlvRadiusServerConfigTable )[0]), tlvRadiusServerConfigTable}, |
4163 | /*TAB_CONFIG_SITE */ |
4164 | {"WASSP Site Config", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4165 | /*TAB_CONFIG_POLICY */ |
4166 | {"WASSP Policy Config", &ett_wassp_policy_config_block, array_length(tlvPolicyConfigTable)(sizeof (tlvPolicyConfigTable) / sizeof (tlvPolicyConfigTable )[0]), tlvPolicyConfigTable}, |
4167 | /*TAB_CONFIG_COS */ |
4168 | {"WASSP Class of Service Configuration", &ett_wassp_cos_config_block, array_length(tlvCosConfigTable)(sizeof (tlvCosConfigTable) / sizeof (tlvCosConfigTable)[0]), tlvCosConfigTable}, |
4169 | /*TAB_CONFIG_LOC_BASE_LP */ |
4170 | {"WASSP LocalBase Lookup", &ett_wassp_localbase_lookup_block, array_length(tlvLocationBaseLookUpTable)(sizeof (tlvLocationBaseLookUpTable) / sizeof (tlvLocationBaseLookUpTable )[0]), tlvLocationBaseLookUpTable}, |
4171 | /*TAB_CONFIG_RADIUS */ |
4172 | {"WASSP Radius Config", &ett_wassp_radius_config_block, array_length(tlvRadiusConfigTable)(sizeof (tlvRadiusConfigTable) / sizeof (tlvRadiusConfigTable )[0]), tlvRadiusConfigTable}, |
4173 | /*EVENT_BLOCK */ |
4174 | {"WASSP Event Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4175 | /*TAB_SSS_MU_BLOCK */ |
4176 | {"WASSP SSS MU Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4177 | /*TAB_EID_MU_BLOCK */ |
4178 | {"WASSP EID MU Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4179 | /*BULK_MU_BLOCK */ |
4180 | {"WASSP BULK MU Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4181 | /*MU_BLOCK */ |
4182 | {"WASSP MU Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4183 | /*BULK_VNS_BLOCK */ |
4184 | {"WASSP BULK VNS Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4185 | /*VNS_BLOCK */ |
4186 | {"WASSP VNS Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4187 | /*TAB_SIAPP_PMK_BLOCK */ |
4188 | {"SIAPP PMK Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4189 | /*TAB_SIAPP_RADIO_CONFIG_BLOCK */ |
4190 | {"SIAPP Radio Config Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4191 | /*TAB_SIAPP_MU_STATS_BLOCK */ |
4192 | {"SIAPP MU STATS Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4193 | /*TAB_SIAPP_THIN_BLOCK */ |
4194 | {"SIAPP THIN Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4195 | /*TAB_SIAPP_BLOCK */ |
4196 | {"SIAPP Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4197 | /*TAB_ASSOC_SSID_ARRAY*/ |
4198 | {"Assoc SSID array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4199 | /*TAB_ASSOC_SSID_BLOCK*/ |
4200 | {"Assoc SSID Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4201 | /*TAB_AP_LIST_BLOCK*/ |
4202 | {"AP list Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4203 | /*TAB_AP_LIST_ARRAY*/ |
4204 | {"AP list array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4205 | /*TAB_SCAN_PROFILE_BLOCK*/ |
4206 | {"Scan profile Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4207 | /*TAB_THREAT_DEF_ARRAY*/ |
4208 | {"Threat def array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4209 | /*TAB_THREAT_DEF_BLOCK*/ |
4210 | {"Thread def Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4211 | /*TAB_THREAT_PATTERN_ARRAY*/ |
4212 | {"Thread pattern array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4213 | /*TAB_THREAT_PATTERN_BLOCK*/ |
4214 | {"Thread pattern Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4215 | /*TAB_SURVEILLANCE_DATA_ARRAY,*/ |
4216 | {"Surveillance Data Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4217 | /*TAB_SURVEILLANCE_DATA_BLOCK,*/ |
4218 | {"Surveillance Data Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4219 | /*TAB_THREAT_DATA_ARRAY,*/ |
4220 | {"Thread Data Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4221 | /*TAB_THREAT_DATA_BLOCK,*/ |
4222 | {"Thread Data Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4223 | /*TAB_THREAT_CLASSIFY_ARRAY,*/ |
4224 | {"Thread Classify Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4225 | /*TAB_THREAT_CLASSIFY_BLOCK,*/ |
4226 | {"Thread Classify Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4227 | /*TAB_USER_CLASSIFY_ARRAY,*/ |
4228 | {"User Classify Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4229 | /*TAB_USER_CLASSIFY_BLOCK,*/ |
4230 | {"User Classify Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4231 | /*TAB_MU_EVENT_ARRAY, */ |
4232 | {"MU Event Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4233 | /*TAB_MU_EVENT_BLOCK,*/ |
4234 | {"MU Event Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4235 | /*TAB_COUNTRY_ARRAY,*/ |
4236 | {"Country Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4237 | /*TAB_COUNTRY_BLOCK,*/ |
4238 | {"Country Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4239 | /*TAB_LOCATOR_LOC_BLOCK,*/ |
4240 | {"Locator LOC Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4241 | /*TAB_LOCATOR_LOC_ARRAY,*/ |
4242 | {"Locator LOC Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4243 | /*TAB_RSS_DATA_ARRAY,*/ |
4244 | {"RSS Data Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4245 | /*TAB_RSS_DATA_BLOCK,*/ |
4246 | {"RSS Data Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4247 | /*TAB_MCAST_FILTER_BLOCK, */ |
4248 | {"MCAST Filter Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4249 | /*TAB_MCAST_FILTER_BLOCK_ENTRY */ |
4250 | {"MCAST Filter Block Entry", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4251 | /*TAB_MU_SESSION_ARRAY,*/ |
4252 | {"MU Session Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4253 | /*TAB_MU_SESSION_BLOCK,*/ |
4254 | {"MU Session Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4255 | /*TAB_DETECTED_ROGUE_ARRAY,*/ |
4256 | {"Detected Rogue Array", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4257 | /*TAB_DETECTED_ROGUE_BLOCK,*/ |
4258 | {"Detected Rogue Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4259 | /*TAB_FILTER_RULES_EXT_BLOCK */ |
4260 | {"Filter Rule Ext Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4261 | /*TAB_APP_POLICY_FIXED_BLOCK */ |
4262 | {"App Policy Fixed Block", &ett_wassp_app_policy_fixed_block, array_length(tlvAppPolicyFixedTable)(sizeof (tlvAppPolicyFixedTable) / sizeof (tlvAppPolicyFixedTable )[0]), tlvAppPolicyFixedTable}, |
4263 | /*TAB_V_FILTER_RULES_EXT_BLOCK */ |
4264 | {"FilterRules Ext Block", &ett_wassp_filter_ext_config_block, array_length(tlvFilterRuleExtConfigTable)(sizeof (tlvFilterRuleExtConfigTable) / sizeof (tlvFilterRuleExtConfigTable )[0]), tlvFilterRuleExtConfigTable}, |
4265 | /*TAB_V_SITE_FILTER_RULES_EXT_BLOCK */ |
4266 | {"Site FilterRules Ext Block", &ett_wassp_site_filter_config_block, array_length(tlvSiteFilterRuleExtConfigTable)(sizeof (tlvSiteFilterRuleExtConfigTable) / sizeof (tlvSiteFilterRuleExtConfigTable )[0]), tlvSiteFilterRuleExtConfigTable}, |
4267 | /*TAB_APP_POLICY_ENTRY_BLOCK */ |
4268 | {"App Policy Entry Block", &ett_wassp_app_policy_entry_block, array_length(tlvAppPolicyEntryTable)(sizeof (tlvAppPolicyEntryTable) / sizeof (tlvAppPolicyEntryTable )[0]), tlvAppPolicyEntryTable}, |
4269 | /*TAB_11U_ANQP_BLOCK, */ |
4270 | {"11u Config Block", &ett_wassp_11u_config_entry_block, array_length(tlv11U_ANQP_blockTable)(sizeof (tlv11U_ANQP_blockTable) / sizeof (tlv11U_ANQP_blockTable )[0]), tlv11U_ANQP_blockTable}, |
4271 | /*TAB_HS2_BLOCK, */ |
4272 | {"HS2 config Block", &ett_wassp_hs2_config_entry_block, array_length(tlvHS2_blockTable)(sizeof (tlvHS2_blockTable) / sizeof (tlvHS2_blockTable)[0]), tlvHS2_blockTable}, |
4273 | /*TAB_RU_ACK_RADIO_CONFIG,*/ |
4274 | {"WASSP RU Ack Radio Configure", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4275 | /*TAB_MU_APPL_STATS_BLOCK */ |
4276 | {"MU Appl Stats Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4277 | /*TAB_EXTAPP_CONF_BLOCK */ |
4278 | {"Extend AppControl Config Block", &ett_wassp_extapp_config_entry_block, array_length(tlvExtapp_conf_blockTable)(sizeof (tlvExtapp_conf_blockTable) / sizeof (tlvExtapp_conf_blockTable )[0]), tlvExtapp_conf_blockTable}, |
4279 | /*TAB_V_CP_CONFIG_BLOCK */ |
4280 | {"CP Config Block", &ett_wassp_vns_config_block, array_length(tlvVnsConfigTable)(sizeof (tlvVnsConfigTable) / sizeof (tlvVnsConfigTable)[0]), tlvVnsConfigTable}, |
4281 | /*TAB_TOPOLOGY_ARRAY_BLOCK */ |
4282 | {"Topology Array Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4283 | /*TAB_TOPOLOGY_STRUCT_BLOCK */ |
4284 | {"Topology Struct Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4285 | /*TAB_FILTER_CONFIG_STRUCT_BLOCK */ |
4286 | {"Filter Config Struct Block", &ett_wassp_eid_main_tlv_block, array_length(tlvMainTable)(sizeof (tlvMainTable) / sizeof (tlvMainTable)[0]), tlvMainTable}, |
4287 | /*TAB_S_TOPOLOGY_ARRAY_BLOCK, */ |
4288 | {"Site Topology Array Block", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4289 | /*TAB_S_TOPOLOGY_STRUCT_BLOCK,*/ |
4290 | {"Site Topology Struct Block", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4291 | /*TAB_S_TOPO_MCAST_FILTER_CONFIG_BLOCK,*/ |
4292 | {"Site Topology Mcast Filter Config Struct Block", &ett_wassp_s_topo_m_filter_entry_block, array_length(tlvSTopoMcastFilterBlock)(sizeof (tlvSTopoMcastFilterBlock) / sizeof (tlvSTopoMcastFilterBlock )[0]), tlvSTopoMcastFilterBlock}, |
4293 | /*TAB_S_TOPO_MCAST_FILTER_RULES_EXT_BLOCK,*/ |
4294 | {"Site Topology Mcast Filter Rule Ext Block", &ett_wassp_s_topo_m_filter_ext_entry_block, array_length(tlvSTopoMcastFilterRuleBlock)(sizeof (tlvSTopoMcastFilterRuleBlock) / sizeof (tlvSTopoMcastFilterRuleBlock )[0]), tlvSTopoMcastFilterRuleBlock}, |
4295 | /*TAB_NAC_SERVER_CONFIG_ARRAY,*/ |
4296 | {"NAC service config array", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4297 | /*TAB_NAC_SERVER_CONFIG_BLOCK,*/ |
4298 | {"NAC service config Block", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4299 | /*TAB_NAC_WEB_AUTH_USER_GROUP_ARRAY,*/ |
4300 | {"NAC WEB auth user group config array", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4301 | /*TAB_NAC_WEB_AUTH_USER_GROUP_BLOCK,*/ |
4302 | {"NAC WEB auth user group Block", &ett_wassp_site_config_block, array_length(tlvSiteConfigTable)(sizeof (tlvSiteConfigTable) / sizeof (tlvSiteConfigTable)[0] ), tlvSiteConfigTable}, |
4303 | }; |
4304 | |
4305 | |
4306 | |
4307 | |
4308 | |
4309 | |
4310 | |
4311 | |
4312 | static int wassp_type_converter(int in_tlv_type) |
4313 | { |
4314 | int rtn_val = hf_wassp_tlv_value_octext; |
4315 | |
4316 | switch (in_tlv_type) |
4317 | { |
4318 | case 1: |
4319 | rtn_val = hf_wassp_tlv_value_string; |
4320 | break; |
4321 | case 2: |
4322 | case 3: |
4323 | case 4: |
4324 | case 7: |
4325 | case 8: |
4326 | rtn_val = hf_wassp_tlv_value_int; |
4327 | break; |
4328 | case 5: |
4329 | rtn_val = hf_wassp_tlv_value_octext; |
4330 | break; |
4331 | case 6: |
4332 | rtn_val = hf_wassp_mu_mac; |
4333 | break; |
4334 | case 9: |
4335 | rtn_val = hf_wassp_tlv_value_ip; |
4336 | break; |
4337 | |
4338 | default: |
4339 | break; |
4340 | } |
4341 | return rtn_val; |
4342 | } |
4343 | |
4344 | |
4345 | |
4346 | |
4347 | static int dissect_wassp_sub_tlv(proto_tree *wassp_tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int in_len, int which_tab, int ru_msg_type); |
4348 | static int dissect_wassp_tlv(proto_tree *wassp_tree, tvbuff_t *tvb, packet_info *pinfo, int offset, wassp_ru_msg_t rumsg_type); |
4349 | |
4350 | |
4351 | |
4352 | /* Registered WASSP subdissectors */ |
4353 | static dissector_table_t wassp_dissector_table; |
4354 | |
4355 | /* WASSP dissector routines */ |
4356 | static int dissect_wassp_mu(proto_tree *, tvbuff_t *, packet_info *, int, int); |
4357 | static int dissect_wassp(tvbuff_t *, packet_info *, proto_tree *); |
4358 | |
4359 | /* Dissector registration routines */ |
4360 | void proto_register_wassp(void); |
4361 | void proto_reg_handoff_wassp(void); |
4362 | static int dissect_wassp_static(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U___attribute__((unused))); |
4363 | |
4364 | static int g_wassp_ver; |
4365 | static reassembly_table wassp_reassembled_table; |
4366 | static void wassp_defragment_init(void) |
4367 | { |
4368 | reassembly_table_init(&wassp_reassembled_table, &addresses_reassembly_table_functions); |
4369 | } |
4370 | |
4371 | static const char* wassp_match_strval(const WASSP_SUBTLV_DECODER_INFO_t *in_ptr, int in_type) |
4372 | { |
4373 | if (in_ptr == NULL((void*)0)) |
4374 | { |
4375 | return NULL((void*)0); |
4376 | } |
4377 | if (in_ptr->max_entry <= in_type) |
4378 | { |
4379 | return NULL((void*)0); |
4380 | } |
4381 | |
4382 | return in_ptr->entry[in_type].name; |
4383 | } |
4384 | |
4385 | static void |
4386 | port_range_print(char *buf, uint32_t temp) |
4387 | { |
4388 | snprintf(buf, ITEM_LABEL_LENGTH240, " %d - %d", (temp & 0xffff), (temp >> 16)); |
4389 | } |
4390 | |
4391 | |
4392 | |
4393 | |
4394 | static void topology_moder_print(char *buf, uint16_t temp) |
4395 | { |
4396 | uint16_t temp3 = temp & 0xc000; |
4397 | uint16_t temp4 = temp & 0x0fff; |
4398 | switch (temp3) |
4399 | { |
4400 | case 0xc000: |
4401 | if (temp4) |
4402 | snprintf(buf, ITEM_LABEL_LENGTH240, " Routed At Controller with vlanId = %d (0x%x)", temp4, temp); |
4403 | else |
4404 | snprintf(buf, ITEM_LABEL_LENGTH240, " Routed At Controller, Untagged (0x%x)", temp); |
4405 | break; |
4406 | case 0x4000: |
4407 | if (temp4) |
4408 | snprintf(buf, ITEM_LABEL_LENGTH240, " Bridge At AP with vlanId = %d (0x%x)", temp4, temp); |
4409 | else |
4410 | snprintf(buf, ITEM_LABEL_LENGTH240, " Bridge At AP, Untagged (0x%x) ", temp); |
4411 | break; |
4412 | case 0x8000: |
4413 | if (temp4) |
4414 | snprintf(buf, ITEM_LABEL_LENGTH240, " Bridge At Controller with vlanId = %d (0x%x) ", temp4, temp); |
4415 | else |
4416 | snprintf(buf, ITEM_LABEL_LENGTH240, " Bridge At Controller, Untagged (0x%x) ", temp); |
4417 | break; |
4418 | default: |
4419 | if (temp4) |
4420 | snprintf(buf, ITEM_LABEL_LENGTH240, " Unknown mode with vlanId = %d (0x%x)", temp4, temp); |
4421 | else |
4422 | snprintf(buf, ITEM_LABEL_LENGTH240, " Unknown mode, Untagged (0x%x) ", temp); |
4423 | break; |
4424 | } |
4425 | } |
4426 | |
4427 | |
4428 | |
4429 | static void |
4430 | maskbit_priority_print(char *buf, uint8_t temp) |
4431 | { |
4432 | snprintf(buf, ITEM_LABEL_LENGTH240, " Type of Service Mask bits : %d Priority TxQ : %d", (temp >> 4) & 0xf, temp & 0xf); |
4433 | } |
4434 | |
4435 | static void |
4436 | cos_priority_txq_print(char *buf, uint8_t temp) |
4437 | { |
4438 | snprintf(buf, ITEM_LABEL_LENGTH240, " Class of Service priority bits : %d Class of Service Transmit Queue : %d", (temp >> 4) & 0xf, temp & 0xf); |
4439 | } |
4440 | |
4441 | static void |
4442 | cos_rate_id_print(char *buf, uint8_t temp) |
4443 | { |
4444 | snprintf(buf, ITEM_LABEL_LENGTH240, " Class of Service Inbound Rate Limit ID : %d Class of Service Outbound Rate Limit ID : %d", (temp >> 4) & 0xf, temp & 0xf); |
4445 | } |
4446 | |
4447 | |
4448 | |
4449 | #define V831_FILTER_RULE_FORMAT4 4 |
4450 | #define BEFORE_V831_FILTER_RULE_FORMAT2 2 |
4451 | #define AFTER_V831_FILTER_RULE_FORMAT1 1 |
4452 | #define V831_FILTER_RULE_STRUCT_SIZE36 36 |
4453 | #define BEFORE_V831_FILTER_RULE_STRUCT_SIZE16 16 |
4454 | #define AFTER_V831_FILTER_RULE_STRUCT_SIZE20 20 |
4455 | static void decode_filter_rule_octext_string(proto_tree *tree, tvbuff_t *tvb, int offset, int length ) |
4456 | { |
4457 | int flag = 0, suboffset, count, i; |
4458 | proto_tree *filter_rule_tree = proto_item_add_subtree(tree, ett_wassp_filter_rule); |
4459 | /* there are 3 kinds of filter rule struct. |
4460 | before V8.31 -- 16 bytes |
4461 | V83.1 -- 36 bytes |
4462 | after V8.31 -- 20 bytes |
4463 | */ |
4464 | |
4465 | if (((length - 4) % V831_FILTER_RULE_STRUCT_SIZE36) == 0) // might be V8.31 filter struct |
4466 | flag |= V831_FILTER_RULE_FORMAT4; |
4467 | |
4468 | if (((length - 4) % AFTER_V831_FILTER_RULE_STRUCT_SIZE20) == 0) // might be new filter struct |
4469 | flag |= AFTER_V831_FILTER_RULE_FORMAT1; |
4470 | |
4471 | if (((length - 4) % BEFORE_V831_FILTER_RULE_STRUCT_SIZE16) == 0) // might be old filter struct |
4472 | flag |= BEFORE_V831_FILTER_RULE_FORMAT2; |
4473 | |
4474 | |
4475 | |
4476 | if (flag & V831_FILTER_RULE_FORMAT4) // display as V8.31 filter struct |
4477 | { |
4478 | suboffset = offset + 4; |
4479 | //proto_tree_add_debug_text(filter_rule_tree, "-----------Display Filter Rule(s) in V3 Struct Format------------"); |
4480 | count = (length - 4) / V831_FILTER_RULE_STRUCT_SIZE36; |
4481 | for (i = 0; i < count; i++) |
4482 | { |
4483 | //proto_tree_add_debug_text(filter_rule_tree, " filter rule %d", i + 1); |
4484 | proto_tree_add_item(filter_rule_tree, hf_wassp_filter_rule, tvb, suboffset, V831_FILTER_RULE_STRUCT_SIZE36, ENC_NA0x00000000); |
4485 | proto_tree_add_item(filter_rule_tree, hf_wassp_filter_flag, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4486 | suboffset += 4; |
4487 | proto_tree_add_item(filter_rule_tree, hf_wassp_ipaddress, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4488 | suboffset += 4; |
4489 | proto_tree_add_item(filter_rule_tree, hf_filter_rule_port_range, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4490 | suboffset += 4; |
4491 | proto_tree_add_item(filter_rule_tree, hf_wassp_ipprotocol, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4492 | suboffset += 1; |
4493 | proto_tree_add_item(filter_rule_tree, hf_wassp_netmasklength, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4494 | suboffset += 1; |
4495 | proto_tree_add_item(filter_rule_tree, hf_wassp_tos, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4496 | suboffset += 1; |
4497 | proto_tree_add_item(filter_rule_tree, hf_filter_tos_maskbit_priority, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4498 | suboffset += 1; |
4499 | proto_tree_add_item(filter_rule_tree, hf_cos_tos, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4500 | suboffset += 1; |
4501 | proto_tree_add_item(filter_rule_tree, hf_cos_tos_mask, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4502 | suboffset += 1; |
4503 | proto_tree_add_item(filter_rule_tree, hf_cos_priority_txq, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4504 | suboffset += 1; |
4505 | proto_tree_add_item(filter_rule_tree, hf_cos_rateid, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4506 | suboffset += 1; |
4507 | proto_tree_add_item(filter_rule_tree, hf_wassp_macaddr, tvb, suboffset, 6, ENC_NA0x00000000); |
4508 | suboffset += 6; |
4509 | proto_tree_add_item(filter_rule_tree, hf_wassp_macaddr_mask, tvb, suboffset, 6, ENC_NA0x00000000); |
4510 | suboffset += 6; |
4511 | proto_tree_add_item(filter_rule_tree, hf_wassp_vlanid, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4512 | suboffset += 2; |
4513 | proto_tree_add_item(filter_rule_tree, hf_wassp_ethernet_type, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4514 | suboffset += 2; |
4515 | } |
4516 | } |
4517 | |
4518 | if (flag & AFTER_V831_FILTER_RULE_FORMAT1) // display as new filter struct |
4519 | { |
4520 | suboffset = offset + 4; |
4521 | //proto_tree_add_debug_text(filter_rule_tree, "-----------Display Filter Rule(s) in V2 Struct Format------------"); |
4522 | count = (length - 4) / AFTER_V831_FILTER_RULE_STRUCT_SIZE20; |
4523 | for (i = 0; i < count; i++) |
4524 | { |
4525 | //proto_tree_add_debug_text(filter_rule_tree, " filter rule %d", i + 1); |
4526 | proto_tree_add_item(filter_rule_tree, hf_wassp_filter_rule, tvb, suboffset, AFTER_V831_FILTER_RULE_STRUCT_SIZE20, ENC_NA0x00000000); |
4527 | proto_tree_add_item(filter_rule_tree, hf_wassp_filter_flag, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4528 | suboffset += 4; |
4529 | proto_tree_add_item(filter_rule_tree, hf_wassp_ipaddress, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4530 | suboffset += 4; |
4531 | proto_tree_add_item(filter_rule_tree, hf_filter_rule_port_range, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4532 | suboffset += 4; |
4533 | proto_tree_add_item(filter_rule_tree, hf_wassp_ipprotocol, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4534 | suboffset += 1; |
4535 | proto_tree_add_item(filter_rule_tree, hf_wassp_netmasklength, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4536 | suboffset += 1; |
4537 | proto_tree_add_item(filter_rule_tree, hf_wassp_tos, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4538 | suboffset += 1; |
4539 | proto_tree_add_item(filter_rule_tree, hf_filter_tos_maskbit_priority, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4540 | suboffset += 1; |
4541 | proto_tree_add_item(filter_rule_tree, hf_cos_tos, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4542 | suboffset += 1; |
4543 | proto_tree_add_item(filter_rule_tree, hf_cos_tos_mask, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4544 | suboffset += 1; |
4545 | proto_tree_add_item(filter_rule_tree, hf_cos_priority_txq, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4546 | suboffset += 1; |
4547 | proto_tree_add_item(filter_rule_tree, hf_cos_rateid, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4548 | suboffset += 1; |
4549 | } |
4550 | } |
4551 | |
4552 | if (flag & BEFORE_V831_FILTER_RULE_FORMAT2) |
4553 | { |
4554 | suboffset = offset + 4; |
4555 | //proto_tree_add_debug_text(filter_rule_tree, "-----------Display Filter Rule(s) in V1 Struct Format------------"); |
4556 | count = (length - 4) / BEFORE_V831_FILTER_RULE_STRUCT_SIZE16; |
4557 | for (i = 0; i < count; i++) |
4558 | { |
4559 | //proto_tree_add_debug_text(filter_rule_tree, " filter rule %d", i + 1); |
4560 | proto_tree_add_item(filter_rule_tree, hf_wassp_filter_rule, tvb, suboffset, BEFORE_V831_FILTER_RULE_STRUCT_SIZE16, ENC_NA0x00000000); |
4561 | proto_tree_add_item(filter_rule_tree, hf_wassp_filter_flag, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4562 | suboffset += 4; |
4563 | proto_tree_add_item(filter_rule_tree, hf_wassp_ipaddress, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4564 | suboffset += 4; |
4565 | proto_tree_add_item(filter_rule_tree, hf_filter_rule_port_range, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4566 | suboffset += 4; |
4567 | proto_tree_add_item(filter_rule_tree, hf_wassp_ipprotocol, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4568 | suboffset += 1; |
4569 | proto_tree_add_item(filter_rule_tree, hf_wassp_netmasklength, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4570 | suboffset += 1; |
4571 | proto_tree_add_item(filter_rule_tree, hf_wassp_reserve, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4572 | suboffset += 2; |
4573 | } |
4574 | } |
4575 | } |
4576 | |
4577 | |
4578 | static void decode_mu_appl_stats_block(proto_tree *tree, tvbuff_t *tvb, int offset ) |
4579 | { |
4580 | int suboffset, count, i; |
4581 | proto_tree *tlv_tree = proto_item_add_subtree(tree, ett_wassp_mu_appl_stats); |
4582 | |
4583 | suboffset = offset; |
4584 | count = tvb_get_ntohl(tvb, suboffset); |
4585 | proto_tree_add_item(tlv_tree, hf_wassp_mu, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4586 | suboffset += 4; |
4587 | for (i = 1; i <= count; i++) |
4588 | { |
4589 | //proto_tree_add_debug_text(tlv_tree, "MU_%d", i); |
4590 | proto_tree_add_item(tlv_tree, hf_wassp_macaddr, tvb, suboffset, 6, ENC_NA0x00000000); |
4591 | suboffset += 6; |
4592 | proto_tree_add_item(tlv_tree, hf_wassp_apprules, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4593 | suboffset += 2; |
4594 | proto_tree_add_item(tlv_tree, hf_wassp_displayid, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4595 | suboffset += 2; |
4596 | proto_tree_add_item(tlv_tree, hf_wassp_txbytes, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4597 | suboffset += 4; |
4598 | proto_tree_add_item(tlv_tree, hf_wassp_rxbytes, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4599 | suboffset += 4; |
4600 | } |
4601 | |
4602 | } |
4603 | |
4604 | |
4605 | |
4606 | static void decode_cos_struct(proto_tree *tree, tvbuff_t *tvb, int offset ) |
4607 | { |
4608 | int suboffset = offset; |
4609 | proto_tree_add_item(tree, hf_wassp_flag_1b, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4610 | suboffset += 1; |
4611 | proto_tree_add_item(tree, hf_wassp_tos, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4612 | suboffset += 1; |
4613 | proto_tree_add_item(tree, hf_wassp_tos_mask, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4614 | suboffset += 1; |
4615 | proto_tree_add_item(tree, hf_wassp_priority, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4616 | suboffset += 1; |
4617 | proto_tree_add_item(tree, hf_cos_rateid, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4618 | |
4619 | } |
4620 | |
4621 | static void decode_rate_limit_struct(proto_tree *tree, tvbuff_t *tvb, int offset, int length ) |
4622 | { |
4623 | int suboffset = offset, count = length / 4, i; |
4624 | |
4625 | for (i = 0; i < count; i++) |
4626 | { |
4627 | proto_tree_add_item(tree, hf_wassp_in_cir, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4628 | suboffset += 2; |
4629 | proto_tree_add_item(tree, hf_wassp_out_cir, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4630 | suboffset += 2; |
4631 | } |
4632 | |
4633 | } |
4634 | |
4635 | static void decode_mac_list_struct(proto_tree *tree, tvbuff_t *tvb, int offset, int length ) |
4636 | { |
4637 | int suboffset = offset, count = length / 6, i; |
4638 | |
4639 | for (i = 0; i < count; i++) |
4640 | { |
4641 | proto_tree_add_item(tree, hf_wassp_macaddr, tvb, suboffset, 6, ENC_NA0x00000000); |
4642 | suboffset += 6; |
4643 | } |
4644 | } |
4645 | |
4646 | |
4647 | static void decode_ipv4_list_struct(proto_tree *tree, tvbuff_t *tvb, int offset, int length ) |
4648 | { |
4649 | int suboffset = offset, count = length / 4, i; |
4650 | |
4651 | for (i = 0; i < count; i++) |
4652 | { |
4653 | proto_tree_add_item(tree, hf_wassp_ipaddress, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4654 | suboffset += 4; |
4655 | } |
4656 | } |
4657 | |
4658 | static void decode_Channel_list(proto_tree *tree, tvbuff_t *tvb, int offset, int length ) |
4659 | { |
4660 | int suboffset = offset, count = length / 2, i; |
4661 | |
4662 | for (i = 0; i < count; i++) |
4663 | { |
4664 | proto_tree_add_item(tree, hf_wassp_freq, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4665 | suboffset += 2; |
4666 | } |
4667 | } |
4668 | |
4669 | |
4670 | |
4671 | static int decode_lbs_tag_header(proto_tree *tree, tvbuff_t *tvb, int offset) |
4672 | { |
4673 | int suboffset = offset; |
4674 | proto_item *temp; |
4675 | proto_tree *lbs_header_tree; |
4676 | |
4677 | temp = proto_tree_add_item(tree, hf_aeroscout_header, tvb, suboffset, 64, ENC_NA0x00000000); |
4678 | lbs_header_tree = proto_item_add_subtree(temp, ett_wassp_header); |
4679 | proto_tree_add_item(lbs_header_tree, hf_aeroscout_header_magic_number, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4680 | suboffset += 2; |
4681 | proto_tree_add_item(lbs_header_tree, hf_aeroscout_request_id, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4682 | suboffset += 2; |
4683 | proto_tree_add_item(lbs_header_tree, hf_aeroscout_code, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4684 | suboffset += 1; |
4685 | proto_tree_add_item(lbs_header_tree, hf_aeroscout_sub_code, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4686 | suboffset += 1; |
4687 | proto_tree_add_item(lbs_header_tree, hf_aeroscout_datalength, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4688 | suboffset += 2; |
4689 | proto_tree_add_item(lbs_header_tree, hf_wassp_mu_mac, tvb, suboffset, 6, ENC_NA0x00000000); |
4690 | suboffset += 6; |
4691 | proto_tree_add_item(lbs_header_tree, hf_lbs_vendor_id, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4692 | suboffset += 2; |
4693 | proto_tree_add_item(lbs_header_tree, hf_lbs_rsvd1, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4694 | suboffset += 2; |
4695 | proto_tree_add_item(lbs_header_tree, hf_lbs_ap_bssid, tvb, suboffset, 6, ENC_NA0x00000000); |
4696 | suboffset += 6; |
4697 | proto_tree_add_item(lbs_header_tree, hf_lbs_rsvd2, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4698 | suboffset += 1; |
4699 | proto_tree_add_item(lbs_header_tree, hf_lbs_rxchan, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4700 | suboffset += 1; |
4701 | proto_tree_add_item(lbs_header_tree, hf_lsb_tstamp, tvb, suboffset, 4, ENC_BIG_ENDIAN0x00000000); |
4702 | suboffset += 4; |
4703 | proto_tree_add_item(lbs_header_tree, hf_lsb_rsvd3, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4704 | suboffset += 2; |
4705 | proto_tree_add_item(lbs_header_tree, hf_lsb_rssi, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4706 | suboffset += 1; |
4707 | proto_tree_add_item(lbs_header_tree, hf_lsb_rsvd, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4708 | suboffset += 1; |
4709 | proto_tree_add_item(lbs_header_tree, hf_lsb_noise_floor, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4710 | suboffset += 1; |
4711 | proto_tree_add_item(lbs_header_tree, hf_lsb_rsvd4, tvb, suboffset, 3, ENC_BIG_ENDIAN0x00000000); |
4712 | suboffset += 3; |
4713 | proto_tree_add_item(lbs_header_tree, hf_lsb_chan_rate, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4714 | suboffset += 1; |
4715 | proto_tree_add_item(lbs_header_tree, hf_lsb_rsvd5, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4716 | suboffset += 1; |
4717 | proto_tree_add_item(lbs_header_tree, hf_lsb_wh_addr2, tvb, suboffset, 6, ENC_NA0x00000000); |
4718 | suboffset += 6; |
4719 | proto_tree_add_item(lbs_header_tree, hf_lsb_wh_fc, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4720 | suboffset += 2; |
4721 | proto_tree_add_item(lbs_header_tree, hf_lsb_wh_seq, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4722 | suboffset += 2; |
4723 | proto_tree_add_item(lbs_header_tree, hf_lsb_rsvd6, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4724 | suboffset += 2; |
4725 | proto_tree_add_item(lbs_header_tree, hf_lsb_wh_addr3, tvb, suboffset, 6, ENC_NA0x00000000); |
4726 | suboffset += 6; |
4727 | proto_tree_add_item(lbs_header_tree, hf_lsb_wh_addr4, tvb, suboffset, 6, ENC_NA0x00000000); |
4728 | suboffset += 6; |
4729 | return suboffset; |
4730 | } |
4731 | |
4732 | |
4733 | |
4734 | |
4735 | |
4736 | |
4737 | |
4738 | // NOLINTNEXTLINE(misc-no-recursion) |
4739 | int dissect_wassp_sub_tlv(proto_tree *wassp_tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int in_len, int which_tab, int ru_msg_type) |
4740 | { |
4741 | proto_item *tlvi; |
4742 | proto_item *ti; |
4743 | proto_tree *tmp_tree; |
4744 | const char *label; |
4745 | uint32_t value; |
4746 | uint16_t tlv_type = EID_PARSE_ERROR(EID_MAX+1); |
4747 | uint16_t length = 0, org_offset = offset; |
4748 | const WASSP_SUBTLV_DECODER_INFO_t *tmp_decr = NULL((void*)0); |
4749 | uint32_t i, tableNo; |
4750 | int suboffset; |
4751 | |
4752 | if (which_tab >= TAB_MAX) |
4753 | { |
4754 | return offset; |
4755 | } |
4756 | |
4757 | tmp_decr = &wassp_decr_info[which_tab]; |
4758 | |
4759 | if (tvb_reported_length_remaining(tvb, offset) > 0) |
4760 | { |
4761 | ti = proto_tree_add_item(wassp_tree, hf_wassp_sub_tree, tvb, offset, in_len, ENC_NA0x00000000); |
4762 | proto_item_append_text(ti, " : %s", tmp_decr->subtree_name); |
4763 | tmp_tree = proto_item_add_subtree(ti, *((int*)(WASSP_SUBTLV_GET_ETTNUM(tmp_decr)((tmp_decr)->ett_num)))); |
4764 | |
4765 | while (((value = tvb_reported_length_remaining(tvb, offset)) >= 4) && (offset - org_offset < in_len)) |
4766 | { |
4767 | tlv_type = tvb_get_ntohs(tvb, offset + TLV_TYPE0); |
4768 | length = tvb_get_ntohs(tvb, offset + TLV_LENGTH2); |
4769 | if (tlv_type >= WASSP_SUBTLV_GET_MAXENTRY(tmp_decr)((tmp_decr)->max_entry)) |
4770 | { |
4771 | proto_tree_add_uint_format_value(tmp_tree, hf_wassp_tlv_unknown, tvb, offset, 4, tlv_type, "Unknown Wassp TLV (%d)", tlv_type); |
4772 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_length, tvb, offset + TLV_LENGTH2, 2, ENC_BIG_ENDIAN0x00000000); |
4773 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
4774 | offset += length; |
4775 | continue; |
4776 | } |
4777 | |
4778 | label = wassp_match_strval(tmp_decr, tlv_type); |
4779 | label = (label == NULL((void*)0)) ? "Unknown Type" : label; |
4780 | |
4781 | if (length > value) |
4782 | { |
4783 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_invalid, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
4784 | tlv_type = EID_PARSE_ERROR(EID_MAX+1); |
4785 | } |
4786 | else if (length < 4) |
4787 | { |
4788 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_invalid, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
4789 | tlv_type = EID_PARSE_ERROR(EID_MAX+1); |
4790 | } |
4791 | else if (length == 4) |
4792 | { |
4793 | if ((which_tab == TAB_RSS_DATA_ARRAY) && (tlv_type == EID_RSS_DATA_BLOCK)) |
4794 | { |
4795 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_value_octext, tvb, offset, length, ENC_NA0x00000000); |
4796 | } |
4797 | else |
4798 | { |
4799 | tlvi = proto_tree_add_item(tmp_tree, hf_wassp_tlv_value, tvb, offset, length, ENC_NA0x00000000); |
4800 | proto_item_append_text(tlvi, " : %s (%d)", label, tlv_type); |
4801 | } |
4802 | offset += length; |
4803 | continue; |
4804 | } |
4805 | else |
4806 | { |
4807 | if ((which_tab == TAB_RSS_DATA_ARRAY) && (tlv_type == EID_RSS_DATA_BLOCK)) |
4808 | { |
4809 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_value_octext, tvb, offset, length, ENC_NA0x00000000); |
4810 | } |
4811 | else |
4812 | { |
4813 | tlvi = proto_tree_add_item(tmp_tree, hf_wassp_tlv_value, tvb, offset, length, ENC_NA0x00000000); |
4814 | proto_item_append_text(tlvi, " : %s (%d)", label, tlv_type); |
4815 | } |
4816 | } |
4817 | |
4818 | tlvi = proto_tree_add_uint_format_value(tmp_tree, hf_wassp_tlv_type_sub, tvb, offset + TLV_TYPE0, 2, tlv_type, "%s (%d)", label, tlv_type); |
Value stored to 'tlvi' is never read | |
4819 | proto_tree_add_item(tmp_tree, hf_wassp_tlv_length, tvb, offset + TLV_LENGTH2, 2, ENC_BIG_ENDIAN0x00000000); |
4820 | |
4821 | if (tlv_type == EID_PARSE_ERROR(EID_MAX+1)) |
4822 | { |
4823 | proto_tree_add_item(wassp_tree, hf_wassp_tlv_invalid, tvb, offset, value, ENC_BIG_ENDIAN0x00000000); |
4824 | offset += length; |
4825 | break; |
4826 | } |
4827 | else |
4828 | { |
4829 | if (WASSP_SUBTLV_GET_ENTRY_IDX_TYPE(tmp_decr, tlv_type)(((tmp_decr)->entry[(tlv_type)]).type) != TLV_TYPE_BLOCK_TLV7) |
4830 | { |
4831 | proto_tree_add_item(tmp_tree, wassp_type_converter(WASSP_SUBTLV_GET_ENTRY_IDX_TYPE(tmp_decr, tlv_type)(((tmp_decr)->entry[(tlv_type)]).type)), tvb, offset + TLV_VALUE4, length - 4, false0); |
4832 | if ((which_tab == TAB_CONFIG_SITE) && (tlv_type == EID_SITE_TOPOLOGY_BLOCK)) |
4833 | { |
4834 | suboffset = offset + 4; |
4835 | for (i = 0; i < (uint32_t)(length / 4 - 1); i++) |
4836 | { |
4837 | proto_tree_add_item(tmp_tree, hf_wassp_topologykey, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4838 | suboffset += 2; |
4839 | proto_tree_add_item(tmp_tree, hf_wassp_topology_mode, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4840 | suboffset += 2; |
4841 | } |
4842 | } |
4843 | |
4844 | if (which_tab == VNS_CONFIG_BLOCK) |
4845 | { |
4846 | if (tlv_type == EID_V_COS) |
4847 | { |
4848 | decode_cos_struct(tmp_tree, tvb, offset + 4 ); |
4849 | } |
4850 | else if (tlv_type == EID_V_RATE_LIMIT_RESOURCE_TBL) |
4851 | { |
4852 | decode_rate_limit_struct(tmp_tree,tvb, offset + 4,length-4 ); |
4853 | } |
4854 | } |
4855 | |
4856 | if (which_tab == TAB_CONFIG_FILTER || which_tab == TAB_FILTER_CONFIG_STRUCT_BLOCK) |
4857 | { |
4858 | if (tlv_type == EID_V_FILTER_RULES || tlv_type == EID_FILTER_RULES || tlv_type == EID_V_SITE_FILTER_RULES ) |
4859 | { |
4860 | if (length < 20) |
4861 | break; |
4862 | decode_filter_rule_octext_string(tmp_tree, tvb, offset + 4, length ); |
4863 | |
4864 | } |
4865 | } |
4866 | |
4867 | |
4868 | if (which_tab == TAB_SCAN_PROFILE_BLOCK) |
4869 | { |
4870 | if (tlv_type == EID_CHANNEL_LIST) |
4871 | { |
4872 | decode_Channel_list(tmp_tree, tvb, offset + 4, length -4 ); |
4873 | } |
4874 | } |
4875 | |
4876 | if (which_tab == TAB_SURVEILLANCE_DATA_BLOCK) |
4877 | { |
4878 | if (tlv_type == EID_SCAN_RSS_RSSI) |
4879 | { |
4880 | suboffset = offset + 4; |
4881 | proto_tree_add_item(tmp_tree, hf_wassp_rss, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4882 | suboffset += 2; |
4883 | proto_tree_add_item(tmp_tree, hf_wassp_rssi, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4884 | } |
4885 | |
4886 | if (tlv_type == EID_PARAMS) |
4887 | { |
4888 | suboffset = offset + 4; |
4889 | proto_tree_add_item(tmp_tree, hf_wassp_threatstate, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4890 | suboffset += 1; |
4891 | proto_tree_add_item(tmp_tree, hf_wassp_radioparams, tvb, suboffset, 1, ENC_BIG_ENDIAN0x00000000); |
4892 | suboffset += 1; |
4893 | proto_tree_add_item(tmp_tree, hf_wassp_channelfreq, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
4894 | } |
4895 | |
4896 | } |
4897 | |
4898 | |
4899 | if (which_tab == CONFIG_GLOBAL_BLOCK) |
4900 | { |
4901 | if (tlv_type == EID_ON_DEMAND_ARRAY || tlv_type == EID_DYN_ON_DEMAND_ARRAY) |
4902 | { |
4903 | decode_mac_list_struct(tmp_tree, tvb, offset + 4, length -4 ); |
4904 | } |
4905 | } |
4906 | |
4907 | if (which_tab == TAB_DETECTED_ROGUE_BLOCK) |
4908 | { |
4909 | if (tlv_type == EID_DNS_IP_ADDR) |
4910 | { |
4911 | decode_ipv4_list_struct(tmp_tree, tvb, offset + 4, length -4 ); |
4912 | } |
4913 | } |
4914 | |
4915 | offset += length; |
4916 | } |
4917 | else |
4918 | { |
4919 | |
4920 | tableNo = WASSP_SUBTLV_GET_ENTRY_IDX_TABIDX(tmp_decr, tlv_type)(((tmp_decr)->entry[(tlv_type)]).length); |
4921 | if ((tableNo == RADIO_CONFIG_BLOCK) && (ru_msg_type == WASSP_RU_Ack)) |
4922 | { |
4923 | // We recurse here, but we'll run out of packet before we run out of stack. |
4924 | offset = dissect_wassp_sub_tlv(tmp_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_RU_ACK_RADIO_CONFIG, ru_msg_type); |
4925 | } |
4926 | else |
4927 | // We recurse here, but we'll run out of packet before we run out of stack. |
4928 | offset = dissect_wassp_sub_tlv(tmp_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, tableNo, ru_msg_type); |
4929 | } |
4930 | |
4931 | } |
4932 | } |
4933 | } |
4934 | return offset; |
4935 | } |
4936 | |
4937 | |
4938 | int dissect_wassp_tlv(proto_tree *wassp_tree, tvbuff_t *tvb, packet_info *pinfo, int offset, wassp_ru_msg_t rumsg_type) |
4939 | { |
4940 | proto_item *tlvi = NULL((void*)0); |
4941 | proto_tree *tlv_tree; |
4942 | uint16_t tlv_type = WASSP_RU_UNUSED_0; |
4943 | uint16_t length; |
4944 | uint32_t value; |
4945 | int suboffset; |
4946 | wassp_ru_msg_t ru_msg_type = rumsg_type; |
4947 | const char *label; |
4948 | |
4949 | |
4950 | |
4951 | SET_WASSP_TLV_VERSION(0)(g_wassp_ver = (0)); |
4952 | while ((value = tvb_reported_length_remaining(tvb, offset)) >= 4) |
4953 | { |
4954 | tlv_type = tvb_get_ntohs(tvb, offset + TLV_TYPE0); |
4955 | length = tvb_get_ntohs(tvb, offset + TLV_LENGTH2); |
4956 | label = try_val_to_str(tlv_type, wassp_tlv_types); |
4957 | label = (label == NULL((void*)0)) ? "Unknown Type" : label; |
4958 | |
4959 | if (length > value) |
4960 | { |
4961 | tlvi = proto_tree_add_item(wassp_tree, hf_wassp_tlv_invalid, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
4962 | tlv_type = EID_UNUSED_0; |
4963 | } |
4964 | else if (length < 4) |
4965 | { |
4966 | tlvi = proto_tree_add_item(wassp_tree, hf_wassp_tlv_invalid, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
4967 | tlv_type = EID_UNUSED_0; |
4968 | } |
4969 | else |
4970 | { |
4971 | tlvi = proto_tree_add_item(wassp_tree, hf_wassp_tlv_value, tvb, offset, length, ENC_NA0x00000000); |
4972 | proto_item_append_text(tlvi, " : %s (%d)", label, tlv_type); |
4973 | |
4974 | } |
4975 | |
4976 | tlv_tree = proto_item_add_subtree(tlvi, ett_wassp_tlv); |
4977 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_type_main, tvb, offset + TLV_TYPE0, 2, ENC_BIG_ENDIAN0x00000000); |
4978 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_length, tvb, offset + TLV_LENGTH2, 2, ENC_BIG_ENDIAN0x00000000); |
4979 | |
4980 | switch (tlv_type) |
4981 | { |
4982 | case EID_UNUSED_0: // 0 |
4983 | offset += 4; |
4984 | break; |
4985 | |
4986 | case EID_STATUS: // 1 |
4987 | ru_msg_type = (wassp_ru_msg_t) tvb_get_uint8(tvb, WASSP_HDR_TYPE1); |
4988 | |
4989 | /*this is an action TLV*/ |
4990 | if (WASSP_RU_SW_Version_Validate_Rsp == ru_msg_type) |
4991 | { |
4992 | proto_item_append_text(tlvi, " (upgrade action)"); |
4993 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_eid_action, tvb, offset + TLV_VALUE4, length - 4, ENC_BIG_ENDIAN0x00000000); |
4994 | } |
4995 | else /*assume status TLV*/ |
4996 | { |
4997 | proto_item_append_text(tlvi, " (status)"); |
4998 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_eid_status, tvb, offset + TLV_VALUE4, length - 4, ENC_BIG_ENDIAN0x00000000); |
4999 | } |
5000 | offset += length; |
5001 | break; |
5002 | |
5003 | /* display as string */ |
5004 | case EID_RU_SW_VERSION: // 2 |
5005 | case EID_RU_SERIAL_NUMBER: // 3 |
5006 | case EID_IMAGE_PATH: // 9 |
5007 | case EID_RANDOM_NUMBER: // 14 |
5008 | case EID_RU_MODEL: // 17 |
5009 | case EID_RU_TRAP: // 24 |
5010 | case EID_RU_SSID_NAME: // 37 |
5011 | case EID_AC_REG_CHALLENGE: // 41 |
5012 | case EID_AC_REG_RESPONSE: // 42 |
5013 | case EID_STATS: // 43 |
5014 | case EID_CERTIFICATE: // 44 |
5015 | case EID_RADIO_INFO: // 51 |
5016 | case EID_NETWORK_INFO: // 52 |
5017 | case EID_PRODUCT_ID: // 54 |
5018 | case EID_RADIO_INFO_ACK: // 55 |
5019 | case EID_SSID: // 58 |
5020 | case EID_MU_PMKID_LIST: // 72 |
5021 | case EID_MU_PMK_BP: // 73 |
5022 | case EID_MU_PMKID_BP: // 74 |
5023 | case EID_LOG_FILE: // 83 |
5024 | case EID_ALARM_DESCRIPTION: // 85 |
5025 | case EID_RU_BACKUP_VERSION: // 93 |
5026 | case EID_AC_SW_VERSION: // 94 |
5027 | case EID_MCAST_LAMG_LIST: // 95 |
5028 | case EID_FILTER_NAME: // 96 |
5029 | case EID_SENSOR_IMG_VERSION: // 104 |
5030 | case EID_RATECTRL_NAME_UL: // 111 |
5031 | case EID_RATECTRL_NAME_DL: // 112 |
5032 | case EID_POLICY_NAME: // 113 |
5033 | case EID_SIAPP_AP_NAME: // 120 |
5034 | case EID_SIAPP_USER_IDENTITY: // 151 |
5035 | case EID_MU_FILTER_POLICY_NAME: // 162 |
5036 | case EID_MU_TOPOLOGY_POLICY_NAME: // 163 |
5037 | case EID_MU_COS_POLICY_NAME: // 164 |
5038 | case EID_SITE_NAME: // 175 |
5039 | case EID_SSS_SSID: // 191 |
5040 | case EID_POLICY_ZONE_NAME: // 193 |
5041 | case EID_MU_USER_NAME: // 196 |
5042 | case EID_SCAN_SSID: // 237 |
5043 | case EID_THREAT_NAME: // 248 |
5044 | case EID_LOCATION: // 249 |
5045 | case EID_MU_EVENT_STRING: // 254 |
5046 | case EID_LOCATOR_FLOOR_NAME: // 288 |
5047 | case EID_MU_RFS_NAME: // 296 |
5048 | case EID_MU_URL: // 301 |
5049 | case EID_MU_ACCT_SESSION_ID_STRING: // 304 |
5050 | case EID_MU_ACCT_POLICY_NAME: // 305 |
5051 | case EID_MU_TUNNEL_PRIVATE_GROUP_ID_STRING: // 309 |
5052 | case EID_MU_USER_ID_STRING: // 310 |
5053 | case EID_MU_LOCATION: // 331 |
5054 | case EID_AREA_NAME: // 335 |
5055 | case EID_CUI: // 363 |
5056 | case EID_WFA_HS20_URL: // 368 |
5057 | case EID_DHCP_HOST_NAME: // 382 |
5058 | case EID_MU_ECP_PW: // 385 |
5059 | case EID_MU_ECP_TOKEN: // 386 |
5060 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_string, tvb, offset + TLV_VALUE4, length - 4, ENC_ASCII0x00000000); |
5061 | offset += length; |
5062 | break; |
5063 | |
5064 | /* display as octext string */ |
5065 | case EID_RU_REG_CHALLENGE: // 4 |
5066 | case EID_RU_REG_RESPONSE: // 5 |
5067 | case EID_RU_VNSID: // 7 |
5068 | case EID_SESSION_KEY: // 12 |
5069 | case EID_RU_PREAUTH: // 39 |
5070 | case EID_RU_PMK: // 40 |
5071 | case EID_SIAPP_PMKID: // 115 |
5072 | case EID_SIAPP_PMK_REAUTH: // 116 |
5073 | case EID_SIAPP_PMK_LIFETIME: // 117 |
5074 | case EID_SIAPP_PMKID_FLAG: // 118 |
5075 | case EID_SIAPP_MU_PMK: // 119 |
5076 | case EID_SIAPP_CLUSTER_ACS_REQ: // 122 |
5077 | case EID_SIAPP_PACKET_RETRIES: // 124 |
5078 | case EID_SIAPP_ASSOC_IN_WLAN: // 125 |
5079 | case EID_SIAPP_ASSOC_IN_CLUSTER: // 126 |
5080 | case EID_SIAPP_REASSOC_IN_CLUSTER: // 127 |
5081 | case EID_SIAPP_NEWAP_BSSID: // 129 |
5082 | case EID_SIAPP_OLDAP_BSSID: // 130 |
5083 | case EID_SIAPP_RAD_CACS_REQ: // 131 |
5084 | case EID_SIAPP_CLIENT_COUNT: // 133 |
5085 | case EID_SIAPP_MU_TransmittedFrameCount: // 135 |
5086 | case EID_SIAPP_MU_ReceivedFrameCount: // 136 |
5087 | case EID_SIAPP_MU_TransmittedBytes: // 137 |
5088 | case EID_SIAPP_MU_ReceivedBytes: // 138 |
5089 | case EID_SIAPP_MU_UL_DroppedRateControlPackets: // 139 |
5090 | case EID_SIAPP_MU_DL_DroppedRateControlPackets: // 140 |
5091 | case EID_SIAPP_MU_DL_DroppedBufferFullPackets: // 141 |
5092 | case EID_SIAPP_MU_DL_LostRetriesPackets: // 142 |
5093 | case EID_SIAPP_MU_UL_DroppedRateControlBytes: // 143 |
5094 | case EID_SIAPP_MU_DL_DroppedRateControlBytes: // 144 |
5095 | case EID_SIAPP_MU_DL_DroppedBufferFullBytes: // 145 |
5096 | case EID_SIAPP_MU_DL_LostRetriesBytes: // 146 |
5097 | case EID_SIAPP_BP_BSSID: // 147 |
5098 | case EID_SIAPP_RADIO_ID: // 148 |
5099 | case EID_SIAPP_PREAUTH_REQ: // 150 |
5100 | case EID_SIAPP_LOADBAL_LOADGROUP_ID: // 154 |
5101 | case EID_MU_ACCOUNTING_CLASS: // 169 |
5102 | case EID_SSS_TS64_MU_UPDATE: // 183 |
5103 | case EID_SSS_TS64_AP_CURRENT: // 184 |
5104 | case EID_SSS_AP_HOMEHASH: // 186 |
5105 | case EID_EVENT_ARRAY: // 189 |
5106 | case EID_INFORM_MU_PMK: // 199 |
5107 | case EID_ARP_PROXY: // 201 |
5108 | case EID_MCAST_FILTER_RULES: // 202 |
5109 | case EID_AP_PARAMS: // 203 |
5110 | case EID_THREAT_STATS_F: // 220 |
5111 | case EID_THREAT_PATTERN: // 224 |
5112 | case EID_LOCATOR_LOC_POINT: // 265 |
5113 | case EID_MU_EVENT_DETAILS: // 266 |
5114 | case EID_MU_EVENT_LOC_BLOCK: // 268 |
5115 | case EID_AP_REDIRECT: // 291 |
5116 | case EID_MU_CVLAN_BAP: // 292 |
5117 | case EID_MU_SESSION_ID: // 295 |
5118 | case EID_MU_FLAGS: // 297 |
5119 | case EID_MU_ASSOC_TIME: // 298 |
5120 | case EID_MU_ACTIVE_TIME: // 299 |
5121 | case EID_REPORT_REQ: // 300 |
5122 | case EID_MU_SESSION_LIFETIME: // 302 |
5123 | case EID_MU_REAUTH_TIMER: // 303 |
5124 | case EID_MU_ACCT_START_TIME: // 306 |
5125 | case EID_MU_ACCT_CLASS: // 307 |
5126 | case EID_MU_LOGIN_LAT_GROUP: // 308 |
5127 | case EID_MU_DEFENDED_STATE: // 311 |
5128 | case EID_MU_MOD_MASK: // 312 |
5129 | case EID_LOCATOR_TRACKED: // 313 |
5130 | case EID_PORT: // 314 |
5131 | case EID_RETRIES_COUNT: // 315 |
5132 | case EID_MODULATION_TYPE: // 316 |
5133 | case EID_ROGUE_DETECTION: // 319 |
5134 | case EID_TTL: // 324 |
5135 | case EID_LOCATOR_STATE_DATA: // 326 |
5136 | case EID_LOCATOR_POINT_SET: // 327 |
5137 | case EID_FILTER_RULE_FIXED_APP_ID: // 328 |
5138 | case EID_MU_AREA_BLOCK: // 330 |
5139 | case EID_IN_SERVICE_AP_LIST: // 334 |
5140 | case EID_OUT_SERVICE_AP_LIST: // 335 |
5141 | case EID_LAST_RD_AP: // 336 |
5142 | case EID_ROGUE_INFO: // 337 |
5143 | case EID_MU_PMK_R1: // 339 |
5144 | case EID_SIAPP_R0KHID: // 340 |
5145 | case EID_SIAPP_R1KHID: // 341 |
5146 | case EID_SIAPP_FT_NONCE: // 342 |
5147 | case EID_SIAPP_FT_PMKR0NAME: // 343 |
5148 | case EID_SIAPP_FT_R1KHID: // 344 |
5149 | case EID_SIAPP_FT_S1KHID: // 345 |
5150 | case EID_SIAPP_FT_PMKR1: // 346 |
5151 | case EID_SIAPP_FT_PMKR1NAME: // 347 |
5152 | case EID_SIAPP_FT_PAIRWISE: // 348 |
5153 | case EID_SIAPP_FT_LIFETIME: // 349 |
5154 | case EID_MU_POWER_CAP: // 350 |
5155 | case EID_PERIODIC_NEIGHBOUR_REPORT: // 352 |
5156 | case EID_NEIGHBOUR_ENTRY: // 354 |
5157 | case EID_MU_PMK_R0NAME: // 362 |
5158 | case EID_IPV6_ADDR: // 373 |
5159 | case EID_MU_DEV_IDENTITY: // 376 |
5160 | case EID_NEIGHBOUR_ENTRY_2: // 383 |
5161 | case EID_CHANNEL_ENTRY: // 384 |
5162 | case EID_PKT_F_WIRELESS: // 391 |
5163 | case EID_PKT_F_WIREDCLIENT: // 392 |
5164 | case EID_PKT_F_DIRECTION: // 393 |
5165 | case EID_PKT_F_IP_ARRAY: // 396 |
5166 | case EID_PKT_F_RADIO: // 394 |
5167 | case EID_VSA_SSID_ID: // 400 |
5168 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5169 | offset += length; |
5170 | break; |
5171 | |
5172 | /* display as IP address format */ |
5173 | case EID_AC_IPADDR: // 6 |
5174 | case EID_TFTP_SERVER: // 8 |
5175 | case EID_STATIC_BP_IPADDR: // 30 |
5176 | case EID_STATIC_BP_NETMASK: // 31 |
5177 | case EID_STATIC_BP_GATEWAY: // 32 |
5178 | case EID_STATIC_BM_IPADDR: // 33 |
5179 | case EID_AP_IPADDR: // 89 |
5180 | case EID_AP_NETMASK: // 90 |
5181 | case EID_AP_GATEWAY: // 91 |
5182 | case EID_MU_IP_ADDR: // 173 |
5183 | case EID_PEER_SITE_IP: // 176 |
5184 | case EID_COLLECTOR_IP_ADDR: // 200 |
5185 | case EID_IP_ADDR_TX: // 322 |
5186 | case EID_IP_ADDR_RX: // 323 |
5187 | case EID_GW_IP_ADDR: // 325 |
5188 | case EID_STATIC_VSA_IPADDR: // 387 |
5189 | case EID_STATIC_VSA_NETMASK: // 388 |
5190 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_ip, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5191 | offset += length; |
5192 | break; |
5193 | |
5194 | case EID_CONFIG: // 10 |
5195 | case EID_ALARM: // 38 |
5196 | /* Dissect SNMP encoded configuration */ |
5197 | dissector_try_uint(wassp_dissector_table, WASSP_SNMP161, tvb_new_subset_length(tvb, offset + TLV_VALUE4, length - 4), pinfo, tlv_tree); |
5198 | offset += length; |
5199 | break; |
5200 | |
5201 | case EID_RU_STATE: // 11 |
5202 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_eid_rustate, tvb, offset + TLV_VALUE4, length - 4, ENC_BIG_ENDIAN0x00000000); |
5203 | proto_item_append_text(tlvi, ": %s", |
5204 | tfs_get_string(tvb_get_uint8(tvb, offset + TLV_VALUE4), &wassp_eid_rustate_types)); |
5205 | offset += length; |
5206 | break; |
5207 | |
5208 | /* display as int */ |
5209 | case EID_RU_PROTOCOL: // 13 |
5210 | case EID_STANDBY_TIMEOUT: // 15 |
5211 | case EID_RU_CHALLENGE_ID: // 16 |
5212 | case EID_RU_SCAN_MODE: // 18 |
5213 | case EID_RU_SCAN_TYPE: // 19 |
5214 | case EID_RU_SCAN_INTERVAL: // 20 |
5215 | case EID_RU_RADIO_TYPE: // 21 |
5216 | case EID_RU_CHANNEL_DWELL_TIME: // 22 |
5217 | case EID_RU_CHANNEL_LIST: // 23 |
5218 | case EID_RU_SCAN_TIMES: // 25 |
5219 | case EID_RU_SCAN_DELAY: // 26 |
5220 | case EID_RU_SCAN_REQ_ID: // 27 |
5221 | case EID_STATIC_CONFIG: // 28 |
5222 | case EID_LOCAL_BRIDGING: // 29 |
5223 | case EID_RU_CAPABILITY: // 36 |
5224 | case EID_RADIO_ID: // 45 |
5225 | case EID_REQ_ID: // 46 |
5226 | case EID_NETWORK_ID: // 47 |
5227 | case EID_TIME: // 49 |
5228 | case EID_NUM_RADIOS: // 50 |
5229 | case EID_VENDOR_ID: // 53 |
5230 | case EID_SECURE_TUNNEL: // 56 |
5231 | case EID_MU_TOPOLOGY_ID: // 57 |
5232 | case EID_SNMP_ERROR_STATUS: // 60 |
5233 | case EID_SNMP_ERROR_INDEX: // 61 |
5234 | case EID_RU_REAUTH_TIMER: // 62 |
5235 | case EID_AP_IMG_TO_RAM: // 63 |
5236 | case EID_AP_IMG_ROLE: // 64 |
5237 | case EID_STATS_REQUEST_TYPE: // 67 |
5238 | case EID_STATS_LAST: // 68 |
5239 | case EID_COUNTDOWN_TIME: // 75 |
5240 | case EID_WASSP_VLAN_TAG: // 76 |
5241 | case EID_SSID_ID: // 77 |
5242 | case EID_PORT_OPEN_FLAG: // 80 |
5243 | case EID_WASSP_TUNNEL_TYPE: // 81 |
5244 | case EID_LOG_TYPE: // 82 |
5245 | case EID_ALARM_SEVERITY: // 84 |
5246 | case EID_AP_DHCP_MODE: // 88 |
5247 | case EID_AUTH_STATE: // 98 |
5248 | case EID_MU_DISC_AFTER_AUTH: // 99 |
5249 | case EID_TRANS_ID: // 101 |
5250 | case EID_TIMEZONE_OFFSET: // 102 |
5251 | case EID_SENSOR_FORCE_DOWNLOAD: // 103 |
5252 | case EID_BRIDGE_MODE: // 105 |
5253 | case EID_MU_VLAN_TAG: // 106 |
5254 | case EID_RATECTRL_CIR_UL: // 107 |
5255 | case EID_RATECTRL_CIR_DL: // 108 |
5256 | case EID_RATECTRL_CBS_UL: // 109 |
5257 | case EID_RATECTRL_CBS_DL: // 110 |
5258 | case EID_SIAPP_LOADBAL_PKT_TYPE: // 153 |
5259 | case EID_SIAPP_LOADBAL_LOAD_VALUE: // 155 |
5260 | case EID_SIAPP_FILTER_COS: // 157 |
5261 | case EID_UCAST_FILTER_DISABLE: // 160 |
5262 | case EID_MU_INFORM_REASON: // 161 |
5263 | case EID_MU_FILTER_KEY: // 165 |
5264 | case EID_MU_TOPOLOGY_KEY: // 166 |
5265 | case EID_MU_COS_KEY: // 167 |
5266 | case EID_MU_SESSION_TIMEOUT: // 168 |
5267 | case EID_MU_LOGIN_LAT_PORT: // 170 |
5268 | case EID_MU_IDLE_TIMEOUT: // 171 |
5269 | case EID_MU_ACCT_INTERIM_INTERVAL: // 172 |
5270 | case EID_MU_TERMINATE_ACTION: // 174 |
5271 | case EID_INTERFERENCE_EVENTS_ENABLE: // 177 |
5272 | case EID_EVENT_TYPE: // 178 |
5273 | case EID_EVENT_CHANNEL: // 179 |
5274 | case EID_EVENT_VALUE: // 180 |
5275 | case EID_SSS_MU_ASSOC_TIME: // 182 |
5276 | case EID_SSS_MU_AUTH_STATE: // 185 |
5277 | case EID_TIME_FIRST_DETECTED: // 187 |
5278 | case EID_TIME_LAST_REPORTED: // 188 |
5279 | case EID_SSS_DEFAULT_SESSION_TIMEOUT: // 190 |
5280 | case EID_SSS_PRIVACY_TYPE: // 192 |
5281 | case EID_RU_AC_EVENT_COMPONENT_ID: // 194 |
5282 | case EID_MU_AUTH_STATE: // 195 |
5283 | case EID_BULK_TYPE: // 197 |
5284 | case EID_SENT_TIME: // 198 |
5285 | case EID_SCAN_PROFILE_ID: // 209 |
5286 | case EID_ACTION_REQ: // 210 |
5287 | case EID_COUNTERMEASURES_MAX_CH: // 212 |
5288 | case EID_COUNTERMEASURES_SET: // 213 |
5289 | case EID_SEQ_NUM: // 215 |
5290 | case EID_THREAT_TYPE: // 218 |
5291 | case EID_THREAT_ID: // 219 |
5292 | case EID_THREAT_FR_SFR: // 221 |
5293 | case EID_THREAT_ALERT_TH_DUR: // 225 |
5294 | case EID_THREAT_CLEAR_TH_DUR: // 226 |
5295 | case EID_THREAT_PRIORITY: // 227 |
5296 | case EID_THREAT_MITIGATION_LIST: // 228 |
5297 | case EID_PARAMS: // 235 |
5298 | case EID_MU_EVENT_TYPE: // 260 |
5299 | case EID_SSS_MU_IS_PORT_CLOSED: // 229 |
5300 | case EID_FULL_UPDATE: // 230 |
5301 | case EID_REASON: // 231 |
5302 | case EID_SCAN_CAP: // 238 |
5303 | case EID_THREAT_CLASSIFICATION: // 239 |
5304 | case EID_STATE: // 242 |
5305 | case EID_DROP_FR_CNT: // 243 |
5306 | case EID_STOP_ROAM_CNT: // 244 |
5307 | case EID_SPOOF_CNT: // 245 |
5308 | case EID_ENCRYPTION_TYPE: // 250 |
5309 | case EID_COMPONENT_ID: // 253 |
5310 | case EID_BYPASS_BMCAST: // 255 |
5311 | case EID_GETTIMEOFDAY: // 256 |
5312 | case EID_COUNTRY_ID: // 257 |
5313 | case EID_LOCATOR_FLOOR_ID: // 261 |
5314 | case EID_LOCATOR_LOC_TYPE: // 262 |
5315 | case EID_MU_EVENT_FROM_AP: // 267 |
5316 | case EID_LOCATOR_LOC_AP_DISTANCE: // 269 |
5317 | case EID_LOCATOR_LOC_PRECISION: // 270 |
5318 | case EID_LOCATOR_MU_ACTION: // 273 |
5319 | case EID_EFFECTIVE_EGRESS_VLAN: // 274 |
5320 | case EID_REBOOT_ACK: // 275 |
5321 | case EID_AUTH_FLAG: // 277 |
5322 | case EID_ROAMED_FLAG: // 278 |
5323 | case EID_MU_RSS: // 279 |
5324 | case EID_FILTER_RULES_VER: // 280 |
5325 | case EID_FILTER_TYPE: // 281 |
5326 | case EID_DEFAULT_ACTION_TYPE: // 284 |
5327 | case EID_DEFAULT_CONTAIN_TO_VLAN: // 285 |
5328 | case EID_DEFAULT_BRIDGE_MODE: // 286 |
5329 | case EID_INVALID_POLICY: // 287 |
5330 | case EID_AP_FLAGS: // 289 |
5331 | case EID_AP_PVID: // 290 |
5332 | case EID_MU_LOCATION_TS: // 332 |
5333 | case EID_MU_IS_FT: // 338 |
5334 | case EID_TIMESTAMP: // 353 |
5335 | case EID_MU_REQ: // 355 |
5336 | case EID_RU_REQ: // 356 |
5337 | case EID_NEIGHBOUR_REQ: // 357 |
5338 | case EID_SSS_FT_ASSOC: // 358 |
5339 | case EID_DEFAULT_MIRRORN: // 359 |
5340 | case EID_FILTER_RULE_EXT_ACT_FLAGS: // 360 |
5341 | case EID_TOPO_GROUP_MAPPING: // 361 |
5342 | case EID_SSS_CAPINFO: // 364 |
5343 | case EID_SSS_CAPPOWER: // 365 |
5344 | case EID_WFA_VSA: // 366 |
5345 | case EID_WFA_HS20_REMED_METHOD: // 367 |
5346 | case EID_WFA_HS20_DEAUTH_CODE: // 369 |
5347 | case EID_WFA_HS20_REAUTH_DELAY: // 370 |
5348 | case EID_WFA_HS20_SWT: // 371 |
5349 | case EID_POWER_STATUS: // 372 |
5350 | case EID_FILTER_RULES_APP_SIG_GROUP_ID: // 374 |
5351 | case EID_FILTER_RULES_APP_SIG_DISP_ID: // 375 |
5352 | case EID_APPL_STATS_REQ: // 377 |
5353 | case EID_PKT_CAPTURE_STATUS: // 389 |
5354 | case EID_PKT_CAPTURE_FILTERS: // 390 |
5355 | case EID_PKT_F_FLAGS: // 395 |
5356 | case EID_PKT_F_PROTOCOL: // 398 |
5357 | case EID_PKT_F_PORT: // 399 |
5358 | case EID_MU_AUTH_TYPE: // 401 |
5359 | case EID_PKT_F_MAX_PKT_COUNT: // 402 |
5360 | case EID_PKT_F_FLAG_2: // 403 |
5361 | case EID_IMAGE_PORT: // 404 |
5362 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_int, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5363 | offset += length; |
5364 | break; |
5365 | /* display as Mac address */ |
5366 | case EID_BP_BPSSID: // 34 |
5367 | case EID_BP_WIRED_MACADDR: // 35 |
5368 | case EID_SIAPP_MACADDR: // 149 |
5369 | case EID_SIAPP_AC_MGMT_MAC: // 156 |
5370 | case EID_MAC_ADDR: // 208 |
5371 | case EID_SCAN_BSSID: // 233 |
5372 | case EID_MU_BSSID: // 276 |
5373 | case EID_MAC_ADDR_TX: // 320 |
5374 | case EID_MAC_ADDR_RX: // 321 |
5375 | proto_tree_add_item(tlv_tree, hf_wassp_macaddr, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5376 | offset += length; |
5377 | break; |
5378 | case EID_MU_MAC: // 48 |
5379 | case EID_PKT_F_MAC: // 397 |
5380 | proto_tree_add_item(tlv_tree, hf_wassp_mu_mac, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5381 | offset += length; |
5382 | break; |
5383 | |
5384 | /* call sub tlv */ |
5385 | case EID_EVENT_BLOCK: // 59 |
5386 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, EVENT_BLOCK, ru_msg_type); |
5387 | break; |
5388 | case EID_AP_STATS_BLOCK: // 65 |
5389 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, AP_STATS_BLOCK, ru_msg_type); |
5390 | break; |
5391 | case EID_MU_RF_STATS_BLOCK: // 66 |
5392 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, MU_RF_STATS_BLOCK, ru_msg_type); |
5393 | break; |
5394 | case EID_TLV_CONFIG: // 69 |
5395 | case EID_BSSID2IP_BLOCK: // 92 |
5396 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, CONFIG_GLOBAL_BLOCK, ru_msg_type); |
5397 | break; |
5398 | case EID_CONFIG_ERROR_BLOCK: // 70 |
5399 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, CONFIG_ERROR_BLOCK, ru_msg_type); |
5400 | break; |
5401 | case EID_CONFIG_MODIFIED_BLOCK: // 71 |
5402 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_CONFIG_MODIFIED, ru_msg_type); |
5403 | break; |
5404 | case EID_BULK_MU_BLOCK: // 78 |
5405 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, BULK_MU_BLOCK, ru_msg_type); |
5406 | break; |
5407 | case EID_MU_BLOCK: // 79 |
5408 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, MU_BLOCK, ru_msg_type); |
5409 | break; |
5410 | case EID_BULK_VNS_BLOCK: // 86 |
5411 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, BULK_VNS_BLOCK, ru_msg_type); |
5412 | break; |
5413 | case EID_VNS_BLOCK: // 87 |
5414 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, VNS_BLOCK, ru_msg_type); |
5415 | break; |
5416 | case EID_SIAPP_PMK_BLOCK: // 114 |
5417 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SIAPP_PMK_BLOCK, ru_msg_type); |
5418 | break; |
5419 | case EID_SIAPP_RADIO_CONFIG_BLOCK: // 121 |
5420 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SIAPP_RADIO_CONFIG_BLOCK, ru_msg_type); |
5421 | break; |
5422 | case EID_SIAPP_SIAPP_MU_STATS_BLOCK: // 123 |
5423 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SIAPP_MU_STATS_BLOCK, ru_msg_type); |
5424 | break; |
5425 | case EID_SIAPP_THIN_BLOCK: // 128 |
5426 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SIAPP_THIN_BLOCK, ru_msg_type); |
5427 | break; |
5428 | case EID_SIAPP_RADIOBLOCK: // 132 |
5429 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SIAPP_MU_STATS_BLOCK, ru_msg_type); |
5430 | break; |
5431 | case EID_SIAPP_BLOCK: // 134 |
5432 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SIAPP_BLOCK, ru_msg_type); |
5433 | break; |
5434 | case EID_SIAPP_LOADBAL_BLOCK: // 152 |
5435 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, VNS_BLOCK, ru_msg_type); |
5436 | break; |
5437 | case EID_SSS_MU_BLOCK: // 181 |
5438 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SSS_MU_BLOCK, ru_msg_type); |
5439 | break; |
5440 | case EID_ASSOC_SSID_ARRAY: // 204 |
5441 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_ASSOC_SSID_ARRAY, ru_msg_type); |
5442 | break; |
5443 | case EID_ASSOC_SSID_BLOCK: // 205 |
5444 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_ASSOC_SSID_BLOCK, ru_msg_type); |
5445 | break; |
5446 | case EID_AP_LIST_BLOCK: // 206 |
5447 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_AP_LIST_BLOCK, ru_msg_type); |
5448 | break; |
5449 | case EID_AP_LIST_ARRAY: // 207 |
5450 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_AP_LIST_ARRAY, ru_msg_type); |
5451 | break; |
5452 | case EID_SCAN_PROFILE_BLOCK: // 214 |
5453 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SCAN_PROFILE_BLOCK, ru_msg_type); |
5454 | break; |
5455 | case EID_THREAT_DEF_ARRAY: // 216 |
5456 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_DEF_ARRAY, ru_msg_type); |
5457 | break; |
5458 | case EID_THREAT_DEF_BLOCK: // 217 |
5459 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_DEF_BLOCK, ru_msg_type); |
5460 | break; |
5461 | case EID_THREAT_PATTERN_ARRAY: // 222 |
5462 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_PATTERN_ARRAY, ru_msg_type); |
5463 | break; |
5464 | case EID_THREAT_PATTERN_BLOCK: // 223 |
5465 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_PATTERN_BLOCK, ru_msg_type); |
5466 | break; |
5467 | case EID_SURVEILLANCE_DATA_ARRAY: // 231 |
5468 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SURVEILLANCE_DATA_ARRAY, ru_msg_type); |
5469 | break; |
5470 | case EID_SURVEILLANCE_DATA_BLOCK: // 232 |
5471 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_SURVEILLANCE_DATA_BLOCK, ru_msg_type); |
5472 | break; |
5473 | case EID_THREAT_DATA_ARRAY: // 239 |
5474 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_DATA_ARRAY, ru_msg_type); |
5475 | break; |
5476 | case EID_THREAT_DATA_BLOCK: // 240 |
5477 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_DATA_BLOCK, ru_msg_type); |
5478 | break; |
5479 | case EID_THREAT_CLASSIFY_ARRAY: // 245 |
5480 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_CLASSIFY_ARRAY, ru_msg_type); |
5481 | break; |
5482 | case EID_THREAT_CLASSIFY_BLOCK: // 246 |
5483 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_THREAT_CLASSIFY_BLOCK, ru_msg_type); |
5484 | break; |
5485 | case EID_MU_EVENT_ARRAY: // 251 |
5486 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_MU_EVENT_ARRAY, ru_msg_type); |
5487 | break; |
5488 | case EID_MU_EVENT_BLOCK: // 252 |
5489 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_MU_EVENT_BLOCK, ru_msg_type); |
5490 | break; |
5491 | case EID_COUNTRY_ARRAY: // 258 |
5492 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_COUNTRY_ARRAY, ru_msg_type); |
5493 | break; |
5494 | case EID_COUNTRY_BLOCK: // 259 |
5495 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_COUNTRY_BLOCK, ru_msg_type); |
5496 | break; |
5497 | case EID_LOCATOR_LOC_BLOCK: // 263 |
5498 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_LOCATOR_LOC_BLOCK, ru_msg_type); |
5499 | break; |
5500 | case EID_LOCATOR_LOC_ARRAY: // 264 |
5501 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_LOCATOR_LOC_ARRAY, ru_msg_type); |
5502 | break; |
5503 | case EID_RSS_DATA_ARRAY: // 271 |
5504 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_RSS_DATA_ARRAY, ru_msg_type); |
5505 | break; |
5506 | case EID_RSS_DATA_BLOCK: // 272 |
5507 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_RSS_DATA_BLOCK, ru_msg_type); |
5508 | break; |
5509 | case EID_MCAST_FILTER_BLOCK: // 282 |
5510 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_MCAST_FILTER_BLOCK, ru_msg_type); |
5511 | break; |
5512 | case EID_MCAST_FILTER_BLOCK_ENTRY: // 283 |
5513 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_MCAST_FILTER_BLOCK_ENTRY, ru_msg_type); |
5514 | break; |
5515 | case EID_MU_SESSION_ARRAY: // 293 |
5516 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_MU_SESSION_ARRAY, ru_msg_type); |
5517 | break; |
5518 | case EID_MU_SESSION_BLOCK: // 294 |
5519 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_MU_SESSION_BLOCK, ru_msg_type); |
5520 | break; |
5521 | case EID_DETECTED_ROGUE_ARRAY: // 317 |
5522 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_DETECTED_ROGUE_ARRAY, ru_msg_type); |
5523 | break; |
5524 | case EID_DETECTED_ROGUE_BLOCK: // 318 |
5525 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_DETECTED_ROGUE_BLOCK, ru_msg_type); |
5526 | break; |
5527 | case EID_FILTER_RULES_EXT_BLOCK: // 329 |
5528 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_FILTER_RULES_EXT_BLOCK, ru_msg_type); |
5529 | break; |
5530 | case EID_TOPOLOGY_ARRAY: // 379 |
5531 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_TOPOLOGY_ARRAY_BLOCK, ru_msg_type); |
5532 | break; |
5533 | case EID_TOPOLOGY_STRUCT: // 380 |
5534 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_TOPOLOGY_STRUCT_BLOCK, ru_msg_type); |
5535 | break; |
5536 | case EID_FILTER_CONFIG_STRUCT: // 381 |
5537 | offset = dissect_wassp_sub_tlv(tlv_tree, tvb, pinfo, offset + TLV_VALUE4, length - TLV_VALUE4, TAB_FILTER_CONFIG_STRUCT_BLOCK, ru_msg_type); |
5538 | break; |
5539 | |
5540 | case EID_FILTER_RULES: // 97 |
5541 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5542 | decode_filter_rule_octext_string(tlv_tree, tvb, offset + 4, length ); |
5543 | offset += length; |
5544 | break; |
5545 | case EID_MU_MAC_LIST: // 100 |
5546 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5547 | decode_mac_list_struct(tlv_tree, tvb, offset + 4, length -4 ); |
5548 | offset += length; |
5549 | break; |
5550 | case EID_COS: // 158 |
5551 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5552 | decode_cos_struct(tlv_tree, tvb, offset + 4 ); |
5553 | offset += length; |
5554 | break; |
5555 | case EID_RATE_LIMIT_RESOURCE_TBL: // 159 |
5556 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5557 | decode_rate_limit_struct(tlv_tree,tvb, offset + 4,length-4 ); |
5558 | offset += length; |
5559 | break; |
5560 | case EID_CHANNEL_LIST: // 211 |
5561 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5562 | decode_Channel_list(tlv_tree, tvb, offset + 4, length -4 ); |
5563 | offset += length; |
5564 | break; |
5565 | case EID_DNS_IP_ADDR: // 333 |
5566 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5567 | decode_ipv4_list_struct(tlv_tree, tvb, offset + 4, length -4 ); |
5568 | offset += length; |
5569 | break; |
5570 | case EID_MU_APPL_STATS_BLOCK: // 378 |
5571 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5572 | decode_mu_appl_stats_block(tlv_tree, tvb, offset + 4 ); |
5573 | offset += length; |
5574 | break; |
5575 | |
5576 | case EID_SCAN_RSS_RSSI: // 236 |
5577 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_int, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5578 | suboffset = offset + 4; |
5579 | proto_tree_add_item(tlv_tree, hf_wassp_rss, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
5580 | suboffset += 2; |
5581 | proto_tree_add_item(tlv_tree, hf_wassp_rssi, tvb, suboffset, 2, ENC_BIG_ENDIAN0x00000000); |
5582 | offset += length; |
5583 | break; |
5584 | |
5585 | default: |
5586 | /* If tlv isn't in the list, then just display the raw data*/ |
5587 | proto_tree_add_item(tlv_tree, hf_wassp_tlv_value_octext, tvb, offset + TLV_VALUE4, length - 4, ENC_NA0x00000000); |
5588 | call_dissector(data_handle, tvb_new_subset_length(tvb, offset + TLV_VALUE4, length - 4), pinfo, wassp_tree); |
5589 | offset += length; |
5590 | } |
5591 | |
5592 | if (tlv_type == EID_UNUSED_0) |
5593 | { |
5594 | proto_tree_add_item(wassp_tree, hf_wassp_tlv_invalid, tvb, offset, value, ENC_BIG_ENDIAN0x00000000); |
5595 | offset += length; |
5596 | } |
5597 | } |
5598 | return offset; |
5599 | } |
5600 | |
5601 | |
5602 | |
5603 | static void |
5604 | mu_association_status(char *buf, uint8_t value) |
5605 | { |
5606 | if (value == 1) |
5607 | snprintf(buf, ITEM_LABEL_LENGTH240, " Success (%d)", value); |
5608 | else if (value == 2) |
5609 | snprintf(buf, ITEM_LABEL_LENGTH240, " Reject (%d)", value); |
5610 | else |
5611 | snprintf(buf, ITEM_LABEL_LENGTH240, " Failure (%d)", value); |
5612 | } |
5613 | |
5614 | |
5615 | |
5616 | static int dissect_mu_netflow(proto_tree *tree, tvbuff_t *tvb, int offset) |
5617 | { |
5618 | proto_item *ti, *temp; |
5619 | proto_tree *wassp_mu_netflow_tree, *mu_netflow_header_tree; |
5620 | uint16_t netflowLen, totalRecord, i; |
5621 | |
5622 | ti = proto_tree_add_item(tree, hf_wassp_mu_netflow_tree, tvb, offset, -1, ENC_NA0x00000000); |
5623 | wassp_mu_netflow_tree = proto_item_add_subtree(ti, ett_wassp_mu_data_netflow); |
5624 | |
5625 | temp = proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_header, tvb, MU_NETFLOW_HDR_VERSION0, MU_NETFLOW_HEADER_TOTAL_LENGTH10, ENC_NA0x00000000); |
5626 | mu_netflow_header_tree = proto_item_add_subtree(temp, ett_wassp_mu_data_netflow_header); |
5627 | proto_tree_add_item(mu_netflow_header_tree, hf_wassp_mu_netflow_version, tvb, MU_NETFLOW_HDR_VERSION0, 2, ENC_BIG_ENDIAN0x00000000); |
5628 | proto_tree_add_item(mu_netflow_header_tree, hf_wassp_mu_netflow_length, tvb, MU_NETFLOW_HDR_LENGTH2, 2, ENC_BIG_ENDIAN0x00000000); |
5629 | proto_tree_add_item(mu_netflow_header_tree, hf_wassp_mu_netflow_flags, tvb, MU_NETFLOW_HDR_FLAG4, 2, ENC_BIG_ENDIAN0x00000000); |
5630 | proto_tree_add_item(mu_netflow_header_tree, hf_wassp_mu_netflow_uptime, tvb, MU_NETFLOW_HDR_UPTIME6, 4, ENC_NA0x00000000); |
5631 | offset += MU_NETFLOW_HEADER_TOTAL_LENGTH10; |
5632 | |
5633 | netflowLen = tvb_get_ntohs(tvb, MU_NETFLOW_HDR_LENGTH2); |
5634 | totalRecord = (netflowLen - MU_NETFLOW_HEADER_TOTAL_LENGTH10) / MU_NETFLOW_RECORD_SIZE46; //netflow record size is 46 bytes |
5635 | if (totalRecord > 0) |
5636 | { |
5637 | for (i = 1; i <= totalRecord; i++) |
5638 | { |
5639 | //proto_tree_add_debug_text(wassp_mu_netflow_tree, " WASSP MU Netflow Record %d ", i); |
5640 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_record, tvb, offset, MU_NETFLOW_RECORD_SIZE46, ENC_NA0x00000000); |
5641 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_in_bytes, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5642 | offset += 4; |
5643 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_in_packets, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5644 | offset += 4; |
5645 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_ip_protocol_number, tvb, offset, 1, ENC_BIG_ENDIAN0x00000000); |
5646 | offset += 1; |
5647 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_source_tos, tvb, offset, 1, ENC_BIG_ENDIAN0x00000000); |
5648 | offset += 1; |
5649 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_source_port, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000); |
5650 | offset += 2; |
5651 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_source_ip, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5652 | offset += 4; |
5653 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_input_snmp, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000); |
5654 | offset += 2; |
5655 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_dest_port, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000); |
5656 | offset += 2; |
5657 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_dest_ip, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5658 | offset += 4; |
5659 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_output_snmp, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000); |
5660 | offset += 2; |
5661 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_last_time, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5662 | offset += 4; |
5663 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_first_time, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000); |
5664 | offset += 4; |
5665 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_in_source_mac, tvb, offset, 6, ENC_NA0x00000000); |
5666 | offset += 6; |
5667 | proto_tree_add_item(wassp_mu_netflow_tree, hf_wassp_mu_netflow_in_dest_mac, tvb, offset, 6, ENC_NA0x00000000); |
5668 | offset += 6; |
5669 | } |
5670 | } |
5671 | else |
5672 | { |
5673 | //proto_tree_add_debug_text(wassp_mu_netflow_tree, "WASSP MU Netflow Records are incomplete "); |
5674 | offset += netflowLen; |
5675 | } |
5676 | |
5677 | return offset; |
5678 | } |
5679 | |
5680 | |
5681 | |
5682 | |
5683 | /* Dissect Wassp MU message: return offset in current tvb */ |
5684 | static int dissect_wassp_mu(proto_tree *wassp_tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int plength) |
5685 | { |
5686 | proto_item *ti, *temp; |
5687 | proto_tree *wassp_mu_tree, *mu_data_header_tree, *mu_action_field_tree; |
5688 | wassp_mu_msg_t mu_msg_type; |
5689 | char *label; |
5690 | uint16_t length = WASSP_MU_HDR_WITHOUT_ASSO_STATUS_LEN14; |
5691 | |
5692 | if (tvb_reported_length_remaining(tvb, offset) > 0) |
5693 | { |
5694 | mu_msg_type = (wassp_mu_msg_t)tvb_get_uint8(tvb, offset + WASSP_MU_HDR_TYPE0); |
5695 | ti = proto_tree_add_item(wassp_tree, hf_wassp_mu_data_tree, tvb, offset, -1, ENC_NA0x00000000); |
5696 | wassp_mu_tree = proto_item_add_subtree(ti, ett_wassp_data); |
5697 | label = (char*)try_val_to_str(mu_msg_type, wassp_mu_header_types); |
5698 | label = (label == NULL((void*)0)) ? "Unknown Type" : label; |
5699 | proto_item_append_text(ti, ", %s", label); |
5700 | |
5701 | if ( mu_msg_type == WASSP_MU_Associate_Rsp ) |
5702 | length = WASSP_MU_HDR_WITH_ASSO_STATUS_LEN15; |
5703 | |
5704 | /* Dissect the WASSP MU header */ |
5705 | temp = proto_tree_add_item(wassp_mu_tree, hf_wassp_mu_data_header, tvb, WASSP_MU_HDR_TYPE0, length, ENC_NA0x00000000); |
5706 | mu_data_header_tree = proto_item_add_subtree(temp, ett_mu_data_header); |
5707 | proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_type, tvb, offset + WASSP_MU_HDR_TYPE0, 1, ENC_BIG_ENDIAN0x00000000); |
5708 | proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_qos, tvb, offset + WASSP_MU_HDR_QOS1, 1, ENC_BIG_ENDIAN0x00000000); |
5709 | temp = proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_action_ssid, tvb, offset + WASSP_MU_HDR_ACTION_SSID2, 2, ENC_BIG_ENDIAN0x00000000); |
5710 | mu_action_field_tree = proto_item_add_subtree(temp, ett_mu_action_field); |
5711 | proto_tree_add_item(mu_action_field_tree, hf_wassp_mu_action, tvb, offset + WASSP_MU_HDR_ACTION_SSID2, 2, ENC_BIG_ENDIAN0x00000000); |
5712 | proto_tree_add_item(mu_action_field_tree, hf_wassp_mu_action_field_value, tvb, offset + WASSP_MU_HDR_ACTION_SSID2, 2, ENC_BIG_ENDIAN0x00000000); |
5713 | proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_mac, tvb, offset + WASSP_MU_HDR_MAC4, 6, ENC_NA0x00000000); |
5714 | proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_resv0, tvb, offset + WASSP_MU_HDR_RESV_010, 2, ENC_BIG_ENDIAN0x00000000); |
5715 | proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_resv1, tvb, offset + WASSP_MU_HDR_RESV_112, 2, ENC_BIG_ENDIAN0x00000000); |
5716 | if ( mu_msg_type == WASSP_MU_Associate_Rsp ) |
5717 | proto_tree_add_item(mu_data_header_tree, hf_wassp_mu_assoc_status, tvb, offset + WASSP_MU_HDR_RESV_112 + 2, 1, ENC_BIG_ENDIAN0x00000000); |
5718 | |
5719 | offset += length; |
5720 | /* WASSP MU payload length */ |
5721 | plength -= length; |
5722 | |
5723 | /* Dissect the WASSP MU payload */ |
5724 | switch (mu_msg_type) |
5725 | { |
5726 | case WASSP_MU_NETFLOW: |
5727 | offset = dissect_mu_netflow(wassp_mu_tree, tvb, offset); |
5728 | break; |
5729 | case WASSP_MU_Associate_Req: |
5730 | case WASSP_MU_Update_Req: |
5731 | case WASSP_MU_Update_Rsp: |
5732 | case WASSP_AP2AC_MU_Inform_Req: |
5733 | case WASSP_AP2AC_MU_Inform_Rsp: |
5734 | case WASSP_MU_BULK_Associate_Req: |
5735 | case WASSP_MU_BULK_Associate_Rsp: |
5736 | case WASSP_MU_Disconnect_Req: |
5737 | case WASSP_MU_Disconnect_Rsp: |
5738 | case WASSP_MU_Associate_Rsp: |
5739 | offset = dissect_wassp_tlv(wassp_mu_tree, tvb, pinfo, offset, WASSP_RU_UNUSED_0); |
5740 | break; |
5741 | case WASSP_MU_MIRRORN: |
5742 | case WASSP_MU_Data: |
5743 | case WASSP_MU_Eap_Last: |
5744 | /* Dissect the WASSP MU ethernet frame */ |
5745 | call_dissector(eth_handle, tvb_new_subset_length(tvb, offset, plength), pinfo, wassp_mu_tree); |
5746 | offset += plength; |
5747 | break; |
5748 | case WASSP_MU_Roam_Notify: |
5749 | case WASSP_MU_Disconnect_Notify: |
5750 | offset += plength; |
5751 | break; |
5752 | default: |
5753 | /* Dissect the WASSP MU payload as data by default */ |
5754 | call_dissector(data_handle, tvb_new_subset_length(tvb, offset, plength), pinfo, wassp_mu_tree); |
5755 | offset += plength; |
5756 | break; |
5757 | } |
5758 | } |
5759 | return offset; |
5760 | } |
5761 | |
5762 | |
5763 | |
5764 | |
5765 | static void dissect_unfragmented_wassp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, uint16_t plength2, wassp_ru_msg_t ru_msg_type, int offset2) |
5766 | { |
5767 | proto_tree *wassp_tree; |
5768 | int offset = offset2; |
5769 | uint16_t plength = plength2; |
5770 | uint16_t lsbHeaderMagic = 0; |
5771 | |
5772 | wassp_tree = tree; |
5773 | plength -= WASSP_HDR_LEN8; |
5774 | |
5775 | switch (ru_msg_type) |
5776 | { |
5777 | case WASSP_RU_Discov: // 1 |
5778 | case WASSP_RU_Register_Req: // 2 |
5779 | case WASSP_RU_Register_Rsp: // 3 |
5780 | case WASSP_RU_Authentication_Req: // 4 |
5781 | case WASSP_RU_Authentication_Rsp: // 5 |
5782 | case WASSP_RU_SW_Version_Validate_Req: // 6 |
5783 | case WASSP_RU_SW_Version_Validate_Rsp: // 7 |
5784 | case WASSP_RU_Config_Req: // 8 |
5785 | case WASSP_RU_Config_Rsp: // 9 |
5786 | case WASSP_RU_Ack: // 10 |
5787 | case WASSP_RU_Config_Status_Notify: // 11 |
5788 | case WASSP_RU_Set_State_Req: // 12 |
5789 | case WASSP_RU_Set_State_Rsp: // 13 |
5790 | case WASSP_RU_Poll: // 16 |
5791 | case WASSP_RU_SNMP_Req: // 17 |
5792 | case WASSP_RU_SNMP_Rsp: // 18 |
5793 | case WASSP_BP_Trap_Notify: // 19 |
5794 | case WASSP_BP_Scan_Req: // 20 |
5795 | case WASSP_RFM_Notify: // 21 |
5796 | case WASSP_RU_SNMP_Alarm_Notify: // 22 |
5797 | case WASSP_RU_SNMP_Set_Alarm_Clear: // 23 |
5798 | case WASSP_RU_SNMP_Set_Log_Status: // 24 |
5799 | case WASSP_RU_SNMP_Get_Log_Req: // 25 |
5800 | case WASSP_RU_SNMP_Get_Log_Resp: // 26 |
5801 | case WASSP_SEC_Update_Notify: // 27 |
5802 | case WASSP_RU_STATS_Req: // 28 |
5803 | case WASSP_RU_STATS_Rsp: // 29 |
5804 | case WASSP_RU_UNUSED_30: // 30 |
5805 | case WASSP_RU_UNUSED_31: // 31 |
5806 | case WASSP_RU_Get_Req: // 32 |
5807 | case WASSP_RU_Get_Rsp: // 33 |
5808 | case WASSP_RU_Alarm_Notify: // 34 |
5809 | case WASSP_RU_Set_Alarm_Clear: // 35 |
5810 | case WASSP_RU_Get_Log_Req: // 36 |
5811 | case WASSP_RU_Get_Log_Rsp: // 37 |
5812 | case WASSP_RU_UNUSED_38: // 38 |
5813 | case WASSP_RU_UNUSED_39: // 39 |
5814 | case WASSP_P_PEER_DOWN_NOTIFY: // 40 |
5815 | case WASSP_P_LINK_STATE_CHANGE_REQ: // 41 |
5816 | case WASSP_P_LINK_STATE_CHANGE_RSP: // 42 |
5817 | case WASSP_RU_GetIP_Req: // 44 |
5818 | case WASSP_RU_GetIP_Rsp: // 45 |
5819 | case WASSP_RU_LAMG_Update_Req: // 46 |
5820 | case WASSP_RU_LAMG_Update_Rsp: // 47 |
5821 | case WASSP_RU_Event_Req: // 48 |
5822 | case WASSP_RU_Event_Rsp: // 49 |
5823 | case WASSP_RU_BULK_MU_UPDATE_REQ: // 50 |
5824 | case WASSP_RU_BULK_MU_UPDATE_RSP: // 51 |
5825 | case WASSP_ROAMED_MU_FILTER_STATS_REQ: // 52 |
5826 | case WASSP_ROAMED_MU_FILTER_STATS_RESP: // 53 |
5827 | case WASSP_RU_AC_Event_Req: // 56 |
5828 | case WASSP_RU_AC_Event_Rsp: // 57 |
5829 | case WASSP_RU_Event_Notify: // 58 |
5830 | case WASSP_RU_AC_EVENT: // 59 |
5831 | case WASSP_WIDS_WIPS_Config_Req: // 60 |
5832 | case WASSP_WIDS_WIPS_Config_Rsp: // 61 |
5833 | case WASSP_Scan_Data_Notify: // 62 |
5834 | case WASSP_Scan_Data_Notify_Ack: // 63 |
5835 | case WASSP_Loc_Data_Notify: // 64 |
5836 | case WASSP_Loc_Data_Notify_Ack: // 65 |
5837 | case WASSP_RU_SW_Version_Validate_Ack: // 66 |
5838 | case WASSP_NEIGHBOUR_STATS_Rsp: // 67 |
5839 | case WASSP_APPL_STATS_RESP: // 68 |
5840 | case WASSP_AC_Register_Req: // 101 |
5841 | case WASSP_AC_Register_Rsp: // 102 |
5842 | case WASSP_AC_Deregister_Req: // 103 |
5843 | case WASSP_AC_Deregister_Rsp: // 104 |
5844 | goto tlv_dissect; |
5845 | case WASSP_RU_Stats_Notify: // 14 |
5846 | /* Dissect SNMP encoded RU statistics */ |
5847 | dissector_try_uint(wassp_dissector_table, WASSP_SNMP161, tvb_new_subset_length(tvb, offset, plength), pinfo, wassp_tree); |
5848 | offset += plength; |
5849 | goto data_dissect; |
5850 | case WASSP_LBS_TAG_REPORT: // 55 |
5851 | lsbHeaderMagic = tvb_get_ntohs(tvb, 36); |
5852 | call_dissector(ip_handle, tvb_new_subset_length(tvb, offset, plength), pinfo, wassp_tree); |
5853 | if (lsbHeaderMagic == LBS_HDR_MAGIC0x7c83) |
5854 | offset = decode_lbs_tag_header(wassp_tree, tvb, offset + 28); |
5855 | else |
5856 | { |
5857 | return; |
5858 | } |
5859 | goto data_dissect; |
5860 | case WASSP_Data: // 15 |
5861 | offset = dissect_wassp_mu(wassp_tree, tvb, pinfo, offset, plength); |
5862 | goto data_dissect; |
5863 | default: |
5864 | offset += plength; |
5865 | goto data_dissect; |
5866 | } |
5867 | tlv_dissect: |
5868 | /* Dissect all RU messages containing TLVs */ |
5869 | offset = dissect_wassp_tlv(wassp_tree, tvb, pinfo, offset, ru_msg_type); |
5870 | data_dissect: |
5871 | /* Call data dissector on any remaining bytes */ |
5872 | call_dissector(data_handle, tvb_new_subset_length(tvb, offset, -1), pinfo, wassp_tree); |
5873 | } |
5874 | |
5875 | |
5876 | |
5877 | |
5878 | static int dissect_wassp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) |
5879 | { |
5880 | |
5881 | proto_item *ti, *temp; |
5882 | proto_tree *wassp_tree; |
5883 | proto_tree *wassp_header_tree, *ru_discover_header_tree, *wassp_seq_flag_tree; |
5884 | wassp_ru_msg_t ru_msg_type; |
5885 | int offset = 0; |
5886 | uint16_t flag = 0, seq_number = 0; |
5887 | uint32_t fragment = false0, complete = true1; |
5888 | uint32_t remain_len = 0, length; |
5889 | fragment_head *wassp_frag_msg = NULL((void*)0); |
5890 | bool_Bool save_fragmented; |
5891 | tvbuff_t *next_tvb = NULL((void*)0), *combined_tvb = NULL((void*)0); |
5892 | const char *label; |
5893 | conversation_t *conv = NULL((void*)0); |
5894 | uint32_t reassembly_id; |
5895 | |
5896 | /********************************************************************************************************************************************************** |
5897 | UDP Port = 13910 --> Wassp Protocol |
5898 | UDP port = 13907 --> Access Point Discover |
5899 | |
5900 | Wassp header format: |
5901 | Byte 1 Byte 2 Byte 3 and Byte 4 Byte 5 and Byte 6 Byte 7 and Byte 8 |
5902 | | Version | Type | Seq. Number & Flag | Session ID | Length of Payload | |
5903 | |
5904 | RU discover header format: |
5905 | Byte 1 Byte 2 Byte 3 and Byte 4 Byte 5 and Byte 6 Byte 7 and Byte 8 Byte 7 and Byte 8 Byte 9 to Byte 12 if mac, else Byte 9 to Byte 10 for operation |
5906 | | Version | Type | Random Number | Length of Payload | Check Sum | Controller Operation | Mac or Operation |
5907 | |
5908 | ************************************************************************************************************************************************************/ |
5909 | |
5910 | col_set_str(pinfo->cinfo, COL_PROTOCOL, PROTO_SHORT_NAME"WASSP"); |
5911 | remain_len = tvb_reported_length_remaining(tvb, WASSP_HDR_VERSION0); |
5912 | next_tvb = tvb; |
5913 | ru_msg_type = (wassp_ru_msg_t)tvb_get_uint8(tvb, WASSP_HDR_TYPE1); |
5914 | |
5915 | if ( ru_msg_type == WASSP_Data ) // wassp mu header |
5916 | { |
5917 | label = val_to_str_const(tvb_get_uint8(tvb, WASSP_HDR_LEN8 + WASSP_MU_HDR_TYPE0), wassp_mu_header_types, "Unknown WASSP MU Message Type"); |
5918 | col_add_str(pinfo->cinfo, COL_INFO, label); |
5919 | } |
5920 | else if (ru_msg_type == WASSP_RU_Discov) /* ap discover header*/ |
5921 | { |
5922 | if (tvb_get_ntohs(tvb, RU_HDR_AC_OP8) == RU_DISCOVER_OP_MODE1) |
5923 | col_set_str(pinfo->cinfo, COL_INFO, "RU Discover Request"); |
5924 | else |
5925 | col_set_str(pinfo->cinfo, COL_INFO, "RU Discover Response"); |
5926 | } |
5927 | else |
5928 | { |
5929 | col_set_str(pinfo->cinfo, COL_INFO, val_to_str_const(tvb_get_uint8(tvb, WASSP_HDR_TYPE1), wassp_header_types, "Unknown WASSP Message Type")); |
5930 | } |
5931 | |
5932 | save_fragmented = pinfo->fragmented; |
5933 | |
5934 | ti = proto_tree_add_item(tree, proto_wassp, tvb, offset, -1, ENC_NA0x00000000); |
5935 | wassp_tree = proto_item_add_subtree(ti, ett_wassp); |
5936 | |
5937 | if (ru_msg_type == WASSP_RU_Discov) /* UDP port = 13907, ap discover tlv, decode AP discover header */ |
5938 | { |
5939 | flag = tvb_get_ntohs(tvb, RU_HDR_AC_OP8); |
5940 | if ( flag == RU_HDR_CONTAIN_MAC1) // ru mac or ac-mode |
5941 | length = RU_HEADER_WITH_MAC_LEN16; |
5942 | else |
5943 | length = RU_HEADER_WITHOUT_MAC_LEN12; |
5944 | |
5945 | temp = proto_tree_add_item(wassp_tree, hf_ru_discover_header, tvb, RU_HDR_VERSION0, length, ENC_NA0x00000000); |
5946 | ru_discover_header_tree = proto_item_add_subtree(temp, ett_ru_discover_header); |
5947 | proto_tree_add_item(ru_discover_header_tree, hf_wassp_version, tvb, RU_HDR_VERSION0, 1, ENC_BIG_ENDIAN0x00000000); |
5948 | proto_item_append_text(ti, ", %s", (char*)try_val_to_str(ru_msg_type, wassp_header_types)); //Update WASSP protocol with message type |
5949 | proto_tree_add_item(ru_discover_header_tree, hf_wassp_type, tvb, RU_HDR_TYPE1, 1, ENC_BIG_ENDIAN0x00000000); |
5950 | proto_tree_add_item(ru_discover_header_tree, hf_ru_rad_num, tvb, RU_HDR_RAD_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5951 | proto_tree_add_item(ru_discover_header_tree, hf_wassp_length, tvb, RU_HDR_LENGTH4, 2, ENC_BIG_ENDIAN0x00000000); |
5952 | proto_tree_add_item(ru_discover_header_tree, hf_ru_checksum, tvb, RU_HDR_CHECKSUM6, 2, ENC_BIG_ENDIAN0x00000000); |
5953 | proto_tree_add_item(ru_discover_header_tree, hf_ru_ac_op, tvb, RU_HDR_AC_OP8, 2, ENC_BIG_ENDIAN0x00000000); |
5954 | if ( flag == RU_HDR_CONTAIN_MAC1) // ru mac or ac-mode |
5955 | proto_tree_add_item(ru_discover_header_tree, hf_ru_mac, tvb, RU_HDR_MAC10, 6, ENC_NA0x00000000); |
5956 | else |
5957 | proto_tree_add_item(ru_discover_header_tree, hf_ru_ac_mode, tvb, RU_HDR_AC_MODE10, 2, ENC_BIG_ENDIAN0x00000000); |
5958 | offset = length; |
5959 | } |
5960 | else /* UDP port = 13910, decode Wassp protocol header */ |
5961 | { |
5962 | temp = proto_tree_add_item(wassp_tree, hf_wassp_header, tvb, WASSP_HDR_VERSION0, WASSP_HDR_LEN8, ENC_NA0x00000000); |
5963 | wassp_header_tree = proto_item_add_subtree(temp, ett_wassp_header); |
5964 | flag = tvb_get_ntohs(tvb, WASSP_HDR_SEQ_NUM2); |
5965 | /* seq_number used 10 bits only */ |
5966 | seq_number = flag >> 6; |
5967 | proto_tree_add_item(wassp_header_tree, hf_wassp_version, tvb, WASSP_HDR_VERSION0, 1, ENC_NA0x00000000); |
5968 | proto_item_append_text(ti, ", %s", (char*)try_val_to_str(ru_msg_type, wassp_header_types)); //Update WASSP protocol with message type |
5969 | proto_tree_add_item(wassp_header_tree, hf_wassp_type, tvb, WASSP_HDR_TYPE1, 1, ENC_BIG_ENDIAN0x00000000); |
5970 | temp = proto_tree_add_item(wassp_header_tree, hf_wassp_seq_num_flag, tvb, WASSP_HDR_SEQ_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5971 | wassp_seq_flag_tree = proto_item_add_subtree(temp, ett_seq_flags); |
5972 | proto_tree_add_item(wassp_seq_flag_tree, hf_seq_num, tvb, WASSP_HDR_SEQ_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5973 | proto_tree_add_item(wassp_seq_flag_tree, hf_wassp_use_frag, tvb, WASSP_HDR_SEQ_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5974 | proto_tree_add_item(wassp_seq_flag_tree, hf_wassp_data_frag, tvb, WASSP_HDR_SEQ_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5975 | proto_tree_add_item(wassp_seq_flag_tree, hf_wassp_more_frag, tvb, WASSP_HDR_SEQ_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5976 | proto_tree_add_item(wassp_seq_flag_tree, hf_wassp_first_frag, tvb, WASSP_HDR_SEQ_NUM2, 2, ENC_BIG_ENDIAN0x00000000); |
5977 | proto_tree_add_item(wassp_header_tree, hf_wassp_sessionid, tvb, WASSP_HDR_SESSIONID4, 2, ENC_BIG_ENDIAN0x00000000);/* display session id */ |
5978 | proto_tree_add_item(wassp_header_tree, hf_wassp_length, tvb, WASSP_HDR_PLENGTH6, 2, ENC_BIG_ENDIAN0x00000000); |
5979 | |
5980 | if ( flag & RU_WASSP_FLAGS_USE_FRAGMENTATION0x08) |
5981 | { |
5982 | fragment = true1; |
5983 | complete = false0; |
5984 | } |
5985 | offset = WASSP_HDR_LEN8; |
5986 | } |
5987 | |
5988 | |
5989 | if (fragment) /* fragmented */ |
5990 | { |
5991 | pinfo->fragmented = true1; |
5992 | offset = WASSP_HDR_LEN8; |
5993 | conv = find_conversation_pinfo(pinfo, 0); |
5994 | DISSECTOR_ASSERT(conv)((void) ((conv) ? (void)0 : (proto_report_dissector_bug("%s:%u: failed assertion \"%s\"" , "epan/dissectors/packet-wassp.c", 5994, "conv")))); |
5995 | reassembly_id = (((conv->conv_index) & 0x00FFFFFF) << 8) + ru_msg_type; |
5996 | wassp_frag_msg = fragment_add_seq_next(&wassp_reassembled_table, tvb, offset, pinfo, reassembly_id, NULL((void*)0), remain_len - WASSP_HDR_LEN8, flag & RU_WASSP_FLAGS_MORE_FRAGMENTS_FOLLOWING0x01); |
5997 | if ( wassp_frag_msg ) |
5998 | combined_tvb = process_reassembled_data(tvb, offset, pinfo, "Reassembled Wassp", wassp_frag_msg, &wassp_frag_items, NULL((void*)0), wassp_tree); |
5999 | |
6000 | if ( combined_tvb) |
6001 | { |
6002 | col_append_str(pinfo->cinfo, COL_INFO, " (Message Reassembled)"); |
6003 | next_tvb = combined_tvb; |
6004 | complete = true1; |
6005 | offset = 0; |
6006 | } |
6007 | else |
6008 | { |
6009 | col_append_fstr(pinfo->cinfo, COL_INFO, " (Message fragment %u)", seq_number); |
6010 | next_tvb = tvb_new_subset_length(tvb, WASSP_HDR_LEN8, -1); |
6011 | } |
6012 | } |
6013 | |
6014 | |
6015 | if (complete) |
6016 | dissect_unfragmented_wassp(next_tvb, pinfo, wassp_tree, remain_len, ru_msg_type, offset); |
6017 | |
6018 | pinfo->fragmented = save_fragmented; |
6019 | return 1; |
6020 | } |
6021 | |
6022 | |
6023 | |
6024 | |
6025 | |
6026 | /* Register WASSP protocol */ |
6027 | void proto_register_wassp(void) |
6028 | { |
6029 | static hf_register_info hf[] = |
6030 | { |
6031 | { |
6032 | &hf_aeroscout_header, |
6033 | { |
6034 | "Location Base Service Header", "wassp.aeroscout.header", FT_BYTES, BASE_NONE, NULL((void*)0), |
6035 | 0x0, "Aeroscout header", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6036 | } |
6037 | }, |
6038 | { |
6039 | &hf_aeroscout_header_magic_number, |
6040 | { |
6041 | "Header Magic Number", "wassp.aeroscout.header_magic", FT_UINT16, BASE_HEX, NULL((void*)0), |
6042 | 0x0, "Aeroscout header magic number", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6043 | } |
6044 | }, |
6045 | { |
6046 | &hf_aeroscout_request_id, |
6047 | { |
6048 | "Request ID", "wassp.aeroscout.request_id", FT_UINT16, BASE_DEC, NULL((void*)0), |
6049 | 0x0, "Aeroscout Request ID", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6050 | } |
6051 | }, |
6052 | { |
6053 | &hf_aeroscout_code, |
6054 | { |
6055 | "Operation Code", "wassp.aeroscout.code", FT_UINT8, BASE_DEC, NULL((void*)0), |
6056 | 0x0, "Aeroscout Operation Code", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6057 | } |
6058 | }, |
6059 | |
6060 | { |
6061 | &hf_aeroscout_sub_code, |
6062 | { |
6063 | "Operation Sub Code", "wassp.aeroscout.sub_code", FT_UINT8, BASE_DEC, NULL((void*)0), |
6064 | 0x0, "Aeroscout Operation Sub Code", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6065 | } |
6066 | }, |
6067 | { |
6068 | &hf_aeroscout_datalength, |
6069 | { |
6070 | "Length of Data Payload", "wassp.aeroscout.datalength", FT_UINT16, BASE_DEC, NULL((void*)0), |
6071 | 0x0, "Aeroscout Length of Data Payload", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6072 | } |
6073 | }, |
6074 | { |
6075 | &hf_lbs_vendor_id, |
6076 | { |
6077 | "Location Base Service Vendor ID", "wassp.lbs.vendor_id", FT_UINT16, BASE_DEC, NULL((void*)0), |
6078 | 0x0, "LBS TAG Vendor ID", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6079 | } |
6080 | }, |
6081 | { |
6082 | &hf_lbs_rsvd1, |
6083 | { |
6084 | "LBS Rsvd", "wassp.lbs.rsvd1", FT_UINT16, BASE_HEX, NULL((void*)0), |
6085 | 0x0, "LBS TAG rsvd", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6086 | } |
6087 | }, |
6088 | { |
6089 | &hf_lbs_ap_bssid, |
6090 | { |
6091 | "Location Base Service AccessPoint BSSID", "wassp.lbs.ap_bssid", FT_BYTES, BASE_NONE, NULL((void*)0), |
6092 | 0x0, "LBS TAG ap bssid", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6093 | } |
6094 | }, |
6095 | { |
6096 | &hf_lbs_rsvd2, |
6097 | { |
6098 | "LBS Rsvd", "wassp.lbs.rsvd2", FT_UINT8, BASE_HEX, NULL((void*)0), |
6099 | 0x0, "LBS TAG rsvd2", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6100 | } |
6101 | }, |
6102 | { |
6103 | &hf_lbs_rxchan, |
6104 | { |
6105 | "LBS rxchan", "wassp.lbs.rxchan", FT_UINT8, BASE_DEC, NULL((void*)0), |
6106 | 0x0, "LBS TAG rxchan", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6107 | } |
6108 | }, |
6109 | |
6110 | { |
6111 | &hf_lsb_tstamp, |
6112 | { |
6113 | "Location Base Service Time Stamp", "wassp.lbs.tstamp", FT_UINT32, BASE_DEC, NULL((void*)0), |
6114 | 0x0, "LBS TAG tstamp", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6115 | } |
6116 | }, |
6117 | { |
6118 | &hf_lsb_rsvd3, |
6119 | { |
6120 | "LBS Rsvd", "wassp.lbs.rsvd3", FT_UINT16, BASE_HEX, NULL((void*)0), |
6121 | 0x0, "LBS TAG rsvd3", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6122 | } |
6123 | }, |
6124 | { |
6125 | &hf_lsb_rssi, |
6126 | { |
6127 | "Location Base Service RSSI", "wassp.lbs.rssi", FT_INT8, BASE_DEC, NULL((void*)0), |
6128 | 0x0, "LBS TAG rssi", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6129 | } |
6130 | }, |
6131 | { |
6132 | &hf_lsb_rsvd, |
6133 | { |
6134 | "LBS Rsvd", "wassp.lbs.rsvd", FT_UINT8, BASE_HEX, NULL((void*)0), |
6135 | 0x0, "LBS TAG rsvd4", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6136 | } |
6137 | }, |
6138 | { |
6139 | &hf_lsb_noise_floor, |
6140 | { |
6141 | "LBS Noise Floor", "wassp.lsb.noise_floor", FT_INT8, BASE_DEC, NULL((void*)0), |
6142 | 0x0, "LBS TAG noise floor", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6143 | } |
6144 | }, |
6145 | { |
6146 | &hf_lsb_rsvd4, |
6147 | { |
6148 | "LBS Rsvd", "wassp.lsb.rsvd4", FT_UINT24, BASE_HEX, NULL((void*)0), |
6149 | 0x0, "LBS TAG rsvd5", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6150 | } |
6151 | }, |
6152 | { |
6153 | &hf_lsb_chan_rate, |
6154 | { |
6155 | "LBS channel Rate", "wassp.lsb.chan_rate", FT_UINT8, BASE_DEC, NULL((void*)0), |
6156 | 0x0, "LBS TAG channel rate", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6157 | } |
6158 | }, |
6159 | { |
6160 | &hf_lsb_rsvd5, |
6161 | { |
6162 | "LBS Rsvd", "wassp.lsb.rsvd5", FT_UINT8, BASE_HEX, NULL((void*)0), |
6163 | 0x0, "LBS TAG rsvd6", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6164 | } |
6165 | }, |
6166 | { |
6167 | &hf_lsb_wh_fc, |
6168 | { |
6169 | "LBS Wireless Header Frame Control", "wassp.lsb.wh_fc", FT_UINT16, BASE_HEX, NULL((void*)0), |
6170 | 0x0, "LBS TAG Frame Control", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6171 | } |
6172 | }, |
6173 | { |
6174 | &hf_lsb_wh_seq, |
6175 | { |
6176 | "LBS Wireless Header Sequence Number", "wassp.hf_lsb_wh_seq", FT_UINT16, BASE_HEX, NULL((void*)0), |
6177 | 0x0, "LBS TAG Sequence Number", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6178 | } |
6179 | }, |
6180 | { |
6181 | &hf_lsb_rsvd6, |
6182 | { |
6183 | "LBS Rsvd", "wassp.lsb.rsvd6", FT_UINT16, BASE_HEX, NULL((void*)0), |
6184 | 0x0, "LBS TAG rsvd7", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6185 | } |
6186 | }, |
6187 | { |
6188 | &hf_lsb_wh_addr2, |
6189 | { |
6190 | "MAC address2", "wassp.data.mu_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6191 | 0x0, "Mobile Unit Ethernet address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6192 | } |
6193 | }, |
6194 | { |
6195 | &hf_lsb_wh_addr3, |
6196 | { |
6197 | "MAC address3", "wassp.data.mu_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6198 | 0x0, "Mobile Unit Ethernet address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6199 | } |
6200 | }, |
6201 | { |
6202 | &hf_lsb_wh_addr4, |
6203 | { |
6204 | "MAC address4", "wassp.data.mu_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6205 | 0x0, "Mobile Unit Ethernet address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6206 | } |
6207 | }, |
6208 | { |
6209 | &hf_wassp_version, |
6210 | { |
6211 | "Version", "wassp.version", FT_UINT8, BASE_DEC, NULL((void*)0), |
6212 | 0x0, "Wassp Protocol Version", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6213 | } |
6214 | }, |
6215 | /* ru discover header */ |
6216 | { |
6217 | &hf_ru_rad_num, |
6218 | { |
6219 | "RU Random Number", "wassp.ru_xid", FT_UINT16, BASE_DEC, NULL((void*)0), |
6220 | 0x0, "random number for checking the session", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6221 | } |
6222 | }, |
6223 | { |
6224 | &hf_ru_checksum, |
6225 | { |
6226 | "RU Messages Checksum", "wassp.ru_checksum", FT_UINT16, BASE_DEC, NULL((void*)0), |
6227 | 0x0, "AccessPoint messages checksum", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6228 | } |
6229 | }, |
6230 | { |
6231 | &hf_ru_ac_op, |
6232 | { |
6233 | "Controller Operation", "wassp.ru_ac_op", FT_UINT16, BASE_DEC, NULL((void*)0), |
6234 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6235 | } |
6236 | }, |
6237 | { |
6238 | &hf_ru_ac_mode, |
6239 | { |
6240 | "Controller Operation Mode", "wassp.ru_ac_mode", FT_UINT16, BASE_DEC, NULL((void*)0), |
6241 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6242 | } |
6243 | }, |
6244 | { |
6245 | &hf_ru_mac, |
6246 | { |
6247 | "AP MAC address", "wassp.ru_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6248 | 0x0, "AP Ethernet address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6249 | } |
6250 | }, |
6251 | { |
6252 | &hf_ru_discover_header, |
6253 | { |
6254 | "RU Discover Header", "wassp.ru.header", FT_BYTES, BASE_NONE, NULL((void*)0) , |
6255 | 0x0, "AccessPoint Discover Header", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6256 | } |
6257 | }, |
6258 | { |
6259 | &hf_wassp_header, |
6260 | { |
6261 | "Wassp Header", "wassp.header", FT_BYTES, BASE_NONE, NULL((void*)0) , |
6262 | 0x0, "Wassp Message Header", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6263 | } |
6264 | }, |
6265 | { |
6266 | &hf_wassp_type, |
6267 | { |
6268 | "WASSP Type", "wassp.type", FT_UINT8, BASE_DEC, |
6269 | VALS(wassp_header_types)((0 ? (const struct _value_string*)0 : ((wassp_header_types)) )), 0x0, "Wassp message type", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6270 | } |
6271 | }, |
6272 | { |
6273 | &hf_wassp_seq_num_flag, |
6274 | { |
6275 | "Sequence Number & Flag", "wassp.seq_num_flag", FT_UINT16, BASE_DEC, NULL((void*)0), |
6276 | 0x0, "Sequence number and flag for multi-message", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6277 | } |
6278 | }, |
6279 | { |
6280 | &hf_seq_num, |
6281 | { |
6282 | "Sequence Number", "wassp.seq_num", FT_UINT16, BASE_DEC, NULL((void*)0), |
6283 | 0xffc0, "Sequence number for multi-message", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6284 | } |
6285 | }, |
6286 | { |
6287 | &hf_wassp_use_frag, |
6288 | { |
6289 | "Wassp Use Fragmentation", "wassp.use_frag", FT_BOOLEAN, 6, NULL((void*)0), |
6290 | 0x8, "Wassp Packet Use Fragmentation", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6291 | } |
6292 | }, |
6293 | { |
6294 | &hf_wassp_data_frag, |
6295 | { |
6296 | "Wassp Data Fragmentation", "wassp.data_frag", FT_BOOLEAN, 6, NULL((void*)0), |
6297 | 0x2, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6298 | } |
6299 | }, |
6300 | { |
6301 | &hf_wassp_more_frag, |
6302 | { |
6303 | "Fragments following", "wassp.following_frag", FT_BOOLEAN, 6, NULL((void*)0), |
6304 | 0x1, "Wassp Fragments following", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6305 | } |
6306 | }, |
6307 | { |
6308 | &hf_wassp_first_frag, |
6309 | { |
6310 | "Not First fragment packet", "wassp.no_first_frag", FT_BOOLEAN, 6, NULL((void*)0), |
6311 | 0x4, "Wassp Not First Fragment Packet", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6312 | } |
6313 | }, |
6314 | { |
6315 | &hf_wassp_sessionid, |
6316 | { |
6317 | "Session ID", "wassp.session_id", FT_UINT16, BASE_DEC, NULL((void*)0), |
6318 | 0x0, "Concentrator Session ID", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6319 | } |
6320 | }, |
6321 | { |
6322 | &hf_wassp_length, |
6323 | { |
6324 | "Length", "wassp.length", FT_UINT16, BASE_DEC, NULL((void*)0), |
6325 | 0x0, "Length of Payload", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6326 | } |
6327 | }, |
6328 | /* wassp MU data --- start */ |
6329 | { |
6330 | &hf_wassp_mu_data_tree, |
6331 | { |
6332 | "WASSP MU Data tree", "wassp.mu.data.subtree", |
6333 | FT_NONE, BASE_NONE, NULL((void*)0), 0x00, |
6334 | NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6335 | } |
6336 | }, |
6337 | { |
6338 | &hf_wassp_mu_data_header, |
6339 | { |
6340 | "Wassp MU Data Header", "wassp.mu_data_header", FT_BYTES, BASE_NONE, NULL((void*)0), |
6341 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6342 | } |
6343 | }, |
6344 | { |
6345 | &hf_wassp_mu_type, |
6346 | { |
6347 | "Type", "wassp.data.mu_type", FT_UINT8, BASE_DEC, NULL((void*)0), |
6348 | 0x0, "Wassp MU message type", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6349 | } |
6350 | }, |
6351 | { |
6352 | &hf_wassp_mu_qos, |
6353 | { |
6354 | "QOS", "wassp.data.mu_qos", FT_UINT8, BASE_DEC, NULL((void*)0), |
6355 | 0x0, "Quality of Service identifier", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6356 | } |
6357 | }, |
6358 | { |
6359 | &hf_wassp_mu_action_ssid, |
6360 | { |
6361 | "Action & SSID/Vlan ID", "wassp.data.mu_action_ssid", FT_UINT16, BASE_DEC, NULL((void*)0), |
6362 | 0x0, "Action and where device is currently registered", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6363 | } |
6364 | }, |
6365 | { |
6366 | &hf_wassp_mu_action, |
6367 | { |
6368 | "Action", "wassp.data.mu_action", FT_UINT16, BASE_HEX, VALS(mu_action_field_strings)((0 ? (const struct _value_string*)0 : ((mu_action_field_strings )))), |
6369 | 0xf000, "Notify what kind of action", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6370 | } |
6371 | }, |
6372 | |
6373 | { |
6374 | &hf_wassp_mu_action_field_value, |
6375 | { |
6376 | "SSID/Vlan ID", "wassp.data.mu_action_field_value", FT_UINT16, BASE_DEC, NULL((void*)0), |
6377 | 0x0fff, "SSID value or VlanID value", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6378 | } |
6379 | }, |
6380 | { |
6381 | &hf_wassp_mu_resv0, |
6382 | { |
6383 | "Reserved0", "wassp.data.mu_resv0", FT_UINT16, BASE_HEX, VALS(mu_resv0_strings)((0 ? (const struct _value_string*)0 : ((mu_resv0_strings)))), |
6384 | 0x0, "MU data Reserved0 or Flag", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6385 | } |
6386 | }, |
6387 | { |
6388 | &hf_wassp_mu_resv1, |
6389 | { |
6390 | "Reserved1", "wassp.data.mu_resv1", FT_UINT16, BASE_DEC, NULL((void*)0), |
6391 | 0x0, "MU data Reserved 1", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6392 | } |
6393 | }, |
6394 | { |
6395 | &hf_wassp_mu_assoc_status, |
6396 | { |
6397 | "Association Status", "wassp.data.mu_assoc_status", FT_UINT8, BASE_CUSTOM, CF_FUNC(mu_association_status)((const void *) (size_t) (mu_association_status)), |
6398 | 0x0, "MU Association Status", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6399 | } |
6400 | }, |
6401 | { |
6402 | &hf_wassp_mu_mac, |
6403 | { |
6404 | "MAC address", "wassp.data.mu_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6405 | 0x0, "Mobile Unit Ethernet address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6406 | } |
6407 | }, |
6408 | /* netflow */ |
6409 | { |
6410 | &hf_wassp_mu_netflow_tree, |
6411 | { |
6412 | "WASSP MU Data NetFlow Tree", "wassp.mu.data.netflow.subtree", FT_NONE, BASE_NONE, NULL((void*)0), |
6413 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6414 | } |
6415 | }, |
6416 | { |
6417 | &hf_wassp_mu_netflow_header, |
6418 | { |
6419 | "Wassp MU Data NetFlow Header", "wassp.mu_data_netflow_header", FT_BYTES, BASE_NONE, NULL((void*)0), |
6420 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6421 | } |
6422 | }, |
6423 | { |
6424 | &hf_wassp_mu_netflow_version, |
6425 | { |
6426 | "Version", "wassp.data.mu_netflow_version", FT_UINT16, BASE_DEC, NULL((void*)0), |
6427 | 0x0, "MU NetFlow Version", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6428 | } |
6429 | }, |
6430 | { |
6431 | &hf_wassp_mu_netflow_length, |
6432 | { |
6433 | "Length", "wassp.data.mu_netflow_length", FT_UINT16, BASE_DEC, NULL((void*)0), |
6434 | 0x0, "MU NetFlow Length", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6435 | } |
6436 | }, |
6437 | { |
6438 | &hf_wassp_mu_netflow_flags, |
6439 | { |
6440 | "Flag", "wassp.data.mu_netflow_flag", FT_UINT16, BASE_HEX, NULL((void*)0), |
6441 | 0x0, "MU NetFlow Flag", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6442 | } |
6443 | }, |
6444 | { |
6445 | &hf_wassp_mu_netflow_uptime, |
6446 | { |
6447 | "UpTime", "wassp.data.mu_netflow_uptime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL((void*)0), |
6448 | 0x0, "MU NetFlow Up Time", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6449 | } |
6450 | }, |
6451 | { |
6452 | &hf_wassp_mu_netflow_record, |
6453 | { |
6454 | "Record", "wassp.data.mu_netflow_record", FT_BYTES, BASE_NONE, NULL((void*)0), |
6455 | 0x0, "MU NetFlow Record", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6456 | } |
6457 | }, |
6458 | { |
6459 | &hf_wassp_mu_netflow_in_bytes, |
6460 | { |
6461 | "InBytes", "wassp.data.mu_netflow_inbytes", FT_UINT32, BASE_DEC, NULL((void*)0), |
6462 | 0x0, "MU NetFlow In Bytes", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6463 | } |
6464 | }, |
6465 | { |
6466 | &hf_wassp_mu_netflow_in_packets, |
6467 | { |
6468 | "InPackets", "wassp.data.mu_netflow_inpackets", FT_UINT32, BASE_DEC, NULL((void*)0), |
6469 | 0x0, "MU NetFlow In Packets", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6470 | } |
6471 | }, |
6472 | { |
6473 | &hf_wassp_mu_netflow_ip_protocol_number, |
6474 | { |
6475 | "Protocol", "wassp.data.mu_netflow_protocol", FT_UINT8, BASE_DEC, NULL((void*)0), |
6476 | 0x0, "MU NetFlow IP Protocol", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6477 | } |
6478 | }, |
6479 | { |
6480 | &hf_wassp_mu_netflow_source_tos, |
6481 | { |
6482 | "Source TOS", "wassp.data.mu_netflow_tos", FT_UINT8, BASE_HEX, NULL((void*)0), |
6483 | 0x0, "MU NetFlow Source TOS", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6484 | } |
6485 | }, |
6486 | { |
6487 | &hf_wassp_mu_netflow_source_port, |
6488 | { |
6489 | "Source Port", "wassp.data.mu_netflow_source_port", FT_INT16, BASE_DEC, NULL((void*)0), |
6490 | 0x0, "MU NetFlow Source Port", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6491 | } |
6492 | }, |
6493 | { |
6494 | &hf_wassp_mu_netflow_source_ip, |
6495 | { |
6496 | "IP", "wassp.data.mu_netflow_source_ip", FT_IPv4, BASE_NONE, NULL((void*)0), |
6497 | 0x0, "MU NetFlow Source IP", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6498 | } |
6499 | }, |
6500 | { |
6501 | &hf_wassp_mu_netflow_input_snmp, |
6502 | { |
6503 | "In SNMP", "wassp.data.mu_netflow_in_snmp", FT_UINT16, BASE_DEC, NULL((void*)0), |
6504 | 0x0, "MU NetFlow In Snmp", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6505 | } |
6506 | }, |
6507 | { |
6508 | &hf_wassp_mu_netflow_dest_port, |
6509 | { |
6510 | "Dest Port", "wassp.data.mu_netflow_dest_port", FT_INT16, BASE_DEC, NULL((void*)0), |
6511 | 0x0, "MU NetFlow Dest Port", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6512 | } |
6513 | }, |
6514 | { |
6515 | &hf_wassp_mu_netflow_dest_ip, |
6516 | { |
6517 | "Dest IP", "wassp.data.mu_netflow_dest_ip", FT_IPv4, BASE_NONE, NULL((void*)0), |
6518 | 0x0, "MU NetFlow Dest IP", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6519 | } |
6520 | }, |
6521 | { |
6522 | &hf_wassp_mu_netflow_output_snmp, |
6523 | { |
6524 | "Out SNMP", "wassp.data.mu_netflow_out_snmp", FT_UINT16, BASE_DEC, NULL((void*)0), |
6525 | 0x0, "MU NetFlow Out Snmp", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6526 | } |
6527 | }, |
6528 | { |
6529 | &hf_wassp_mu_netflow_last_time, |
6530 | { |
6531 | "Last Time", "wassp.data.mu_netflow_last_time", FT_UINT32, BASE_DEC, NULL((void*)0), |
6532 | 0x0, "MU NetFlow Last Time", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6533 | } |
6534 | }, |
6535 | { |
6536 | &hf_wassp_mu_netflow_first_time, |
6537 | { |
6538 | "First Time", "wassp.data.mu_netflow_first_time", FT_UINT32, BASE_DEC, NULL((void*)0), |
6539 | 0x0, "MU NetFlow First Time", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6540 | } |
6541 | }, |
6542 | { |
6543 | &hf_wassp_mu_netflow_in_source_mac, |
6544 | { |
6545 | "Source Mac", "wassp.data.mu_netflow_source_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6546 | 0x0, "MU NetFlow Source MAC Address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6547 | } |
6548 | }, |
6549 | { |
6550 | &hf_wassp_mu_netflow_in_dest_mac, |
6551 | { |
6552 | "Dest Mac", "wassp.data.mu_netflow_dest_mac", FT_ETHER, BASE_NONE, NULL((void*)0), |
6553 | 0x0, "MU NetFlow Dest MAC Address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6554 | } |
6555 | }, |
6556 | /* wassp TLV */ |
6557 | { |
6558 | &hf_wassp_tlv_value, |
6559 | { |
6560 | "Wassp TLV", "wassp.tlv.value", FT_NONE, BASE_NONE, NULL((void*)0), |
6561 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6562 | } |
6563 | }, |
6564 | { |
6565 | &hf_wassp_tlv_type_main, |
6566 | { |
6567 | "Type", "wassp.tlv.type", FT_UINT16, BASE_DEC, VALS(wassp_tlv_types)((0 ? (const struct _value_string*)0 : ((wassp_tlv_types)))), |
6568 | 0x0, "Wassp TLV type", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6569 | } |
6570 | }, |
6571 | { |
6572 | &hf_wassp_tlv_type_sub, |
6573 | { |
6574 | "Type", "wassp.tlv.type.sub", FT_UINT16, BASE_DEC, NULL((void*)0), |
6575 | 0x0, "Wassp sub TLV type", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6576 | } |
6577 | }, |
6578 | { |
6579 | &hf_wassp_tlv_length, |
6580 | { |
6581 | "Length", "wassp.tlv.length", FT_UINT16, BASE_DEC, NULL((void*)0), |
6582 | 0x0, "Wassp TLV length", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6583 | } |
6584 | }, |
6585 | { |
6586 | &hf_wassp_tlv_value_octext, |
6587 | { |
6588 | "value", "wassp.tlv.value_octext", FT_BYTES, BASE_NONE, NULL((void*)0), |
6589 | 0x0, "Wassp TLV Value in hexadecimal", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6590 | } |
6591 | }, |
6592 | { |
6593 | &hf_wassp_tlv_value_string, |
6594 | { |
6595 | "Value", "wassp.tlv.valuestr", FT_STRING, BASE_NONE, NULL((void*)0), |
6596 | 0x0, "Wassp TLV Value in string format", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6597 | } |
6598 | }, |
6599 | { |
6600 | &hf_wassp_tlv_value_ip, |
6601 | { |
6602 | "Value", "wassp.tlv.valueip", FT_IPv4, BASE_NONE, NULL((void*)0), |
6603 | 0x0, "Wassp TLV Value in IP format", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6604 | } |
6605 | }, |
6606 | { |
6607 | &hf_wassp_tlv_value_int, |
6608 | { |
6609 | "Value", "wassp.tlv.valueint", FT_UINT8, BASE_DEC, NULL((void*)0), |
6610 | 0x0, "Wassp TLV Value in an integer", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6611 | } |
6612 | }, |
6613 | { |
6614 | &hf_wassp_tlv_eid_status, |
6615 | { |
6616 | "Status", "wassp.tlv.eid.status", FT_UINT32, BASE_DEC, VALS(wassp_eid_status_types)((0 ? (const struct _value_string*)0 : ((wassp_eid_status_types )))), |
6617 | 0x0, "Explicit indication of request's status", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6618 | } |
6619 | }, |
6620 | { |
6621 | &hf_wassp_tlv_eid_action, |
6622 | { |
6623 | "action", "wassp.tlv.eid.action", FT_UINT32, BASE_DEC, VALS(wassp_eid_action_types)((0 ? (const struct _value_string*)0 : ((wassp_eid_action_types )))), |
6624 | 0x0, "upgrade action request", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6625 | } |
6626 | }, |
6627 | { |
6628 | &hf_wassp_tlv_eid_rustate, |
6629 | { |
6630 | "RU State", "wassp.tlv.eid.rustate", FT_BOOLEAN, BASE_NONE, TFS(&wassp_eid_rustate_types)((0 ? (const struct true_false_string*)0 : ((&wassp_eid_rustate_types )))), |
6631 | 0x0, "Remote Unit State", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6632 | } |
6633 | }, |
6634 | { |
6635 | &hf_wassp_ipaddress, |
6636 | { |
6637 | "IPv4 address", "wassp.ipaddress", FT_IPv4, BASE_NONE, NULL((void*)0), |
6638 | 0x0, "IPv4 IP address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6639 | } |
6640 | }, |
6641 | /* fragmentation */ |
6642 | { |
6643 | &hf_wassp_fragment_overlap, |
6644 | { |
6645 | "Fragment overlap", "wassp.fragment.overlap", FT_BOOLEAN, BASE_NONE, NULL((void*)0), |
6646 | 0x0, "Fragment overlaps with other fragments", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6647 | } |
6648 | }, |
6649 | { |
6650 | &hf_wassp_fragment_overlap_conflict, |
6651 | { |
6652 | "Conflicting data in fragment overlap", "wassp.fragment.overlap.conflict", FT_BOOLEAN, BASE_NONE, NULL((void*)0), |
6653 | 0x0, "Overlapping fragments contained conflicting data", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6654 | } |
6655 | }, |
6656 | { |
6657 | &hf_wassp_fragment_multiple_tails, |
6658 | { |
6659 | "Multiple tail fragments found", "wassp.fragment.multipletails", FT_BOOLEAN, BASE_NONE, NULL((void*)0), |
6660 | 0x0, "Several tails were found when defragmenting the packet", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6661 | } |
6662 | }, |
6663 | { |
6664 | &hf_wassp_fragment_too_long_fragment, |
6665 | { |
6666 | "Fragment too long", "wassp.fragment.toolongfragment", FT_BOOLEAN, BASE_NONE, NULL((void*)0), 0x0, |
6667 | "Fragment contained data past end of packet", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6668 | } |
6669 | }, |
6670 | { |
6671 | &hf_wassp_fragment_error, |
6672 | { |
6673 | "Defragmentation error", "wassp.fragment.error", FT_FRAMENUM, BASE_NONE, NULL((void*)0), |
6674 | 0x0, "Defragmentation error due to illegal fragments", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6675 | } |
6676 | }, |
6677 | { |
6678 | &hf_wassp_fragment, |
6679 | { |
6680 | "WASSP Fragment", "wassp.fragment", FT_FRAMENUM, BASE_NONE, NULL((void*)0), |
6681 | 0x0, "wassp Fragmented", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6682 | } |
6683 | }, |
6684 | { |
6685 | &hf_wassp_fragments, |
6686 | { |
6687 | "WASSP Fragments", "wassp.fragments", FT_NONE, BASE_NONE, NULL((void*)0), |
6688 | 0x0, "wassp more Fragments", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6689 | } |
6690 | }, |
6691 | { |
6692 | &hf_wassp_fragment_count, |
6693 | { |
6694 | "WASSP Fragment count", "wassp.fragment.count", FT_UINT32, BASE_DEC, NULL((void*)0), |
6695 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6696 | } |
6697 | }, |
6698 | { |
6699 | &hf_wassp_reassembled_in, |
6700 | { |
6701 | "Reassembled WASSP in frame", "wassp.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL((void*)0), |
6702 | 0x0, "This WASSP frame is reassembled in this frame", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6703 | } |
6704 | }, |
6705 | { |
6706 | &hf_wassp_reassembled_length, |
6707 | { |
6708 | "Reassembled WASSP length", "wassp.reassembled.length", FT_UINT32, BASE_DEC, NULL((void*)0), |
6709 | 0x0, "The total length of the reassembled payload", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6710 | } |
6711 | }, |
6712 | { |
6713 | &hf_wassp_sub_tree, |
6714 | { |
6715 | "WASSP Sub TLV Block", "wassp.subtree", FT_NONE, BASE_NONE, NULL((void*)0), |
6716 | 0x0, "WASSP sub tree", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6717 | } |
6718 | }, |
6719 | { |
6720 | &hf_wassp_tlv_unknown, |
6721 | { |
6722 | "WASSP unknown tlv", "wassp.tlv.unknown", FT_UINT32, BASE_DEC, NULL((void*)0), |
6723 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6724 | } |
6725 | }, |
6726 | { |
6727 | &hf_wassp_tlv_invalid, |
6728 | { |
6729 | "WASSP invalid tlv", "wassp.tlv.invalid", FT_UINT32, BASE_DEC, NULL((void*)0), |
6730 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6731 | } |
6732 | }, |
6733 | { |
6734 | &hf_wassp_topologykey, |
6735 | { |
6736 | "Topology Key", "wassp.topology_key", FT_UINT16, BASE_DEC, NULL((void*)0), |
6737 | 0x0, "Topology ID", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6738 | } |
6739 | }, |
6740 | { |
6741 | &hf_wassp_vlanid, |
6742 | { |
6743 | "Vlan ID", "wassp.vlan_id", FT_UINT16, BASE_DEC, NULL((void*)0), |
6744 | 0x0, "Vlan Number", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6745 | } |
6746 | }, |
6747 | { |
6748 | &hf_wassp_topology_mode, |
6749 | { |
6750 | "Topology Mode", "wassp.topology_mode", FT_UINT16,BASE_CUSTOM, CF_FUNC(topology_moder_print)((const void *) (size_t) (topology_moder_print)), |
6751 | 0x0, "Wassp Topology Mode", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6752 | } |
6753 | }, |
6754 | { |
6755 | &hf_wassp_in_cir, |
6756 | { |
6757 | "Committed Information Rate(In direction)", "wassp.in_cir", FT_UINT16, BASE_DEC, NULL((void*)0), |
6758 | 0x0, "Committed Information Rate", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6759 | } |
6760 | }, |
6761 | { |
6762 | &hf_wassp_out_cir, |
6763 | { |
6764 | "Committed Information Rate(out direction)", "wassp.out_cir", FT_UINT16, BASE_DEC, NULL((void*)0), |
6765 | 0x0, "Committed Information Rate", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6766 | } |
6767 | }, |
6768 | { |
6769 | &hf_wassp_flag_1b, |
6770 | { |
6771 | "Flag (1 byte)", "wassp.flag.1b", FT_UINT8, BASE_HEX, NULL((void*)0), |
6772 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6773 | } |
6774 | }, |
6775 | { |
6776 | &hf_wassp_tos, |
6777 | { |
6778 | "Type of Service", "wassp.tos", FT_UINT8, BASE_HEX, NULL((void*)0), |
6779 | 0x0, "Tos", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6780 | } |
6781 | }, |
6782 | { |
6783 | &hf_cos_tos, |
6784 | { |
6785 | "COS Tos", "wassp.cos_tos", FT_UINT8, BASE_HEX, NULL((void*)0), 0x00, |
6786 | NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6787 | } |
6788 | }, |
6789 | { |
6790 | &hf_wassp_tos_mask, |
6791 | { |
6792 | "Type of Service Mask", "wassp.tos.mask", FT_UINT8, BASE_HEX, NULL((void*)0), |
6793 | 0x0, "ToS Mask", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6794 | } |
6795 | }, |
6796 | { |
6797 | &hf_cos_tos_mask, |
6798 | { |
6799 | "Class of Service ToS Mask", "wassp.cos_tos.mask", FT_UINT8, BASE_HEX, NULL((void*)0), |
6800 | 0x0, "Cos Tos Mask", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6801 | } |
6802 | }, |
6803 | { |
6804 | &hf_filter_tos_maskbit_priority, |
6805 | { |
6806 | "Mask bit and Priority", "wassp.mask_bit", FT_UINT8, BASE_CUSTOM, CF_FUNC(maskbit_priority_print)((const void *) (size_t) (maskbit_priority_print)), |
6807 | 0xff, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6808 | } |
6809 | }, |
6810 | { |
6811 | &hf_wassp_priority, |
6812 | { |
6813 | "Priority bit", "wassp.priority", FT_BOOLEAN, 8, NULL((void*)0), |
6814 | 0xff, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6815 | } |
6816 | }, |
6817 | { |
6818 | &hf_cos_priority_txq, |
6819 | { |
6820 | "COS Priority and TxQ", "wassp.cos_priority_txq", FT_UINT8, BASE_CUSTOM, CF_FUNC(cos_priority_txq_print)((const void *) (size_t) (cos_priority_txq_print)), |
6821 | 0x0, "Cos Priority and Transmit Queue", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6822 | } |
6823 | }, |
6824 | { |
6825 | &hf_cos_rateid, |
6826 | { |
6827 | "COS In&Out Rate Id", "wassp.rate_id", FT_UINT8, BASE_CUSTOM, CF_FUNC(cos_rate_id_print)((const void *) (size_t) (cos_rate_id_print)), |
6828 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6829 | } |
6830 | }, |
6831 | { |
6832 | &hf_wassp_filter_rule, |
6833 | { |
6834 | "WASSP Filter Rule", "wassp.filter.rule", FT_BYTES, BASE_NONE, NULL((void*)0), |
6835 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6836 | } |
6837 | }, |
6838 | { |
6839 | &hf_wassp_filter_flag, |
6840 | { |
6841 | "WASSP Filter Flag", "wassp.filter.flag", FT_UINT32, BASE_HEX, NULL((void*)0), |
6842 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6843 | } |
6844 | }, |
6845 | { |
6846 | &hf_filter_rule_port_range, |
6847 | { |
6848 | "TCP/UDP Port range", "wassp.port", FT_UINT32, BASE_CUSTOM, CF_FUNC(port_range_print)((const void *) (size_t) (port_range_print)), |
6849 | 0x0, "WASSP TCP/UDP Port", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6850 | } |
6851 | }, |
6852 | { |
6853 | &hf_wassp_ipprotocol, |
6854 | { |
6855 | "IP Protocol", "wassp.ip_protocol", FT_UINT8, BASE_DEC, NULL((void*)0), |
6856 | 0x0, "WASSP IP Protocol", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6857 | } |
6858 | }, |
6859 | { |
6860 | &hf_wassp_netmasklength, |
6861 | { |
6862 | "Netmask Length Bit", "wassp.netmask_length", FT_UINT8, BASE_DEC, NULL((void*)0), |
6863 | 0x0, "WASSP Netmask Length Bit", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6864 | } |
6865 | }, |
6866 | { |
6867 | &hf_wassp_macaddr, |
6868 | { |
6869 | "MAC address", "wassp.mac_address", FT_ETHER, BASE_NONE, NULL((void*)0), |
6870 | 0x0, "WASSP MAC address", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6871 | } |
6872 | }, |
6873 | { |
6874 | &hf_wassp_macaddr_mask, |
6875 | { |
6876 | "MAC address mask", "wassp.mac_address.mask", FT_ETHER, BASE_NONE, NULL((void*)0), |
6877 | 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6878 | } |
6879 | }, |
6880 | { |
6881 | &hf_wassp_ethernet_type, |
6882 | { |
6883 | "Ethernet Type", "wassp.ethernet_type", FT_UINT16, BASE_HEX, NULL((void*)0), |
6884 | 0x0, "Ethernet Type Field", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6885 | } |
6886 | }, |
6887 | { |
6888 | &hf_wassp_reserve, |
6889 | { |
6890 | "Reserve", "wassp.reserve", FT_UINT16, BASE_DEC, NULL((void*)0), |
6891 | 0x0, "Reserve value", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6892 | } |
6893 | }, |
6894 | { |
6895 | &hf_wassp_freq, |
6896 | { |
6897 | "Freq in MHz", "wassp.freq", FT_UINT16, BASE_DEC, NULL((void*)0), |
6898 | 0x0, "WASSP Freq", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6899 | } |
6900 | }, |
6901 | { |
6902 | &hf_wassp_rss, |
6903 | { |
6904 | "RSS", "wassp.rss", FT_UINT16, BASE_DEC, NULL((void*)0), |
6905 | 0x0, "WASSP RSS", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6906 | } |
6907 | }, |
6908 | { |
6909 | &hf_wassp_rssi, |
6910 | { |
6911 | "RSSI", "wassp.rssi", FT_UINT16, BASE_DEC, NULL((void*)0), |
6912 | 0x0, "WASSP RSSI", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6913 | } |
6914 | }, |
6915 | { |
6916 | &hf_wassp_threatstate, |
6917 | { |
6918 | "WASSP Threat State", "wassp.threat_state", FT_UINT8, BASE_HEX, VALS(threat_state_strings)((0 ? (const struct _value_string*)0 : ((threat_state_strings )))), |
6919 | 0x0, "WASSP Threat State (NA/Active/Inactive)", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6920 | } |
6921 | }, |
6922 | { |
6923 | &hf_wassp_radioparams, |
6924 | { |
6925 | "Radio Params QOS", "wassp.radio_params", FT_UINT8, BASE_HEX, VALS(radio_params_strings)((0 ? (const struct _value_string*)0 : ((radio_params_strings )))), |
6926 | 0x0, "WASSP Radio Params QOS", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6927 | } |
6928 | }, |
6929 | { |
6930 | &hf_wassp_channelfreq, |
6931 | { |
6932 | "Channel Frequency", "wassp.channel_freq", FT_UINT16, BASE_DEC, NULL((void*)0), |
6933 | 0x0, "WASSP Channel Frequency", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6934 | } |
6935 | }, |
6936 | { |
6937 | &hf_wassp_mu, |
6938 | { |
6939 | "Total Mu", "wassp.mu", FT_UINT32, BASE_DEC, NULL((void*)0), |
6940 | 0x0, "WASSP Total Mu", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6941 | } |
6942 | }, |
6943 | { |
6944 | &hf_wassp_apprules, |
6945 | { |
6946 | "Number of Application Rules", "wassp.num_apprules", FT_UINT16, BASE_DEC, NULL((void*)0), |
6947 | 0x0, "WASSP number of app rules", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6948 | } |
6949 | }, |
6950 | { |
6951 | &hf_wassp_displayid, |
6952 | { |
6953 | "Display ID", "wassp.display_id", FT_UINT16, BASE_DEC, NULL((void*)0), |
6954 | 0x0, "WASSP display ID", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6955 | } |
6956 | }, |
6957 | { |
6958 | &hf_wassp_txbytes, |
6959 | { |
6960 | "Tx Bytes", "wassp.tx_bytes", FT_UINT32, BASE_DEC, NULL((void*)0), |
6961 | 0x0, "WASSP Tx Bytes", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6962 | } |
6963 | }, |
6964 | { |
6965 | &hf_wassp_rxbytes, |
6966 | { |
6967 | "Rx Bytes", "wassp.rx_bytes", FT_UINT32, BASE_DEC, NULL((void*)0), |
6968 | 0x0, "WASSP Rx Bytes", HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0) |
6969 | } |
6970 | }, |
6971 | }; |
6972 | |
6973 | static int * ett[] = |
6974 | { |
6975 | &ett_wassp, |
6976 | &ett_wassp_tlv, |
6977 | &ett_wassp_filter_rule, |
6978 | &ett_lbs_header, |
6979 | &ett_wassp_mu_appl_stats, |
6980 | &ett_wassp_header, |
6981 | &ett_ru_discover_header, |
6982 | &ett_mu_data_header, |
6983 | &ett_mu_action_field, |
6984 | &ett_wassp_data, |
6985 | &ett_wassp_mu_data_netflow, |
6986 | &ett_wassp_mu_data_netflow_header, |
6987 | &ett_seq_flags, |
6988 | &ett_wassp_tlv_missing, |
6989 | &ett_wassp_ap_stats_block, |
6990 | &ett_wassp_mu_rf_stats_block, |
6991 | &ett_wassp_config_error_block, |
6992 | &ett_wassp_config_modified_block, |
6993 | &ett_wassp_global_config_block, |
6994 | &ett_wassp_radio_config_block, |
6995 | &ett_wassp_vns_config_block, |
6996 | &ett_wassp_mu_stats_block, |
6997 | &ett_wassp_radio_stats_block, |
6998 | &ett_wassp_ether_stats_block, |
6999 | &ett_wassp_wds_stats_block, |
7000 | &ett_wassp_dot1x_stats_block, |
7001 | &ett_wassp_fragment, |
7002 | &ett_wassp_fragments, |
7003 | &ett_wassp_filter_config_block, |
7004 | &ett_wassp_filter_ext_config_block, |
7005 | &ett_wassp_site_filter_config_block, |
7006 | &ett_wassp_vns_stats_block, |
7007 | &ett_wassp_radius_server_config_block, |
7008 | &ett_wassp_site_config_block, |
7009 | &ett_wassp_policy_config_block, |
7010 | &ett_wassp_cos_config_block, |
7011 | &ett_wassp_localbase_lookup_block, |
7012 | &ett_wassp_radius_config_block, |
7013 | &ett_wassp_eid_main_tlv_block, |
7014 | &ett_wassp_app_policy_fixed_block, |
7015 | &ett_wassp_app_policy_entry_block, |
7016 | &ett_wassp_s_topo_m_filter_entry_block, |
7017 | &ett_wassp_s_topo_m_filter_ext_entry_block, |
7018 | &ett_wassp_11u_config_entry_block, |
7019 | &ett_wassp_hs2_config_entry_block, |
7020 | &ett_wassp_extapp_config_entry_block, |
7021 | |
7022 | }; |
7023 | |
7024 | |
7025 | /* Register wassp protocol */ |
7026 | proto_wassp = proto_register_protocol("Wireless Access Station Session Protocol", "WASSP", "wassp"); |
7027 | /* Register wassp protocol fields */ |
7028 | proto_register_field_array(proto_wassp, hf, array_length(hf)(sizeof (hf) / sizeof (hf)[0])); |
7029 | /* Register dissector handle */ |
7030 | wassp_handle = register_dissector("wassp", dissect_wassp_static, proto_wassp); |
7031 | /* Register wassp protocol sub-trees */ |
7032 | proto_register_subtree_array(ett, array_length(ett)(sizeof (ett) / sizeof (ett)[0])); |
7033 | wassp_dissector_table = register_dissector_table("wassp.subd", "WASSP subdissectors", proto_wassp, FT_UINT16, BASE_DEC); |
7034 | register_init_routine(&wassp_defragment_init); |
7035 | } |
7036 | |
7037 | |
7038 | static bool_Bool |
7039 | test_wassp(tvbuff_t *tvb) |
7040 | { |
7041 | /* Minimum of 8 bytes, first byte (version) has value of 3 */ |
7042 | if (tvb_captured_length(tvb) < 8 |
7043 | || tvb_get_uint8(tvb, 0) != 3 |
7044 | /* || tvb_get_uint8(tvb, 2) != 0 |
7045 | || tvb_get_ntohs(tvb, 6) > tvb_reported_length(tvb) */ |
7046 | ) |
7047 | { |
7048 | return false0; |
7049 | } |
7050 | return true1; |
7051 | } |
7052 | |
7053 | |
7054 | |
7055 | static bool_Bool |
7056 | dissect_wassp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U___attribute__((unused))) |
7057 | { |
7058 | if (!test_wassp(tvb)) |
7059 | { |
7060 | return false0; |
7061 | } |
7062 | dissect_wassp(tvb, pinfo, tree); |
7063 | return true1; |
7064 | } |
7065 | |
7066 | static int |
7067 | dissect_wassp_static(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U___attribute__((unused))) |
7068 | { |
7069 | if (!test_wassp(tvb)) |
7070 | { |
7071 | return 0; |
7072 | } |
7073 | return dissect_wassp(tvb, pinfo, tree); |
7074 | } |
7075 | |
7076 | |
7077 | /* The registration hand-off routing for WASSP */ |
7078 | |
7079 | void |
7080 | proto_reg_handoff_wassp(void) |
7081 | { |
7082 | dissector_add_uint_range_with_preference("udp.port", PORT_WASSP_RANGE"13907,13910", wassp_handle); |
7083 | heur_dissector_add("udp", dissect_wassp_heur, "WASSP over UDP", "wassp_udp", proto_wassp, HEURISTIC_DISABLE); |
7084 | |
7085 | snmp_handle = find_dissector_add_dependency("snmp", proto_wassp); |
7086 | ieee80211_handle = find_dissector_add_dependency("wlan_withoutfcs", proto_wassp); |
7087 | eth_handle = find_dissector("eth_withoutfcs"); |
7088 | data_handle = find_dissector("data"); |
7089 | ip_handle = find_dissector("ip"); |
7090 | } |
7091 | |
7092 | /* |
7093 | * Editor modelines - https://www.wireshark.org/tools/modelines.html |
7094 | * |
7095 | * Local variables: |
7096 | * c-basic-offset: 8 |
7097 | * tab-width: 8 |
7098 | * indent-tabs-mode: t |
7099 | * End: |
7100 | * |
7101 | * vi: set shiftwidth=8 tabstop=8 noexpandtab: |
7102 | * :indentSize=8:tabSize=8:noTabs=false: |
7103 | */ |