1 | == wlan_exp v1.7.4 Log Entry Types == |
---|
2 | |
---|
3 | ---- |
---|
4 | |
---|
5 | === Entry Type NODE_INFO === |
---|
6 | Details about the node hardware and its configuration. Node info values are static after boot. |
---|
7 | |
---|
8 | Entry type ID: 1 |
---|
9 | |
---|
10 | {{{#!th align=center |
---|
11 | Field Name |
---|
12 | }}} |
---|
13 | {{{#!th align=center |
---|
14 | Data Type |
---|
15 | }}} |
---|
16 | {{{#!th align=center |
---|
17 | Description |
---|
18 | }}} |
---|
19 | |---------------- |
---|
20 | {{{#!td align=left |
---|
21 | timestamp |
---|
22 | }}} |
---|
23 | {{{#!td align=center |
---|
24 | uint64 |
---|
25 | }}} |
---|
26 | {{{#!td align=left |
---|
27 | Value of MAC Time in microseconds when log entry created |
---|
28 | }}} |
---|
29 | |---------------- |
---|
30 | {{{#!td align=left |
---|
31 | node_type |
---|
32 | }}} |
---|
33 | {{{#!td align=center |
---|
34 | uint32 |
---|
35 | }}} |
---|
36 | {{{#!td align=left |
---|
37 | Code identifying applications in CPU High and CPU Low |
---|
38 | |
---|
39 | Constants defined for this field: |
---|
40 | ||= Name =||= Value =|| |
---|
41 | || {{{AP_DCF}}} || {{{0x10101}}} || |
---|
42 | || {{{AP_NOMAC}}} || {{{0x10102}}} || |
---|
43 | || {{{IBSS_DCF}}} || {{{0x10301}}} || |
---|
44 | || {{{STA_NOMAC}}} || {{{0x10202}}} || |
---|
45 | || {{{IBSS_NOMAC}}} || {{{0x10302}}} || |
---|
46 | || {{{STA_DCF}}} || {{{0x10201}}} || |
---|
47 | |
---|
48 | }}} |
---|
49 | |---------------- |
---|
50 | {{{#!td align=left |
---|
51 | node_id |
---|
52 | }}} |
---|
53 | {{{#!td align=center |
---|
54 | uint32 |
---|
55 | }}} |
---|
56 | {{{#!td align=left |
---|
57 | Node ID, as set during wlan_exp init |
---|
58 | }}} |
---|
59 | |---------------- |
---|
60 | {{{#!td align=left |
---|
61 | platform_id |
---|
62 | }}} |
---|
63 | {{{#!td align=center |
---|
64 | uint32 |
---|
65 | }}} |
---|
66 | {{{#!td align=left |
---|
67 | Hardware generation (always 3 for Mango WARP v3) |
---|
68 | }}} |
---|
69 | |---------------- |
---|
70 | {{{#!td align=left |
---|
71 | serial_num |
---|
72 | }}} |
---|
73 | {{{#!td align=center |
---|
74 | uint32 |
---|
75 | }}} |
---|
76 | {{{#!td align=left |
---|
77 | Node serial number |
---|
78 | }}} |
---|
79 | |---------------- |
---|
80 | {{{#!td align=left |
---|
81 | fpga_dna |
---|
82 | }}} |
---|
83 | {{{#!td align=center |
---|
84 | uint64 |
---|
85 | }}} |
---|
86 | {{{#!td align=left |
---|
87 | DNA value of node FPGA |
---|
88 | }}} |
---|
89 | |---------------- |
---|
90 | {{{#!td align=left |
---|
91 | version |
---|
92 | }}} |
---|
93 | {{{#!td align=center |
---|
94 | uint32 |
---|
95 | }}} |
---|
96 | {{{#!td align=left |
---|
97 | wlan_exp version, as packed values [(u8)major (u8)minor (u16)rev] |
---|
98 | }}} |
---|
99 | |---------------- |
---|
100 | {{{#!td align=left |
---|
101 | scheduler_resolution |
---|
102 | }}} |
---|
103 | {{{#!td align=center |
---|
104 | uint32 |
---|
105 | }}} |
---|
106 | {{{#!td align=left |
---|
107 | Minimum interval in microseconds of the WLAN scheduler |
---|
108 | }}} |
---|
109 | |---------------- |
---|
110 | {{{#!td align=left |
---|
111 | wlan_mac_addr |
---|
112 | }}} |
---|
113 | {{{#!td align=center |
---|
114 | uint64 |
---|
115 | }}} |
---|
116 | {{{#!td align=left |
---|
117 | Node MAC address, 6 bytes in lower 48-bits of u64 |
---|
118 | }}} |
---|
119 | |---------------- |
---|
120 | {{{#!td align=left |
---|
121 | max_tx_power_dbm |
---|
122 | }}} |
---|
123 | {{{#!td align=center |
---|
124 | int32 |
---|
125 | }}} |
---|
126 | {{{#!td align=left |
---|
127 | Maximum transmit power |
---|
128 | }}} |
---|
129 | |---------------- |
---|
130 | {{{#!td align=left |
---|
131 | min_tx_power_dbm |
---|
132 | }}} |
---|
133 | {{{#!td align=center |
---|
134 | int32 |
---|
135 | }}} |
---|
136 | {{{#!td align=left |
---|
137 | Minimum transmit power |
---|
138 | }}} |
---|
139 | |---------------- |
---|
140 | {{{#!td align=left |
---|
141 | cpu_high_compilation_date |
---|
142 | }}} |
---|
143 | {{{#!td align=center |
---|
144 | 12S |
---|
145 | }}} |
---|
146 | {{{#!td align=left |
---|
147 | CPU High Compilation Date string |
---|
148 | }}} |
---|
149 | |---------------- |
---|
150 | {{{#!td align=left |
---|
151 | cpu_high_compilation_time |
---|
152 | }}} |
---|
153 | {{{#!td align=center |
---|
154 | 12S |
---|
155 | }}} |
---|
156 | {{{#!td align=left |
---|
157 | CPU High Compilation Time string |
---|
158 | }}} |
---|
159 | |---------------- |
---|
160 | {{{#!td align=left |
---|
161 | cpu_low_compilation_date |
---|
162 | }}} |
---|
163 | {{{#!td align=center |
---|
164 | 12S |
---|
165 | }}} |
---|
166 | {{{#!td align=left |
---|
167 | CPU Low Compilation Date string |
---|
168 | }}} |
---|
169 | |---------------- |
---|
170 | {{{#!td align=left |
---|
171 | cpu_low_compilation_time |
---|
172 | }}} |
---|
173 | {{{#!td align=center |
---|
174 | 12S |
---|
175 | }}} |
---|
176 | {{{#!td align=left |
---|
177 | CPU Low Compilation Time string |
---|
178 | }}} |
---|
179 | |---------------- |
---|
180 | |
---|
181 | |
---|
182 | ---- |
---|
183 | |
---|
184 | === Entry Type EXP_INFO === |
---|
185 | Header for generic experiment info entries created by the user application. The payload of the EXP_INFO entry is not described by the Python entry type. User code must access the payload in the binary log data directly. |
---|
186 | |
---|
187 | Entry type ID: 2 |
---|
188 | |
---|
189 | {{{#!th align=center |
---|
190 | Field Name |
---|
191 | }}} |
---|
192 | {{{#!th align=center |
---|
193 | Data Type |
---|
194 | }}} |
---|
195 | {{{#!th align=center |
---|
196 | Description |
---|
197 | }}} |
---|
198 | |---------------- |
---|
199 | {{{#!td align=left |
---|
200 | timestamp |
---|
201 | }}} |
---|
202 | {{{#!td align=center |
---|
203 | uint64 |
---|
204 | }}} |
---|
205 | {{{#!td align=left |
---|
206 | Value of MAC Time in microseconds when log entry created |
---|
207 | }}} |
---|
208 | |---------------- |
---|
209 | {{{#!td align=left |
---|
210 | info_type |
---|
211 | }}} |
---|
212 | {{{#!td align=center |
---|
213 | uint16 |
---|
214 | }}} |
---|
215 | {{{#!td align=left |
---|
216 | Exp info type - arbitrary value supplied by application |
---|
217 | }}} |
---|
218 | |---------------- |
---|
219 | {{{#!td align=left |
---|
220 | info_len |
---|
221 | }}} |
---|
222 | {{{#!td align=center |
---|
223 | uint16 |
---|
224 | }}} |
---|
225 | {{{#!td align=left |
---|
226 | Exp info length - length (in byte) of info_payload |
---|
227 | }}} |
---|
228 | |---------------- |
---|
229 | {{{#!td align=left |
---|
230 | info_payload |
---|
231 | }}} |
---|
232 | {{{#!td align=center |
---|
233 | uint32 |
---|
234 | }}} |
---|
235 | {{{#!td align=left |
---|
236 | Exp info payload |
---|
237 | }}} |
---|
238 | |---------------- |
---|
239 | |
---|
240 | |
---|
241 | ---- |
---|
242 | |
---|
243 | === Entry Type NODE_TEMPERATURE === |
---|
244 | Record of the FPGA system monitor die temperature. This entry is only created when directed by a wlan_exp command. Temperature values are stored as 32-bit unsigned integers. To convert to degrees Celcius, apply (((float)temp_u32)/(65536.0*0.00198421639)) - 273.15 |
---|
245 | |
---|
246 | Entry type ID: 4 |
---|
247 | |
---|
248 | {{{#!th align=center |
---|
249 | Field Name |
---|
250 | }}} |
---|
251 | {{{#!th align=center |
---|
252 | Data Type |
---|
253 | }}} |
---|
254 | {{{#!th align=center |
---|
255 | Description |
---|
256 | }}} |
---|
257 | |---------------- |
---|
258 | {{{#!td align=left |
---|
259 | timestamp |
---|
260 | }}} |
---|
261 | {{{#!td align=center |
---|
262 | uint64 |
---|
263 | }}} |
---|
264 | {{{#!td align=left |
---|
265 | Value of MAC Time in microseconds when log entry created |
---|
266 | }}} |
---|
267 | |---------------- |
---|
268 | {{{#!td align=left |
---|
269 | temp_current |
---|
270 | }}} |
---|
271 | {{{#!td align=center |
---|
272 | uint32 |
---|
273 | }}} |
---|
274 | {{{#!td align=left |
---|
275 | Current FPGA die temperature (deg C) |
---|
276 | }}} |
---|
277 | |---------------- |
---|
278 | {{{#!td align=left |
---|
279 | temp_min |
---|
280 | }}} |
---|
281 | {{{#!td align=center |
---|
282 | uint32 |
---|
283 | }}} |
---|
284 | {{{#!td align=left |
---|
285 | Minimum FPGA die temperature (deg C) since FPGA configuration or sysmon reset |
---|
286 | }}} |
---|
287 | |---------------- |
---|
288 | {{{#!td align=left |
---|
289 | temp_max |
---|
290 | }}} |
---|
291 | {{{#!td align=center |
---|
292 | uint32 |
---|
293 | }}} |
---|
294 | {{{#!td align=left |
---|
295 | Maximum FPGA die temperature (deg C) since FPGA configuration or sysmon reset |
---|
296 | }}} |
---|
297 | |---------------- |
---|
298 | |
---|
299 | |
---|
300 | ---- |
---|
301 | |
---|
302 | === Entry Type TIME_INFO === |
---|
303 | Record of a time base event at the node. This log entry is used to enable parsing of log data recorded before and after changes to the node's microsecond MAC timer. This entry also allows a wlan_exp controler to write the current host time to the node log without affecting the node's MAC timer value. This enables adjustment of log entry timestamps to real timestamps in post-proessing. |
---|
304 | |
---|
305 | Entry type ID: 6 |
---|
306 | |
---|
307 | {{{#!th align=center |
---|
308 | Field Name |
---|
309 | }}} |
---|
310 | {{{#!th align=center |
---|
311 | Data Type |
---|
312 | }}} |
---|
313 | {{{#!th align=center |
---|
314 | Description |
---|
315 | }}} |
---|
316 | |---------------- |
---|
317 | {{{#!td align=left |
---|
318 | timestamp |
---|
319 | }}} |
---|
320 | {{{#!td align=center |
---|
321 | uint64 |
---|
322 | }}} |
---|
323 | {{{#!td align=left |
---|
324 | Value of MAC Time in microseconds when log entry created (before any time change is applied) |
---|
325 | }}} |
---|
326 | |---------------- |
---|
327 | {{{#!td align=left |
---|
328 | time_id |
---|
329 | }}} |
---|
330 | {{{#!td align=center |
---|
331 | uint32 |
---|
332 | }}} |
---|
333 | {{{#!td align=left |
---|
334 | Random ID value included in wlan_exp TIME_INFO command; used to find common entries across nodes |
---|
335 | }}} |
---|
336 | |---------------- |
---|
337 | {{{#!td align=left |
---|
338 | reason |
---|
339 | }}} |
---|
340 | {{{#!td align=center |
---|
341 | uint32 |
---|
342 | }}} |
---|
343 | {{{#!td align=left |
---|
344 | Reason code for TIME_INFO log entry creation |
---|
345 | |
---|
346 | Constants defined for this field: |
---|
347 | ||= Name =||= Value =|| |
---|
348 | || {{{SYSTEM}}} || {{{0x0}}} || |
---|
349 | || {{{WLAN_EXP_SET_TIME}}} || {{{0x1}}} || |
---|
350 | || {{{WLAN_EXP_ADD_LOG}}} || {{{0x2}}} || |
---|
351 | |
---|
352 | }}} |
---|
353 | |---------------- |
---|
354 | {{{#!td align=left |
---|
355 | mac_timestamp |
---|
356 | }}} |
---|
357 | {{{#!td align=center |
---|
358 | uint64 |
---|
359 | }}} |
---|
360 | {{{#!td align=left |
---|
361 | New value of MAC Time in microseconds |
---|
362 | }}} |
---|
363 | |---------------- |
---|
364 | {{{#!td align=left |
---|
365 | system_timestamp |
---|
366 | }}} |
---|
367 | {{{#!td align=center |
---|
368 | uint64 |
---|
369 | }}} |
---|
370 | {{{#!td align=left |
---|
371 | Value of System Time in microseconds |
---|
372 | }}} |
---|
373 | |---------------- |
---|
374 | {{{#!td align=left |
---|
375 | host_timestamp |
---|
376 | }}} |
---|
377 | {{{#!td align=center |
---|
378 | uint64 |
---|
379 | }}} |
---|
380 | {{{#!td align=left |
---|
381 | Host time in microseconds-since-epoch; 0xFFFFFFFFFFFFFFFF if unknown |
---|
382 | }}} |
---|
383 | |---------------- |
---|
384 | |
---|
385 | |
---|
386 | ---- |
---|
387 | |
---|
388 | === Entry Type RX_OFDM === |
---|
389 | Rx events from OFDM PHY. These log entries will only be created for packets that are passed to the high-level MAC code in CPU High. If the low-level MAC filter drops the packet, it will not be logged. For full "monitor mode" ensure the low-level MAC filter is configured to pass all receptions up to CPU High. |
---|
390 | |
---|
391 | Entry type ID: 10 |
---|
392 | |
---|
393 | {{{#!th align=center |
---|
394 | Field Name |
---|
395 | }}} |
---|
396 | {{{#!th align=center |
---|
397 | Data Type |
---|
398 | }}} |
---|
399 | {{{#!th align=center |
---|
400 | Description |
---|
401 | }}} |
---|
402 | |---------------- |
---|
403 | {{{#!td align=left |
---|
404 | timestamp |
---|
405 | }}} |
---|
406 | {{{#!td align=center |
---|
407 | uint64 |
---|
408 | }}} |
---|
409 | {{{#!td align=left |
---|
410 | Value of MAC Time in microseconds at PHY RX_START |
---|
411 | }}} |
---|
412 | |---------------- |
---|
413 | {{{#!td align=left |
---|
414 | timestamp_frac |
---|
415 | }}} |
---|
416 | {{{#!td align=center |
---|
417 | uint8 |
---|
418 | }}} |
---|
419 | {{{#!td align=left |
---|
420 | Fractional part of timestamp (units of 6.25ns) |
---|
421 | }}} |
---|
422 | |---------------- |
---|
423 | {{{#!td align=left |
---|
424 | phy_samp_rate |
---|
425 | }}} |
---|
426 | {{{#!td align=center |
---|
427 | uint8 |
---|
428 | }}} |
---|
429 | {{{#!td align=left |
---|
430 | PHY sampling rate in MSps |
---|
431 | }}} |
---|
432 | |---------------- |
---|
433 | {{{#!td align=left |
---|
434 | length |
---|
435 | }}} |
---|
436 | {{{#!td align=center |
---|
437 | uint16 |
---|
438 | }}} |
---|
439 | {{{#!td align=left |
---|
440 | Length of payload in bytes |
---|
441 | }}} |
---|
442 | |---------------- |
---|
443 | {{{#!td align=left |
---|
444 | cfo_est |
---|
445 | }}} |
---|
446 | {{{#!td align=center |
---|
447 | int32 |
---|
448 | }}} |
---|
449 | {{{#!td align=left |
---|
450 | Time-domain CFO estimate from Rx PHY; Fix32_31 value, CFO as fraction of sampling frequency |
---|
451 | }}} |
---|
452 | |---------------- |
---|
453 | {{{#!td align=left |
---|
454 | mcs |
---|
455 | }}} |
---|
456 | {{{#!td align=center |
---|
457 | uint8 |
---|
458 | }}} |
---|
459 | {{{#!td align=left |
---|
460 | MCS index, in ![0:7] |
---|
461 | }}} |
---|
462 | |---------------- |
---|
463 | {{{#!td align=left |
---|
464 | phy_mode |
---|
465 | }}} |
---|
466 | {{{#!td align=center |
---|
467 | uint8 |
---|
468 | }}} |
---|
469 | {{{#!td align=left |
---|
470 | PHY mode index, in ![0:2] |
---|
471 | |
---|
472 | Constants defined for this field: |
---|
473 | ||= Name =||= Value =|| |
---|
474 | || {{{NONHT}}} || {{{0x1}}} || |
---|
475 | || {{{HTMF}}} || {{{0x2}}} || |
---|
476 | || {{{DSSS}}} || {{{0x0}}} || |
---|
477 | |
---|
478 | }}} |
---|
479 | |---------------- |
---|
480 | {{{#!td align=left |
---|
481 | ant_mode |
---|
482 | }}} |
---|
483 | {{{#!td align=center |
---|
484 | uint8 |
---|
485 | }}} |
---|
486 | {{{#!td align=left |
---|
487 | Antenna mode: ![1,2,3,4] for SISO Rx on RF [A,B,C,D] |
---|
488 | |
---|
489 | Constants defined for this field: |
---|
490 | ||= Name =||= Value =|| |
---|
491 | || {{{RF_A}}} || {{{0x1}}} || |
---|
492 | || {{{RF_C}}} || {{{0x3}}} || |
---|
493 | || {{{RF_B}}} || {{{0x2}}} || |
---|
494 | || {{{RF_D}}} || {{{0x4}}} || |
---|
495 | |
---|
496 | }}} |
---|
497 | |---------------- |
---|
498 | {{{#!td align=left |
---|
499 | power |
---|
500 | }}} |
---|
501 | {{{#!td align=center |
---|
502 | int8 |
---|
503 | }}} |
---|
504 | {{{#!td align=left |
---|
505 | Rx power in dBm |
---|
506 | }}} |
---|
507 | |---------------- |
---|
508 | {{{#!td align=left |
---|
509 | padding0 |
---|
510 | }}} |
---|
511 | {{{#!td align=center |
---|
512 | uint8 |
---|
513 | }}} |
---|
514 | {{{#!td align=left |
---|
515 | |
---|
516 | }}} |
---|
517 | |---------------- |
---|
518 | {{{#!td align=left |
---|
519 | pkt_type |
---|
520 | }}} |
---|
521 | {{{#!td align=center |
---|
522 | uint8 |
---|
523 | }}} |
---|
524 | {{{#!td align=left |
---|
525 | Packet type, first frame control byte of 802.11 header |
---|
526 | |
---|
527 | Constants defined for this field: |
---|
528 | ||= Name =||= Value =|| |
---|
529 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
530 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
531 | || {{{CTS}}} || {{{0xC4}}} || |
---|
532 | || {{{ACK}}} || {{{0xD4}}} || |
---|
533 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
534 | || {{{BEACON}}} || {{{0x80}}} || |
---|
535 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
536 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
537 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
538 | || {{{DATA}}} || {{{0x8}}} || |
---|
539 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
540 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
541 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
542 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
543 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
544 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
545 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
546 | || {{{RTS}}} || {{{0xB4}}} || |
---|
547 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
548 | |
---|
549 | }}} |
---|
550 | |---------------- |
---|
551 | {{{#!td align=left |
---|
552 | channel |
---|
553 | }}} |
---|
554 | {{{#!td align=center |
---|
555 | uint8 |
---|
556 | }}} |
---|
557 | {{{#!td align=left |
---|
558 | Channel (center frequency) index |
---|
559 | }}} |
---|
560 | |---------------- |
---|
561 | {{{#!td align=left |
---|
562 | padding1 |
---|
563 | }}} |
---|
564 | {{{#!td align=center |
---|
565 | uint8 |
---|
566 | }}} |
---|
567 | {{{#!td align=left |
---|
568 | |
---|
569 | }}} |
---|
570 | |---------------- |
---|
571 | {{{#!td align=left |
---|
572 | rx_gain_index |
---|
573 | }}} |
---|
574 | {{{#!td align=center |
---|
575 | uint8 |
---|
576 | }}} |
---|
577 | {{{#!td align=left |
---|
578 | Radio Rx gain index; larger values mean larger Rx gains, mapping to absolute dB is radio-dependent |
---|
579 | }}} |
---|
580 | |---------------- |
---|
581 | {{{#!td align=left |
---|
582 | padding2 |
---|
583 | }}} |
---|
584 | {{{#!td align=center |
---|
585 | uint8 |
---|
586 | }}} |
---|
587 | {{{#!td align=left |
---|
588 | |
---|
589 | }}} |
---|
590 | |---------------- |
---|
591 | {{{#!td align=left |
---|
592 | flags |
---|
593 | }}} |
---|
594 | {{{#!td align=center |
---|
595 | uint16 |
---|
596 | }}} |
---|
597 | {{{#!td align=left |
---|
598 | 1-bit flags |
---|
599 | |
---|
600 | Constants defined for this field: |
---|
601 | ||= Name =||= Value =|| |
---|
602 | || {{{FCS_GOOD}}} || {{{0x1}}} || |
---|
603 | || {{{DUPLICATE}}} || {{{0x2}}} || |
---|
604 | || {{{LTG_PYLD}}} || {{{0x40}}} || |
---|
605 | || {{{LTG}}} || {{{0x80}}} || |
---|
606 | || {{{UNEXPECTED_RESPONSE}}} || {{{0x4}}} || |
---|
607 | |
---|
608 | }}} |
---|
609 | |---------------- |
---|
610 | {{{#!td align=left |
---|
611 | chan_est |
---|
612 | }}} |
---|
613 | {{{#!td align=center |
---|
614 | (64,2)i2 |
---|
615 | }}} |
---|
616 | {{{#!td align=left |
---|
617 | OFDM Rx channel estimates, packed as [(uint16)I (uint16)Q] values, one per subcarrier |
---|
618 | }}} |
---|
619 | |---------------- |
---|
620 | {{{#!td align=left |
---|
621 | mac_payload_len |
---|
622 | }}} |
---|
623 | {{{#!td align=center |
---|
624 | uint32 |
---|
625 | }}} |
---|
626 | {{{#!td align=left |
---|
627 | Length in bytes of MAC payload recorded in log for this packet |
---|
628 | }}} |
---|
629 | |---------------- |
---|
630 | {{{#!td align=left |
---|
631 | mac_payload |
---|
632 | }}} |
---|
633 | {{{#!td align=center |
---|
634 | 24uint8 |
---|
635 | }}} |
---|
636 | {{{#!td align=left |
---|
637 | First 24 bytes of MAC payload, typically the 802.11 MAC header |
---|
638 | }}} |
---|
639 | |---------------- |
---|
640 | |
---|
641 | |
---|
642 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
643 | |
---|
644 | {{{#!th align=center |
---|
645 | Field Name |
---|
646 | }}} |
---|
647 | {{{#!th align=center |
---|
648 | Data Type |
---|
649 | }}} |
---|
650 | {{{#!th align=center |
---|
651 | Description |
---|
652 | }}} |
---|
653 | |---------------- |
---|
654 | {{{#!td align=left |
---|
655 | addr1 |
---|
656 | }}} |
---|
657 | {{{#!td align=center |
---|
658 | uint64 |
---|
659 | }}} |
---|
660 | {{{#!td align=left |
---|
661 | MAC Header Address 1 |
---|
662 | }}} |
---|
663 | |---------------- |
---|
664 | {{{#!td align=left |
---|
665 | addr2 |
---|
666 | }}} |
---|
667 | {{{#!td align=center |
---|
668 | uint64 |
---|
669 | }}} |
---|
670 | {{{#!td align=left |
---|
671 | MAC Header Address 2 |
---|
672 | }}} |
---|
673 | |---------------- |
---|
674 | {{{#!td align=left |
---|
675 | addr3 |
---|
676 | }}} |
---|
677 | {{{#!td align=center |
---|
678 | uint64 |
---|
679 | }}} |
---|
680 | {{{#!td align=left |
---|
681 | MAC Header Address 3 |
---|
682 | }}} |
---|
683 | |---------------- |
---|
684 | {{{#!td align=left |
---|
685 | mac_seq |
---|
686 | }}} |
---|
687 | {{{#!td align=center |
---|
688 | uint16 |
---|
689 | }}} |
---|
690 | {{{#!td align=left |
---|
691 | MAC Header Sequence Number |
---|
692 | }}} |
---|
693 | |---------------- |
---|
694 | |
---|
695 | |
---|
696 | ---- |
---|
697 | |
---|
698 | === Entry Type RX_OFDM_LTG === |
---|
699 | LTG Rx events from OFDM PHY. These log entries will only be created for packets that are passed to the high-level MAC code in CPU High. If the low-level MAC filter drops the packet, it will not be logged. For full "monitor mode" ensure the low-level MAC filter is configured to pass all receptions up to CPU High. |
---|
700 | |
---|
701 | Entry type ID: 11 |
---|
702 | |
---|
703 | {{{#!th align=center |
---|
704 | Field Name |
---|
705 | }}} |
---|
706 | {{{#!th align=center |
---|
707 | Data Type |
---|
708 | }}} |
---|
709 | {{{#!th align=center |
---|
710 | Description |
---|
711 | }}} |
---|
712 | |---------------- |
---|
713 | {{{#!td align=left |
---|
714 | timestamp |
---|
715 | }}} |
---|
716 | {{{#!td align=center |
---|
717 | uint64 |
---|
718 | }}} |
---|
719 | {{{#!td align=left |
---|
720 | Value of MAC Time in microseconds at PHY RX_START |
---|
721 | }}} |
---|
722 | |---------------- |
---|
723 | {{{#!td align=left |
---|
724 | timestamp_frac |
---|
725 | }}} |
---|
726 | {{{#!td align=center |
---|
727 | uint8 |
---|
728 | }}} |
---|
729 | {{{#!td align=left |
---|
730 | Fractional part of timestamp (units of 6.25ns) |
---|
731 | }}} |
---|
732 | |---------------- |
---|
733 | {{{#!td align=left |
---|
734 | phy_samp_rate |
---|
735 | }}} |
---|
736 | {{{#!td align=center |
---|
737 | uint8 |
---|
738 | }}} |
---|
739 | {{{#!td align=left |
---|
740 | PHY sampling rate in MSps |
---|
741 | }}} |
---|
742 | |---------------- |
---|
743 | {{{#!td align=left |
---|
744 | length |
---|
745 | }}} |
---|
746 | {{{#!td align=center |
---|
747 | uint16 |
---|
748 | }}} |
---|
749 | {{{#!td align=left |
---|
750 | Length of payload in bytes |
---|
751 | }}} |
---|
752 | |---------------- |
---|
753 | {{{#!td align=left |
---|
754 | cfo_est |
---|
755 | }}} |
---|
756 | {{{#!td align=center |
---|
757 | int32 |
---|
758 | }}} |
---|
759 | {{{#!td align=left |
---|
760 | Time-domain CFO estimate from Rx PHY; Fix32_31 value, CFO as fraction of sampling frequency |
---|
761 | }}} |
---|
762 | |---------------- |
---|
763 | {{{#!td align=left |
---|
764 | mcs |
---|
765 | }}} |
---|
766 | {{{#!td align=center |
---|
767 | uint8 |
---|
768 | }}} |
---|
769 | {{{#!td align=left |
---|
770 | MCS index, in ![0:7] |
---|
771 | }}} |
---|
772 | |---------------- |
---|
773 | {{{#!td align=left |
---|
774 | phy_mode |
---|
775 | }}} |
---|
776 | {{{#!td align=center |
---|
777 | uint8 |
---|
778 | }}} |
---|
779 | {{{#!td align=left |
---|
780 | PHY mode index, in ![0:2] |
---|
781 | |
---|
782 | Constants defined for this field: |
---|
783 | ||= Name =||= Value =|| |
---|
784 | || {{{NONHT}}} || {{{0x1}}} || |
---|
785 | || {{{HTMF}}} || {{{0x2}}} || |
---|
786 | || {{{DSSS}}} || {{{0x0}}} || |
---|
787 | |
---|
788 | }}} |
---|
789 | |---------------- |
---|
790 | {{{#!td align=left |
---|
791 | ant_mode |
---|
792 | }}} |
---|
793 | {{{#!td align=center |
---|
794 | uint8 |
---|
795 | }}} |
---|
796 | {{{#!td align=left |
---|
797 | Antenna mode: ![1,2,3,4] for SISO Rx on RF [A,B,C,D] |
---|
798 | |
---|
799 | Constants defined for this field: |
---|
800 | ||= Name =||= Value =|| |
---|
801 | || {{{RF_A}}} || {{{0x1}}} || |
---|
802 | || {{{RF_C}}} || {{{0x3}}} || |
---|
803 | || {{{RF_B}}} || {{{0x2}}} || |
---|
804 | || {{{RF_D}}} || {{{0x4}}} || |
---|
805 | |
---|
806 | }}} |
---|
807 | |---------------- |
---|
808 | {{{#!td align=left |
---|
809 | power |
---|
810 | }}} |
---|
811 | {{{#!td align=center |
---|
812 | int8 |
---|
813 | }}} |
---|
814 | {{{#!td align=left |
---|
815 | Rx power in dBm |
---|
816 | }}} |
---|
817 | |---------------- |
---|
818 | {{{#!td align=left |
---|
819 | padding0 |
---|
820 | }}} |
---|
821 | {{{#!td align=center |
---|
822 | uint8 |
---|
823 | }}} |
---|
824 | {{{#!td align=left |
---|
825 | |
---|
826 | }}} |
---|
827 | |---------------- |
---|
828 | {{{#!td align=left |
---|
829 | pkt_type |
---|
830 | }}} |
---|
831 | {{{#!td align=center |
---|
832 | uint8 |
---|
833 | }}} |
---|
834 | {{{#!td align=left |
---|
835 | Packet type, first frame control byte of 802.11 header |
---|
836 | |
---|
837 | Constants defined for this field: |
---|
838 | ||= Name =||= Value =|| |
---|
839 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
840 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
841 | || {{{CTS}}} || {{{0xC4}}} || |
---|
842 | || {{{ACK}}} || {{{0xD4}}} || |
---|
843 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
844 | || {{{BEACON}}} || {{{0x80}}} || |
---|
845 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
846 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
847 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
848 | || {{{DATA}}} || {{{0x8}}} || |
---|
849 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
850 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
851 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
852 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
853 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
854 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
855 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
856 | || {{{RTS}}} || {{{0xB4}}} || |
---|
857 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
858 | |
---|
859 | }}} |
---|
860 | |---------------- |
---|
861 | {{{#!td align=left |
---|
862 | channel |
---|
863 | }}} |
---|
864 | {{{#!td align=center |
---|
865 | uint8 |
---|
866 | }}} |
---|
867 | {{{#!td align=left |
---|
868 | Channel (center frequency) index |
---|
869 | }}} |
---|
870 | |---------------- |
---|
871 | {{{#!td align=left |
---|
872 | padding1 |
---|
873 | }}} |
---|
874 | {{{#!td align=center |
---|
875 | uint8 |
---|
876 | }}} |
---|
877 | {{{#!td align=left |
---|
878 | |
---|
879 | }}} |
---|
880 | |---------------- |
---|
881 | {{{#!td align=left |
---|
882 | rx_gain_index |
---|
883 | }}} |
---|
884 | {{{#!td align=center |
---|
885 | uint8 |
---|
886 | }}} |
---|
887 | {{{#!td align=left |
---|
888 | Radio Rx gain index; larger values mean larger Rx gains, mapping to absolute dB is radio-dependent |
---|
889 | }}} |
---|
890 | |---------------- |
---|
891 | {{{#!td align=left |
---|
892 | padding2 |
---|
893 | }}} |
---|
894 | {{{#!td align=center |
---|
895 | uint8 |
---|
896 | }}} |
---|
897 | {{{#!td align=left |
---|
898 | |
---|
899 | }}} |
---|
900 | |---------------- |
---|
901 | {{{#!td align=left |
---|
902 | flags |
---|
903 | }}} |
---|
904 | {{{#!td align=center |
---|
905 | uint16 |
---|
906 | }}} |
---|
907 | {{{#!td align=left |
---|
908 | 1-bit flags |
---|
909 | |
---|
910 | Constants defined for this field: |
---|
911 | ||= Name =||= Value =|| |
---|
912 | || {{{FCS_GOOD}}} || {{{0x1}}} || |
---|
913 | || {{{DUPLICATE}}} || {{{0x2}}} || |
---|
914 | || {{{LTG_PYLD}}} || {{{0x40}}} || |
---|
915 | || {{{LTG}}} || {{{0x80}}} || |
---|
916 | || {{{UNEXPECTED_RESPONSE}}} || {{{0x4}}} || |
---|
917 | |
---|
918 | }}} |
---|
919 | |---------------- |
---|
920 | {{{#!td align=left |
---|
921 | chan_est |
---|
922 | }}} |
---|
923 | {{{#!td align=center |
---|
924 | (64,2)i2 |
---|
925 | }}} |
---|
926 | {{{#!td align=left |
---|
927 | OFDM Rx channel estimates, packed as [(uint16)I (uint16)Q] values, one per subcarrier |
---|
928 | }}} |
---|
929 | |---------------- |
---|
930 | {{{#!td align=left |
---|
931 | mac_payload_len |
---|
932 | }}} |
---|
933 | {{{#!td align=center |
---|
934 | uint32 |
---|
935 | }}} |
---|
936 | {{{#!td align=left |
---|
937 | Length in bytes of MAC payload recorded in log for this packet |
---|
938 | }}} |
---|
939 | |---------------- |
---|
940 | {{{#!td align=left |
---|
941 | mac_payload |
---|
942 | }}} |
---|
943 | {{{#!td align=center |
---|
944 | 44uint8 |
---|
945 | }}} |
---|
946 | {{{#!td align=left |
---|
947 | First 44 bytes of MAC payload: the 802.11 MAC header, LLC header, Packet ID, LTG ID |
---|
948 | }}} |
---|
949 | |---------------- |
---|
950 | |
---|
951 | |
---|
952 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
953 | |
---|
954 | {{{#!th align=center |
---|
955 | Field Name |
---|
956 | }}} |
---|
957 | {{{#!th align=center |
---|
958 | Data Type |
---|
959 | }}} |
---|
960 | {{{#!th align=center |
---|
961 | Description |
---|
962 | }}} |
---|
963 | |---------------- |
---|
964 | {{{#!td align=left |
---|
965 | addr1 |
---|
966 | }}} |
---|
967 | {{{#!td align=center |
---|
968 | uint64 |
---|
969 | }}} |
---|
970 | {{{#!td align=left |
---|
971 | MAC Header Address 1 |
---|
972 | }}} |
---|
973 | |---------------- |
---|
974 | {{{#!td align=left |
---|
975 | addr2 |
---|
976 | }}} |
---|
977 | {{{#!td align=center |
---|
978 | uint64 |
---|
979 | }}} |
---|
980 | {{{#!td align=left |
---|
981 | MAC Header Address 2 |
---|
982 | }}} |
---|
983 | |---------------- |
---|
984 | {{{#!td align=left |
---|
985 | addr3 |
---|
986 | }}} |
---|
987 | {{{#!td align=center |
---|
988 | uint64 |
---|
989 | }}} |
---|
990 | {{{#!td align=left |
---|
991 | MAC Header Address 3 |
---|
992 | }}} |
---|
993 | |---------------- |
---|
994 | {{{#!td align=left |
---|
995 | mac_seq |
---|
996 | }}} |
---|
997 | {{{#!td align=center |
---|
998 | uint16 |
---|
999 | }}} |
---|
1000 | {{{#!td align=left |
---|
1001 | MAC Header Sequence Number |
---|
1002 | }}} |
---|
1003 | |---------------- |
---|
1004 | {{{#!td align=left |
---|
1005 | ltg_uniq_seq |
---|
1006 | }}} |
---|
1007 | {{{#!td align=center |
---|
1008 | uint64 |
---|
1009 | }}} |
---|
1010 | {{{#!td align=left |
---|
1011 | Unique sequence number for LTG packet |
---|
1012 | }}} |
---|
1013 | |---------------- |
---|
1014 | {{{#!td align=left |
---|
1015 | ltg_flow_id |
---|
1016 | }}} |
---|
1017 | {{{#!td align=center |
---|
1018 | uint64 |
---|
1019 | }}} |
---|
1020 | {{{#!td align=left |
---|
1021 | LTG Flow ID, calculated as: |
---|
1022 | 16LSB: LTG instance ID |
---|
1023 | 48MSB: Destination MAC address |
---|
1024 | }}} |
---|
1025 | |---------------- |
---|
1026 | |
---|
1027 | |
---|
1028 | ---- |
---|
1029 | |
---|
1030 | === Entry Type RX_DSSS === |
---|
1031 | Rx events from DSSS PHY. These log entries will only be created for packets that are passed to the high-level MAC code in CPU High. If the low-level MAC filter drops the packet, it will not be logged. For full "monitor mode" ensure the low-level MAC filter is configured to pass all receptions up to CPU High. |
---|
1032 | |
---|
1033 | Entry type ID: 15 |
---|
1034 | |
---|
1035 | {{{#!th align=center |
---|
1036 | Field Name |
---|
1037 | }}} |
---|
1038 | {{{#!th align=center |
---|
1039 | Data Type |
---|
1040 | }}} |
---|
1041 | {{{#!th align=center |
---|
1042 | Description |
---|
1043 | }}} |
---|
1044 | |---------------- |
---|
1045 | {{{#!td align=left |
---|
1046 | timestamp |
---|
1047 | }}} |
---|
1048 | {{{#!td align=center |
---|
1049 | uint64 |
---|
1050 | }}} |
---|
1051 | {{{#!td align=left |
---|
1052 | Value of MAC Time in microseconds at PHY RX_START |
---|
1053 | }}} |
---|
1054 | |---------------- |
---|
1055 | {{{#!td align=left |
---|
1056 | timestamp_frac |
---|
1057 | }}} |
---|
1058 | {{{#!td align=center |
---|
1059 | uint8 |
---|
1060 | }}} |
---|
1061 | {{{#!td align=left |
---|
1062 | Fractional part of timestamp (units of 6.25ns) |
---|
1063 | }}} |
---|
1064 | |---------------- |
---|
1065 | {{{#!td align=left |
---|
1066 | phy_samp_rate |
---|
1067 | }}} |
---|
1068 | {{{#!td align=center |
---|
1069 | uint8 |
---|
1070 | }}} |
---|
1071 | {{{#!td align=left |
---|
1072 | PHY sampling rate in MSps |
---|
1073 | }}} |
---|
1074 | |---------------- |
---|
1075 | {{{#!td align=left |
---|
1076 | length |
---|
1077 | }}} |
---|
1078 | {{{#!td align=center |
---|
1079 | uint16 |
---|
1080 | }}} |
---|
1081 | {{{#!td align=left |
---|
1082 | Length of payload in bytes |
---|
1083 | }}} |
---|
1084 | |---------------- |
---|
1085 | {{{#!td align=left |
---|
1086 | cfo_est |
---|
1087 | }}} |
---|
1088 | {{{#!td align=center |
---|
1089 | int32 |
---|
1090 | }}} |
---|
1091 | {{{#!td align=left |
---|
1092 | Time-domain CFO estimate from Rx PHY; Fix32_31 value, CFO as fraction of sampling frequency |
---|
1093 | }}} |
---|
1094 | |---------------- |
---|
1095 | {{{#!td align=left |
---|
1096 | mcs |
---|
1097 | }}} |
---|
1098 | {{{#!td align=center |
---|
1099 | uint8 |
---|
1100 | }}} |
---|
1101 | {{{#!td align=left |
---|
1102 | MCS index, in ![0:7] |
---|
1103 | }}} |
---|
1104 | |---------------- |
---|
1105 | {{{#!td align=left |
---|
1106 | phy_mode |
---|
1107 | }}} |
---|
1108 | {{{#!td align=center |
---|
1109 | uint8 |
---|
1110 | }}} |
---|
1111 | {{{#!td align=left |
---|
1112 | PHY mode index, in ![0:2] |
---|
1113 | |
---|
1114 | Constants defined for this field: |
---|
1115 | ||= Name =||= Value =|| |
---|
1116 | || {{{NONHT}}} || {{{0x1}}} || |
---|
1117 | || {{{HTMF}}} || {{{0x2}}} || |
---|
1118 | || {{{DSSS}}} || {{{0x0}}} || |
---|
1119 | |
---|
1120 | }}} |
---|
1121 | |---------------- |
---|
1122 | {{{#!td align=left |
---|
1123 | ant_mode |
---|
1124 | }}} |
---|
1125 | {{{#!td align=center |
---|
1126 | uint8 |
---|
1127 | }}} |
---|
1128 | {{{#!td align=left |
---|
1129 | Antenna mode: ![1,2,3,4] for SISO Rx on RF [A,B,C,D] |
---|
1130 | |
---|
1131 | Constants defined for this field: |
---|
1132 | ||= Name =||= Value =|| |
---|
1133 | || {{{RF_A}}} || {{{0x1}}} || |
---|
1134 | || {{{RF_C}}} || {{{0x3}}} || |
---|
1135 | || {{{RF_B}}} || {{{0x2}}} || |
---|
1136 | || {{{RF_D}}} || {{{0x4}}} || |
---|
1137 | |
---|
1138 | }}} |
---|
1139 | |---------------- |
---|
1140 | {{{#!td align=left |
---|
1141 | power |
---|
1142 | }}} |
---|
1143 | {{{#!td align=center |
---|
1144 | int8 |
---|
1145 | }}} |
---|
1146 | {{{#!td align=left |
---|
1147 | Rx power in dBm |
---|
1148 | }}} |
---|
1149 | |---------------- |
---|
1150 | {{{#!td align=left |
---|
1151 | padding0 |
---|
1152 | }}} |
---|
1153 | {{{#!td align=center |
---|
1154 | uint8 |
---|
1155 | }}} |
---|
1156 | {{{#!td align=left |
---|
1157 | |
---|
1158 | }}} |
---|
1159 | |---------------- |
---|
1160 | {{{#!td align=left |
---|
1161 | pkt_type |
---|
1162 | }}} |
---|
1163 | {{{#!td align=center |
---|
1164 | uint8 |
---|
1165 | }}} |
---|
1166 | {{{#!td align=left |
---|
1167 | Packet type, first frame control byte of 802.11 header |
---|
1168 | |
---|
1169 | Constants defined for this field: |
---|
1170 | ||= Name =||= Value =|| |
---|
1171 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
1172 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
1173 | || {{{CTS}}} || {{{0xC4}}} || |
---|
1174 | || {{{ACK}}} || {{{0xD4}}} || |
---|
1175 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
1176 | || {{{BEACON}}} || {{{0x80}}} || |
---|
1177 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
1178 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
1179 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
1180 | || {{{DATA}}} || {{{0x8}}} || |
---|
1181 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
1182 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
1183 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
1184 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
1185 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
1186 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
1187 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
1188 | || {{{RTS}}} || {{{0xB4}}} || |
---|
1189 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
1190 | |
---|
1191 | }}} |
---|
1192 | |---------------- |
---|
1193 | {{{#!td align=left |
---|
1194 | channel |
---|
1195 | }}} |
---|
1196 | {{{#!td align=center |
---|
1197 | uint8 |
---|
1198 | }}} |
---|
1199 | {{{#!td align=left |
---|
1200 | Channel (center frequency) index |
---|
1201 | }}} |
---|
1202 | |---------------- |
---|
1203 | {{{#!td align=left |
---|
1204 | padding1 |
---|
1205 | }}} |
---|
1206 | {{{#!td align=center |
---|
1207 | uint8 |
---|
1208 | }}} |
---|
1209 | {{{#!td align=left |
---|
1210 | |
---|
1211 | }}} |
---|
1212 | |---------------- |
---|
1213 | {{{#!td align=left |
---|
1214 | rx_gain_index |
---|
1215 | }}} |
---|
1216 | {{{#!td align=center |
---|
1217 | uint8 |
---|
1218 | }}} |
---|
1219 | {{{#!td align=left |
---|
1220 | Radio Rx gain index; larger values mean larger Rx gains, mapping to absolute dB is radio-dependent |
---|
1221 | }}} |
---|
1222 | |---------------- |
---|
1223 | {{{#!td align=left |
---|
1224 | padding2 |
---|
1225 | }}} |
---|
1226 | {{{#!td align=center |
---|
1227 | uint8 |
---|
1228 | }}} |
---|
1229 | {{{#!td align=left |
---|
1230 | |
---|
1231 | }}} |
---|
1232 | |---------------- |
---|
1233 | {{{#!td align=left |
---|
1234 | flags |
---|
1235 | }}} |
---|
1236 | {{{#!td align=center |
---|
1237 | uint16 |
---|
1238 | }}} |
---|
1239 | {{{#!td align=left |
---|
1240 | 1-bit flags |
---|
1241 | |
---|
1242 | Constants defined for this field: |
---|
1243 | ||= Name =||= Value =|| |
---|
1244 | || {{{FCS_GOOD}}} || {{{0x1}}} || |
---|
1245 | || {{{DUPLICATE}}} || {{{0x2}}} || |
---|
1246 | || {{{LTG_PYLD}}} || {{{0x40}}} || |
---|
1247 | || {{{LTG}}} || {{{0x80}}} || |
---|
1248 | || {{{UNEXPECTED_RESPONSE}}} || {{{0x4}}} || |
---|
1249 | |
---|
1250 | }}} |
---|
1251 | |---------------- |
---|
1252 | {{{#!td align=left |
---|
1253 | mac_payload_len |
---|
1254 | }}} |
---|
1255 | {{{#!td align=center |
---|
1256 | uint32 |
---|
1257 | }}} |
---|
1258 | {{{#!td align=left |
---|
1259 | Length in bytes of MAC payload recorded in log for this packet |
---|
1260 | }}} |
---|
1261 | |---------------- |
---|
1262 | {{{#!td align=left |
---|
1263 | mac_payload |
---|
1264 | }}} |
---|
1265 | {{{#!td align=center |
---|
1266 | 24uint8 |
---|
1267 | }}} |
---|
1268 | {{{#!td align=left |
---|
1269 | First 24 bytes of MAC payload, typically the 802.11 MAC header |
---|
1270 | }}} |
---|
1271 | |---------------- |
---|
1272 | |
---|
1273 | |
---|
1274 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
1275 | |
---|
1276 | {{{#!th align=center |
---|
1277 | Field Name |
---|
1278 | }}} |
---|
1279 | {{{#!th align=center |
---|
1280 | Data Type |
---|
1281 | }}} |
---|
1282 | {{{#!th align=center |
---|
1283 | Description |
---|
1284 | }}} |
---|
1285 | |---------------- |
---|
1286 | {{{#!td align=left |
---|
1287 | addr1 |
---|
1288 | }}} |
---|
1289 | {{{#!td align=center |
---|
1290 | uint64 |
---|
1291 | }}} |
---|
1292 | {{{#!td align=left |
---|
1293 | MAC Header Address 1 |
---|
1294 | }}} |
---|
1295 | |---------------- |
---|
1296 | {{{#!td align=left |
---|
1297 | addr2 |
---|
1298 | }}} |
---|
1299 | {{{#!td align=center |
---|
1300 | uint64 |
---|
1301 | }}} |
---|
1302 | {{{#!td align=left |
---|
1303 | MAC Header Address 2 |
---|
1304 | }}} |
---|
1305 | |---------------- |
---|
1306 | {{{#!td align=left |
---|
1307 | addr3 |
---|
1308 | }}} |
---|
1309 | {{{#!td align=center |
---|
1310 | uint64 |
---|
1311 | }}} |
---|
1312 | {{{#!td align=left |
---|
1313 | MAC Header Address 3 |
---|
1314 | }}} |
---|
1315 | |---------------- |
---|
1316 | {{{#!td align=left |
---|
1317 | mac_seq |
---|
1318 | }}} |
---|
1319 | {{{#!td align=center |
---|
1320 | uint16 |
---|
1321 | }}} |
---|
1322 | {{{#!td align=left |
---|
1323 | MAC Header Sequence Number |
---|
1324 | }}} |
---|
1325 | |---------------- |
---|
1326 | |
---|
1327 | |
---|
1328 | ---- |
---|
1329 | |
---|
1330 | === Entry Type TX_HIGH === |
---|
1331 | Tx events in CPU High, logged for each data and management frame created and enqueued in CPU High. See TX_LOW for log entries of actual Tx events, including re-transmissions. The time values in this log entry can be used to determine time in queue (time_to_accept), time taken by CPU Low for all Tx attempts (time_to_done) and total time from creation to completion (time_to_accept+time_to_done). |
---|
1332 | |
---|
1333 | Entry type ID: 20 |
---|
1334 | |
---|
1335 | {{{#!th align=center |
---|
1336 | Field Name |
---|
1337 | }}} |
---|
1338 | {{{#!th align=center |
---|
1339 | Data Type |
---|
1340 | }}} |
---|
1341 | {{{#!th align=center |
---|
1342 | Description |
---|
1343 | }}} |
---|
1344 | |---------------- |
---|
1345 | {{{#!td align=left |
---|
1346 | timestamp |
---|
1347 | }}} |
---|
1348 | {{{#!td align=center |
---|
1349 | uint64 |
---|
1350 | }}} |
---|
1351 | {{{#!td align=left |
---|
1352 | Value of MAC Time in microseconds when packet was created, immediately before it was enqueued |
---|
1353 | }}} |
---|
1354 | |---------------- |
---|
1355 | {{{#!td align=left |
---|
1356 | time_to_accept |
---|
1357 | }}} |
---|
1358 | {{{#!td align=center |
---|
1359 | uint32 |
---|
1360 | }}} |
---|
1361 | {{{#!td align=left |
---|
1362 | Time duration in microseconds between packet creation and acceptance by frame_transmit() in CPU Low |
---|
1363 | }}} |
---|
1364 | |---------------- |
---|
1365 | {{{#!td align=left |
---|
1366 | time_to_done |
---|
1367 | }}} |
---|
1368 | {{{#!td align=center |
---|
1369 | uint32 |
---|
1370 | }}} |
---|
1371 | {{{#!td align=left |
---|
1372 | Time duration in microseconds between packet acceptance by CPU Low and completion of all transmissions by CPU Low |
---|
1373 | }}} |
---|
1374 | |---------------- |
---|
1375 | {{{#!td align=left |
---|
1376 | uniq_seq |
---|
1377 | }}} |
---|
1378 | {{{#!td align=center |
---|
1379 | uint64 |
---|
1380 | }}} |
---|
1381 | {{{#!td align=left |
---|
1382 | Unique sequence number for Tx packet; 12 LSB of this used for 802.11 MAC header sequence number |
---|
1383 | }}} |
---|
1384 | |---------------- |
---|
1385 | {{{#!td align=left |
---|
1386 | padding0 |
---|
1387 | }}} |
---|
1388 | {{{#!td align=center |
---|
1389 | uint32 |
---|
1390 | }}} |
---|
1391 | {{{#!td align=left |
---|
1392 | |
---|
1393 | }}} |
---|
1394 | |---------------- |
---|
1395 | {{{#!td align=left |
---|
1396 | num_tx |
---|
1397 | }}} |
---|
1398 | {{{#!td align=center |
---|
1399 | uint16 |
---|
1400 | }}} |
---|
1401 | {{{#!td align=left |
---|
1402 | Number of Tx attempts that were made for this packet |
---|
1403 | }}} |
---|
1404 | |---------------- |
---|
1405 | {{{#!td align=left |
---|
1406 | length |
---|
1407 | }}} |
---|
1408 | {{{#!td align=center |
---|
1409 | uint16 |
---|
1410 | }}} |
---|
1411 | {{{#!td align=left |
---|
1412 | Length in bytes of MPDU; includes MAC header, payload and FCS |
---|
1413 | }}} |
---|
1414 | |---------------- |
---|
1415 | {{{#!td align=left |
---|
1416 | padding1 |
---|
1417 | }}} |
---|
1418 | {{{#!td align=center |
---|
1419 | uint8 |
---|
1420 | }}} |
---|
1421 | {{{#!td align=left |
---|
1422 | |
---|
1423 | }}} |
---|
1424 | |---------------- |
---|
1425 | {{{#!td align=left |
---|
1426 | pkt_type |
---|
1427 | }}} |
---|
1428 | {{{#!td align=center |
---|
1429 | uint8 |
---|
1430 | }}} |
---|
1431 | {{{#!td align=left |
---|
1432 | Packet type, first frame control byte of 802.11 header |
---|
1433 | |
---|
1434 | Constants defined for this field: |
---|
1435 | ||= Name =||= Value =|| |
---|
1436 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
1437 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
1438 | || {{{CTS}}} || {{{0xC4}}} || |
---|
1439 | || {{{ACK}}} || {{{0xD4}}} || |
---|
1440 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
1441 | || {{{BEACON}}} || {{{0x80}}} || |
---|
1442 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
1443 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
1444 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
1445 | || {{{DATA}}} || {{{0x8}}} || |
---|
1446 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
1447 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
1448 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
1449 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
1450 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
1451 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
1452 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
1453 | || {{{RTS}}} || {{{0xB4}}} || |
---|
1454 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
1455 | |
---|
1456 | }}} |
---|
1457 | |---------------- |
---|
1458 | {{{#!td align=left |
---|
1459 | queue_id |
---|
1460 | }}} |
---|
1461 | {{{#!td align=center |
---|
1462 | uint16 |
---|
1463 | }}} |
---|
1464 | {{{#!td align=left |
---|
1465 | Tx queue ID from which the packet was retrieved |
---|
1466 | }}} |
---|
1467 | |---------------- |
---|
1468 | {{{#!td align=left |
---|
1469 | queue_occupancy |
---|
1470 | }}} |
---|
1471 | {{{#!td align=center |
---|
1472 | uint16 |
---|
1473 | }}} |
---|
1474 | {{{#!td align=left |
---|
1475 | Occupancy of the Tx queue immediately after this packet was enqueued |
---|
1476 | }}} |
---|
1477 | |---------------- |
---|
1478 | {{{#!td align=left |
---|
1479 | flags |
---|
1480 | }}} |
---|
1481 | {{{#!td align=center |
---|
1482 | uint16 |
---|
1483 | }}} |
---|
1484 | {{{#!td align=left |
---|
1485 | 1-bit flags |
---|
1486 | |
---|
1487 | Constants defined for this field: |
---|
1488 | ||= Name =||= Value =|| |
---|
1489 | || {{{SUCCESSFUL}}} || {{{0x1}}} || |
---|
1490 | || {{{LTG_PYLD}}} || {{{0x40}}} || |
---|
1491 | || {{{LTG}}} || {{{0x80}}} || |
---|
1492 | |
---|
1493 | }}} |
---|
1494 | |---------------- |
---|
1495 | {{{#!td align=left |
---|
1496 | mac_payload_len |
---|
1497 | }}} |
---|
1498 | {{{#!td align=center |
---|
1499 | uint32 |
---|
1500 | }}} |
---|
1501 | {{{#!td align=left |
---|
1502 | Length in bytes of MAC payload recorded in log for this packet |
---|
1503 | }}} |
---|
1504 | |---------------- |
---|
1505 | {{{#!td align=left |
---|
1506 | mac_payload |
---|
1507 | }}} |
---|
1508 | {{{#!td align=center |
---|
1509 | 24uint8 |
---|
1510 | }}} |
---|
1511 | {{{#!td align=left |
---|
1512 | First 24 bytes of MAC payload, typically the 802.11 MAC header |
---|
1513 | }}} |
---|
1514 | |---------------- |
---|
1515 | |
---|
1516 | |
---|
1517 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
1518 | |
---|
1519 | {{{#!th align=center |
---|
1520 | Field Name |
---|
1521 | }}} |
---|
1522 | {{{#!th align=center |
---|
1523 | Data Type |
---|
1524 | }}} |
---|
1525 | {{{#!th align=center |
---|
1526 | Description |
---|
1527 | }}} |
---|
1528 | |---------------- |
---|
1529 | {{{#!td align=left |
---|
1530 | addr1 |
---|
1531 | }}} |
---|
1532 | {{{#!td align=center |
---|
1533 | uint64 |
---|
1534 | }}} |
---|
1535 | {{{#!td align=left |
---|
1536 | MAC Header Address 1 |
---|
1537 | }}} |
---|
1538 | |---------------- |
---|
1539 | {{{#!td align=left |
---|
1540 | addr2 |
---|
1541 | }}} |
---|
1542 | {{{#!td align=center |
---|
1543 | uint64 |
---|
1544 | }}} |
---|
1545 | {{{#!td align=left |
---|
1546 | MAC Header Address 2 |
---|
1547 | }}} |
---|
1548 | |---------------- |
---|
1549 | {{{#!td align=left |
---|
1550 | addr3 |
---|
1551 | }}} |
---|
1552 | {{{#!td align=center |
---|
1553 | uint64 |
---|
1554 | }}} |
---|
1555 | {{{#!td align=left |
---|
1556 | MAC Header Address 3 |
---|
1557 | }}} |
---|
1558 | |---------------- |
---|
1559 | {{{#!td align=left |
---|
1560 | mac_seq |
---|
1561 | }}} |
---|
1562 | {{{#!td align=center |
---|
1563 | uint16 |
---|
1564 | }}} |
---|
1565 | {{{#!td align=left |
---|
1566 | MAC Header Sequence Number |
---|
1567 | }}} |
---|
1568 | |---------------- |
---|
1569 | |
---|
1570 | |
---|
1571 | ---- |
---|
1572 | |
---|
1573 | === Entry Type TX_HIGH_LTG === |
---|
1574 | Tx events in CPU High, logged for each data and management frame created and enqueued in CPU High. See TX_LOW for log entries of actual Tx events, including re-transmissions. The time values in this log entry can be used to determine time in queue (time_to_accept), time taken by CPU Low for all Tx attempts (time_to_done) and total time from creation to completion (time_to_accept+time_to_done). |
---|
1575 | |
---|
1576 | Entry type ID: 21 |
---|
1577 | |
---|
1578 | {{{#!th align=center |
---|
1579 | Field Name |
---|
1580 | }}} |
---|
1581 | {{{#!th align=center |
---|
1582 | Data Type |
---|
1583 | }}} |
---|
1584 | {{{#!th align=center |
---|
1585 | Description |
---|
1586 | }}} |
---|
1587 | |---------------- |
---|
1588 | {{{#!td align=left |
---|
1589 | timestamp |
---|
1590 | }}} |
---|
1591 | {{{#!td align=center |
---|
1592 | uint64 |
---|
1593 | }}} |
---|
1594 | {{{#!td align=left |
---|
1595 | Value of MAC Time in microseconds when packet was created, immediately before it was enqueued |
---|
1596 | }}} |
---|
1597 | |---------------- |
---|
1598 | {{{#!td align=left |
---|
1599 | time_to_accept |
---|
1600 | }}} |
---|
1601 | {{{#!td align=center |
---|
1602 | uint32 |
---|
1603 | }}} |
---|
1604 | {{{#!td align=left |
---|
1605 | Time duration in microseconds between packet creation and acceptance by frame_transmit() in CPU Low |
---|
1606 | }}} |
---|
1607 | |---------------- |
---|
1608 | {{{#!td align=left |
---|
1609 | time_to_done |
---|
1610 | }}} |
---|
1611 | {{{#!td align=center |
---|
1612 | uint32 |
---|
1613 | }}} |
---|
1614 | {{{#!td align=left |
---|
1615 | Time duration in microseconds between packet acceptance by CPU Low and completion of all transmissions by CPU Low |
---|
1616 | }}} |
---|
1617 | |---------------- |
---|
1618 | {{{#!td align=left |
---|
1619 | uniq_seq |
---|
1620 | }}} |
---|
1621 | {{{#!td align=center |
---|
1622 | uint64 |
---|
1623 | }}} |
---|
1624 | {{{#!td align=left |
---|
1625 | Unique sequence number for Tx packet; 12 LSB of this used for 802.11 MAC header sequence number |
---|
1626 | }}} |
---|
1627 | |---------------- |
---|
1628 | {{{#!td align=left |
---|
1629 | padding0 |
---|
1630 | }}} |
---|
1631 | {{{#!td align=center |
---|
1632 | uint32 |
---|
1633 | }}} |
---|
1634 | {{{#!td align=left |
---|
1635 | |
---|
1636 | }}} |
---|
1637 | |---------------- |
---|
1638 | {{{#!td align=left |
---|
1639 | num_tx |
---|
1640 | }}} |
---|
1641 | {{{#!td align=center |
---|
1642 | uint16 |
---|
1643 | }}} |
---|
1644 | {{{#!td align=left |
---|
1645 | Number of Tx attempts that were made for this packet |
---|
1646 | }}} |
---|
1647 | |---------------- |
---|
1648 | {{{#!td align=left |
---|
1649 | length |
---|
1650 | }}} |
---|
1651 | {{{#!td align=center |
---|
1652 | uint16 |
---|
1653 | }}} |
---|
1654 | {{{#!td align=left |
---|
1655 | Length in bytes of MPDU; includes MAC header, payload and FCS |
---|
1656 | }}} |
---|
1657 | |---------------- |
---|
1658 | {{{#!td align=left |
---|
1659 | padding1 |
---|
1660 | }}} |
---|
1661 | {{{#!td align=center |
---|
1662 | uint8 |
---|
1663 | }}} |
---|
1664 | {{{#!td align=left |
---|
1665 | |
---|
1666 | }}} |
---|
1667 | |---------------- |
---|
1668 | {{{#!td align=left |
---|
1669 | pkt_type |
---|
1670 | }}} |
---|
1671 | {{{#!td align=center |
---|
1672 | uint8 |
---|
1673 | }}} |
---|
1674 | {{{#!td align=left |
---|
1675 | Packet type, first frame control byte of 802.11 header |
---|
1676 | |
---|
1677 | Constants defined for this field: |
---|
1678 | ||= Name =||= Value =|| |
---|
1679 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
1680 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
1681 | || {{{CTS}}} || {{{0xC4}}} || |
---|
1682 | || {{{ACK}}} || {{{0xD4}}} || |
---|
1683 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
1684 | || {{{BEACON}}} || {{{0x80}}} || |
---|
1685 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
1686 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
1687 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
1688 | || {{{DATA}}} || {{{0x8}}} || |
---|
1689 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
1690 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
1691 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
1692 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
1693 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
1694 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
1695 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
1696 | || {{{RTS}}} || {{{0xB4}}} || |
---|
1697 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
1698 | |
---|
1699 | }}} |
---|
1700 | |---------------- |
---|
1701 | {{{#!td align=left |
---|
1702 | queue_id |
---|
1703 | }}} |
---|
1704 | {{{#!td align=center |
---|
1705 | uint16 |
---|
1706 | }}} |
---|
1707 | {{{#!td align=left |
---|
1708 | Tx queue ID from which the packet was retrieved |
---|
1709 | }}} |
---|
1710 | |---------------- |
---|
1711 | {{{#!td align=left |
---|
1712 | queue_occupancy |
---|
1713 | }}} |
---|
1714 | {{{#!td align=center |
---|
1715 | uint16 |
---|
1716 | }}} |
---|
1717 | {{{#!td align=left |
---|
1718 | Occupancy of the Tx queue immediately after this packet was enqueued |
---|
1719 | }}} |
---|
1720 | |---------------- |
---|
1721 | {{{#!td align=left |
---|
1722 | flags |
---|
1723 | }}} |
---|
1724 | {{{#!td align=center |
---|
1725 | uint16 |
---|
1726 | }}} |
---|
1727 | {{{#!td align=left |
---|
1728 | 1-bit flags |
---|
1729 | |
---|
1730 | Constants defined for this field: |
---|
1731 | ||= Name =||= Value =|| |
---|
1732 | || {{{SUCCESSFUL}}} || {{{0x1}}} || |
---|
1733 | || {{{LTG_PYLD}}} || {{{0x40}}} || |
---|
1734 | || {{{LTG}}} || {{{0x80}}} || |
---|
1735 | |
---|
1736 | }}} |
---|
1737 | |---------------- |
---|
1738 | {{{#!td align=left |
---|
1739 | mac_payload_len |
---|
1740 | }}} |
---|
1741 | {{{#!td align=center |
---|
1742 | uint32 |
---|
1743 | }}} |
---|
1744 | {{{#!td align=left |
---|
1745 | Length in bytes of MAC payload recorded in log for this packet |
---|
1746 | }}} |
---|
1747 | |---------------- |
---|
1748 | {{{#!td align=left |
---|
1749 | mac_payload |
---|
1750 | }}} |
---|
1751 | {{{#!td align=center |
---|
1752 | 44uint8 |
---|
1753 | }}} |
---|
1754 | {{{#!td align=left |
---|
1755 | First 44 bytes of MAC payload: the 802.11 MAC header, LLC header, Packet ID, LTG ID |
---|
1756 | }}} |
---|
1757 | |---------------- |
---|
1758 | |
---|
1759 | |
---|
1760 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
1761 | |
---|
1762 | {{{#!th align=center |
---|
1763 | Field Name |
---|
1764 | }}} |
---|
1765 | {{{#!th align=center |
---|
1766 | Data Type |
---|
1767 | }}} |
---|
1768 | {{{#!th align=center |
---|
1769 | Description |
---|
1770 | }}} |
---|
1771 | |---------------- |
---|
1772 | {{{#!td align=left |
---|
1773 | addr1 |
---|
1774 | }}} |
---|
1775 | {{{#!td align=center |
---|
1776 | uint64 |
---|
1777 | }}} |
---|
1778 | {{{#!td align=left |
---|
1779 | MAC Header Address 1 |
---|
1780 | }}} |
---|
1781 | |---------------- |
---|
1782 | {{{#!td align=left |
---|
1783 | addr2 |
---|
1784 | }}} |
---|
1785 | {{{#!td align=center |
---|
1786 | uint64 |
---|
1787 | }}} |
---|
1788 | {{{#!td align=left |
---|
1789 | MAC Header Address 2 |
---|
1790 | }}} |
---|
1791 | |---------------- |
---|
1792 | {{{#!td align=left |
---|
1793 | addr3 |
---|
1794 | }}} |
---|
1795 | {{{#!td align=center |
---|
1796 | uint64 |
---|
1797 | }}} |
---|
1798 | {{{#!td align=left |
---|
1799 | MAC Header Address 3 |
---|
1800 | }}} |
---|
1801 | |---------------- |
---|
1802 | {{{#!td align=left |
---|
1803 | mac_seq |
---|
1804 | }}} |
---|
1805 | {{{#!td align=center |
---|
1806 | uint16 |
---|
1807 | }}} |
---|
1808 | {{{#!td align=left |
---|
1809 | MAC Header Sequence Number |
---|
1810 | }}} |
---|
1811 | |---------------- |
---|
1812 | {{{#!td align=left |
---|
1813 | ltg_uniq_seq |
---|
1814 | }}} |
---|
1815 | {{{#!td align=center |
---|
1816 | uint64 |
---|
1817 | }}} |
---|
1818 | {{{#!td align=left |
---|
1819 | Unique sequence number for LTG packet |
---|
1820 | }}} |
---|
1821 | |---------------- |
---|
1822 | {{{#!td align=left |
---|
1823 | ltg_flow_id |
---|
1824 | }}} |
---|
1825 | {{{#!td align=center |
---|
1826 | uint64 |
---|
1827 | }}} |
---|
1828 | {{{#!td align=left |
---|
1829 | LTG Flow ID, calculated as: |
---|
1830 | 16LSB: LTG instance ID |
---|
1831 | 48MSB: Destination MAC address |
---|
1832 | }}} |
---|
1833 | |---------------- |
---|
1834 | |
---|
1835 | |
---|
1836 | ---- |
---|
1837 | |
---|
1838 | === Entry Type TX_LOW === |
---|
1839 | Record of actual PHY transmission. At least one TX_LOW will be logged for every TX_HIGH entry. Multiple TX_LOW entries may be created for the same TX_HIGH entry if the low-level MAC re-transmitted the frame. Use the uniq_seq fields to match TX_HIGH and TX_LOW entries to find records common to the same MPDU. |
---|
1840 | |
---|
1841 | Entry type ID: 25 |
---|
1842 | |
---|
1843 | {{{#!th align=center |
---|
1844 | Field Name |
---|
1845 | }}} |
---|
1846 | {{{#!th align=center |
---|
1847 | Data Type |
---|
1848 | }}} |
---|
1849 | {{{#!th align=center |
---|
1850 | Description |
---|
1851 | }}} |
---|
1852 | |---------------- |
---|
1853 | {{{#!td align=left |
---|
1854 | timestamp |
---|
1855 | }}} |
---|
1856 | {{{#!td align=center |
---|
1857 | uint64 |
---|
1858 | }}} |
---|
1859 | {{{#!td align=left |
---|
1860 | Value of MAC Time in microseconds when packet transmission actually started (PHY TX_START time) |
---|
1861 | }}} |
---|
1862 | |---------------- |
---|
1863 | {{{#!td align=left |
---|
1864 | uniq_seq |
---|
1865 | }}} |
---|
1866 | {{{#!td align=center |
---|
1867 | uint64 |
---|
1868 | }}} |
---|
1869 | {{{#!td align=left |
---|
1870 | Unique sequence number of original MPDU |
---|
1871 | }}} |
---|
1872 | |---------------- |
---|
1873 | {{{#!td align=left |
---|
1874 | mcs |
---|
1875 | }}} |
---|
1876 | {{{#!td align=center |
---|
1877 | uint8 |
---|
1878 | }}} |
---|
1879 | {{{#!td align=left |
---|
1880 | MCS index in ![0:7] |
---|
1881 | }}} |
---|
1882 | |---------------- |
---|
1883 | {{{#!td align=left |
---|
1884 | phy_mode |
---|
1885 | }}} |
---|
1886 | {{{#!td align=center |
---|
1887 | uint8 |
---|
1888 | }}} |
---|
1889 | {{{#!td align=left |
---|
1890 | PHY mode index, in ![1:2] |
---|
1891 | |
---|
1892 | Constants defined for this field: |
---|
1893 | ||= Name =||= Value =|| |
---|
1894 | || {{{NONHT}}} || {{{0x1}}} || |
---|
1895 | || {{{HTMF}}} || {{{0x2}}} || |
---|
1896 | || {{{DSSS}}} || {{{0x0}}} || |
---|
1897 | |
---|
1898 | }}} |
---|
1899 | |---------------- |
---|
1900 | {{{#!td align=left |
---|
1901 | ant_mode |
---|
1902 | }}} |
---|
1903 | {{{#!td align=center |
---|
1904 | uint8 |
---|
1905 | }}} |
---|
1906 | {{{#!td align=left |
---|
1907 | PHY antenna mode in [0x10, 0x20, 0x30, 0x40] |
---|
1908 | |
---|
1909 | Constants defined for this field: |
---|
1910 | ||= Name =||= Value =|| |
---|
1911 | || {{{RF_A}}} || {{{0x10}}} || |
---|
1912 | || {{{RF_C}}} || {{{0x30}}} || |
---|
1913 | || {{{RF_B}}} || {{{0x20}}} || |
---|
1914 | || {{{RF_D}}} || {{{0x40}}} || |
---|
1915 | |
---|
1916 | }}} |
---|
1917 | |---------------- |
---|
1918 | {{{#!td align=left |
---|
1919 | tx_power |
---|
1920 | }}} |
---|
1921 | {{{#!td align=center |
---|
1922 | int8 |
---|
1923 | }}} |
---|
1924 | {{{#!td align=left |
---|
1925 | Tx power in dBm |
---|
1926 | }}} |
---|
1927 | |---------------- |
---|
1928 | {{{#!td align=left |
---|
1929 | reserved0 |
---|
1930 | }}} |
---|
1931 | {{{#!td align=center |
---|
1932 | uint8 |
---|
1933 | }}} |
---|
1934 | {{{#!td align=left |
---|
1935 | |
---|
1936 | }}} |
---|
1937 | |---------------- |
---|
1938 | {{{#!td align=left |
---|
1939 | channel |
---|
1940 | }}} |
---|
1941 | {{{#!td align=center |
---|
1942 | uint8 |
---|
1943 | }}} |
---|
1944 | {{{#!td align=left |
---|
1945 | Channel (center frequency) index |
---|
1946 | }}} |
---|
1947 | |---------------- |
---|
1948 | {{{#!td align=left |
---|
1949 | length |
---|
1950 | }}} |
---|
1951 | {{{#!td align=center |
---|
1952 | uint16 |
---|
1953 | }}} |
---|
1954 | {{{#!td align=left |
---|
1955 | Length in bytes of MPDU; includes MAC header, payload and FCS |
---|
1956 | }}} |
---|
1957 | |---------------- |
---|
1958 | {{{#!td align=left |
---|
1959 | num_slots |
---|
1960 | }}} |
---|
1961 | {{{#!td align=center |
---|
1962 | int16 |
---|
1963 | }}} |
---|
1964 | {{{#!td align=left |
---|
1965 | Number of backoff slots allotted prior to this transmission; may not have been used for initial Tx (attempt_number==1); A value of -1 in this field means no backoff occured |
---|
1966 | }}} |
---|
1967 | |---------------- |
---|
1968 | {{{#!td align=left |
---|
1969 | cw |
---|
1970 | }}} |
---|
1971 | {{{#!td align=center |
---|
1972 | uint16 |
---|
1973 | }}} |
---|
1974 | {{{#!td align=left |
---|
1975 | Contention window value at time of this Tx |
---|
1976 | }}} |
---|
1977 | |---------------- |
---|
1978 | {{{#!td align=left |
---|
1979 | pkt_type |
---|
1980 | }}} |
---|
1981 | {{{#!td align=center |
---|
1982 | uint8 |
---|
1983 | }}} |
---|
1984 | {{{#!td align=left |
---|
1985 | Packet type, (first frame control byte of 802.11 header) |
---|
1986 | |
---|
1987 | Constants defined for this field: |
---|
1988 | ||= Name =||= Value =|| |
---|
1989 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
1990 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
1991 | || {{{CTS}}} || {{{0xC4}}} || |
---|
1992 | || {{{ACK}}} || {{{0xD4}}} || |
---|
1993 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
1994 | || {{{BEACON}}} || {{{0x80}}} || |
---|
1995 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
1996 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
1997 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
1998 | || {{{DATA}}} || {{{0x8}}} || |
---|
1999 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
2000 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
2001 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
2002 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
2003 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
2004 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
2005 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
2006 | || {{{RTS}}} || {{{0xB4}}} || |
---|
2007 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
2008 | |
---|
2009 | }}} |
---|
2010 | |---------------- |
---|
2011 | {{{#!td align=left |
---|
2012 | flags |
---|
2013 | }}} |
---|
2014 | {{{#!td align=center |
---|
2015 | uint8 |
---|
2016 | }}} |
---|
2017 | {{{#!td align=left |
---|
2018 | 1-bit Flags |
---|
2019 | |
---|
2020 | Constants defined for this field: |
---|
2021 | ||= Name =||= Value =|| |
---|
2022 | || {{{RECEIVED_RESPONSE}}} || {{{0x1}}} || |
---|
2023 | || {{{LTG_PYLD}}} || {{{0x80}}} || |
---|
2024 | || {{{LTG}}} || {{{0x40}}} || |
---|
2025 | |
---|
2026 | }}} |
---|
2027 | |---------------- |
---|
2028 | {{{#!td align=left |
---|
2029 | timestamp_frac |
---|
2030 | }}} |
---|
2031 | {{{#!td align=center |
---|
2032 | uint8 |
---|
2033 | }}} |
---|
2034 | {{{#!td align=left |
---|
2035 | Fractional part of Tx timestamp (units of 6.25ns) |
---|
2036 | }}} |
---|
2037 | |---------------- |
---|
2038 | {{{#!td align=left |
---|
2039 | phy_samp_rate |
---|
2040 | }}} |
---|
2041 | {{{#!td align=center |
---|
2042 | uint8 |
---|
2043 | }}} |
---|
2044 | {{{#!td align=left |
---|
2045 | PHY Sampling Rate Mode |
---|
2046 | }}} |
---|
2047 | |---------------- |
---|
2048 | {{{#!td align=left |
---|
2049 | attempt_number |
---|
2050 | }}} |
---|
2051 | {{{#!td align=center |
---|
2052 | uint16 |
---|
2053 | }}} |
---|
2054 | {{{#!td align=left |
---|
2055 | Transmission index for this attempt, starting at 1 (1 = first Tx) |
---|
2056 | }}} |
---|
2057 | |---------------- |
---|
2058 | {{{#!td align=left |
---|
2059 | reserved1 |
---|
2060 | }}} |
---|
2061 | {{{#!td align=center |
---|
2062 | uint16 |
---|
2063 | }}} |
---|
2064 | {{{#!td align=left |
---|
2065 | |
---|
2066 | }}} |
---|
2067 | |---------------- |
---|
2068 | {{{#!td align=left |
---|
2069 | mac_payload_len |
---|
2070 | }}} |
---|
2071 | {{{#!td align=center |
---|
2072 | uint32 |
---|
2073 | }}} |
---|
2074 | {{{#!td align=left |
---|
2075 | Length in bytes of MAC payload recorded in log for this packet |
---|
2076 | }}} |
---|
2077 | |---------------- |
---|
2078 | {{{#!td align=left |
---|
2079 | mac_payload |
---|
2080 | }}} |
---|
2081 | {{{#!td align=center |
---|
2082 | 24uint8 |
---|
2083 | }}} |
---|
2084 | {{{#!td align=left |
---|
2085 | First 24 bytes of MAC payload, typically the 802.11 MAC header |
---|
2086 | }}} |
---|
2087 | |---------------- |
---|
2088 | |
---|
2089 | |
---|
2090 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
2091 | |
---|
2092 | {{{#!th align=center |
---|
2093 | Field Name |
---|
2094 | }}} |
---|
2095 | {{{#!th align=center |
---|
2096 | Data Type |
---|
2097 | }}} |
---|
2098 | {{{#!th align=center |
---|
2099 | Description |
---|
2100 | }}} |
---|
2101 | |---------------- |
---|
2102 | {{{#!td align=left |
---|
2103 | addr1 |
---|
2104 | }}} |
---|
2105 | {{{#!td align=center |
---|
2106 | uint64 |
---|
2107 | }}} |
---|
2108 | {{{#!td align=left |
---|
2109 | MAC Header Address 1 |
---|
2110 | }}} |
---|
2111 | |---------------- |
---|
2112 | {{{#!td align=left |
---|
2113 | addr2 |
---|
2114 | }}} |
---|
2115 | {{{#!td align=center |
---|
2116 | uint64 |
---|
2117 | }}} |
---|
2118 | {{{#!td align=left |
---|
2119 | MAC Header Address 2 |
---|
2120 | }}} |
---|
2121 | |---------------- |
---|
2122 | {{{#!td align=left |
---|
2123 | addr3 |
---|
2124 | }}} |
---|
2125 | {{{#!td align=center |
---|
2126 | uint64 |
---|
2127 | }}} |
---|
2128 | {{{#!td align=left |
---|
2129 | MAC Header Address 3 |
---|
2130 | }}} |
---|
2131 | |---------------- |
---|
2132 | {{{#!td align=left |
---|
2133 | mac_seq |
---|
2134 | }}} |
---|
2135 | {{{#!td align=center |
---|
2136 | uint16 |
---|
2137 | }}} |
---|
2138 | {{{#!td align=left |
---|
2139 | MAC Header Sequence Number |
---|
2140 | }}} |
---|
2141 | |---------------- |
---|
2142 | |
---|
2143 | |
---|
2144 | ---- |
---|
2145 | |
---|
2146 | === Entry Type TX_LOW_LTG === |
---|
2147 | Record of actual PHY transmission. At least one TX_LOW will be logged for every TX_HIGH entry. Multiple TX_LOW entries may be created for the same TX_HIGH entry if the low-level MAC re-transmitted the frame. Use the uniq_seq fields to match TX_HIGH and TX_LOW entries to find records common to the same MPDU. |
---|
2148 | |
---|
2149 | Entry type ID: 26 |
---|
2150 | |
---|
2151 | {{{#!th align=center |
---|
2152 | Field Name |
---|
2153 | }}} |
---|
2154 | {{{#!th align=center |
---|
2155 | Data Type |
---|
2156 | }}} |
---|
2157 | {{{#!th align=center |
---|
2158 | Description |
---|
2159 | }}} |
---|
2160 | |---------------- |
---|
2161 | {{{#!td align=left |
---|
2162 | timestamp |
---|
2163 | }}} |
---|
2164 | {{{#!td align=center |
---|
2165 | uint64 |
---|
2166 | }}} |
---|
2167 | {{{#!td align=left |
---|
2168 | Value of MAC Time in microseconds when packet transmission actually started (PHY TX_START time) |
---|
2169 | }}} |
---|
2170 | |---------------- |
---|
2171 | {{{#!td align=left |
---|
2172 | uniq_seq |
---|
2173 | }}} |
---|
2174 | {{{#!td align=center |
---|
2175 | uint64 |
---|
2176 | }}} |
---|
2177 | {{{#!td align=left |
---|
2178 | Unique sequence number of original MPDU |
---|
2179 | }}} |
---|
2180 | |---------------- |
---|
2181 | {{{#!td align=left |
---|
2182 | mcs |
---|
2183 | }}} |
---|
2184 | {{{#!td align=center |
---|
2185 | uint8 |
---|
2186 | }}} |
---|
2187 | {{{#!td align=left |
---|
2188 | MCS index in ![0:7] |
---|
2189 | }}} |
---|
2190 | |---------------- |
---|
2191 | {{{#!td align=left |
---|
2192 | phy_mode |
---|
2193 | }}} |
---|
2194 | {{{#!td align=center |
---|
2195 | uint8 |
---|
2196 | }}} |
---|
2197 | {{{#!td align=left |
---|
2198 | PHY mode index, in ![1:2] |
---|
2199 | |
---|
2200 | Constants defined for this field: |
---|
2201 | ||= Name =||= Value =|| |
---|
2202 | || {{{NONHT}}} || {{{0x1}}} || |
---|
2203 | || {{{HTMF}}} || {{{0x2}}} || |
---|
2204 | || {{{DSSS}}} || {{{0x0}}} || |
---|
2205 | |
---|
2206 | }}} |
---|
2207 | |---------------- |
---|
2208 | {{{#!td align=left |
---|
2209 | ant_mode |
---|
2210 | }}} |
---|
2211 | {{{#!td align=center |
---|
2212 | uint8 |
---|
2213 | }}} |
---|
2214 | {{{#!td align=left |
---|
2215 | PHY antenna mode in [0x10, 0x20, 0x30, 0x40] |
---|
2216 | |
---|
2217 | Constants defined for this field: |
---|
2218 | ||= Name =||= Value =|| |
---|
2219 | || {{{RF_A}}} || {{{0x10}}} || |
---|
2220 | || {{{RF_C}}} || {{{0x30}}} || |
---|
2221 | || {{{RF_B}}} || {{{0x20}}} || |
---|
2222 | || {{{RF_D}}} || {{{0x40}}} || |
---|
2223 | |
---|
2224 | }}} |
---|
2225 | |---------------- |
---|
2226 | {{{#!td align=left |
---|
2227 | tx_power |
---|
2228 | }}} |
---|
2229 | {{{#!td align=center |
---|
2230 | int8 |
---|
2231 | }}} |
---|
2232 | {{{#!td align=left |
---|
2233 | Tx power in dBm |
---|
2234 | }}} |
---|
2235 | |---------------- |
---|
2236 | {{{#!td align=left |
---|
2237 | reserved0 |
---|
2238 | }}} |
---|
2239 | {{{#!td align=center |
---|
2240 | uint8 |
---|
2241 | }}} |
---|
2242 | {{{#!td align=left |
---|
2243 | |
---|
2244 | }}} |
---|
2245 | |---------------- |
---|
2246 | {{{#!td align=left |
---|
2247 | channel |
---|
2248 | }}} |
---|
2249 | {{{#!td align=center |
---|
2250 | uint8 |
---|
2251 | }}} |
---|
2252 | {{{#!td align=left |
---|
2253 | Channel (center frequency) index |
---|
2254 | }}} |
---|
2255 | |---------------- |
---|
2256 | {{{#!td align=left |
---|
2257 | length |
---|
2258 | }}} |
---|
2259 | {{{#!td align=center |
---|
2260 | uint16 |
---|
2261 | }}} |
---|
2262 | {{{#!td align=left |
---|
2263 | Length in bytes of MPDU; includes MAC header, payload and FCS |
---|
2264 | }}} |
---|
2265 | |---------------- |
---|
2266 | {{{#!td align=left |
---|
2267 | num_slots |
---|
2268 | }}} |
---|
2269 | {{{#!td align=center |
---|
2270 | int16 |
---|
2271 | }}} |
---|
2272 | {{{#!td align=left |
---|
2273 | Number of backoff slots allotted prior to this transmission; may not have been used for initial Tx (attempt_number==1); A value of -1 in this field means no backoff occured |
---|
2274 | }}} |
---|
2275 | |---------------- |
---|
2276 | {{{#!td align=left |
---|
2277 | cw |
---|
2278 | }}} |
---|
2279 | {{{#!td align=center |
---|
2280 | uint16 |
---|
2281 | }}} |
---|
2282 | {{{#!td align=left |
---|
2283 | Contention window value at time of this Tx |
---|
2284 | }}} |
---|
2285 | |---------------- |
---|
2286 | {{{#!td align=left |
---|
2287 | pkt_type |
---|
2288 | }}} |
---|
2289 | {{{#!td align=center |
---|
2290 | uint8 |
---|
2291 | }}} |
---|
2292 | {{{#!td align=left |
---|
2293 | Packet type, (first frame control byte of 802.11 header) |
---|
2294 | |
---|
2295 | Constants defined for this field: |
---|
2296 | ||= Name =||= Value =|| |
---|
2297 | || {{{DEAUTH}}} || {{{0xC0}}} || |
---|
2298 | || {{{BLOCK_ACK}}} || {{{0x94}}} || |
---|
2299 | || {{{CTS}}} || {{{0xC4}}} || |
---|
2300 | || {{{ACK}}} || {{{0xD4}}} || |
---|
2301 | || {{{AUTH}}} || {{{0xB0}}} || |
---|
2302 | || {{{BEACON}}} || {{{0x80}}} || |
---|
2303 | || {{{DISASSOC}}} || {{{0xA0}}} || |
---|
2304 | || {{{NULLDATA}}} || {{{0x48}}} || |
---|
2305 | || {{{REASSOC_REQ}}} || {{{0x20}}} || |
---|
2306 | || {{{DATA}}} || {{{0x8}}} || |
---|
2307 | || {{{BLOCK_ACK_REQ}}} || {{{0x84}}} || |
---|
2308 | || {{{PROBE_REQ}}} || {{{0x40}}} || |
---|
2309 | || {{{PROBE_RESP}}} || {{{0x50}}} || |
---|
2310 | || {{{QOSDATA}}} || {{{0x88}}} || |
---|
2311 | || {{{REASSOC_RESP}}} || {{{0x30}}} || |
---|
2312 | || {{{ASSOC_RESP}}} || {{{0x10}}} || |
---|
2313 | || {{{ASSOC_REQ}}} || {{{0x0}}} || |
---|
2314 | || {{{RTS}}} || {{{0xB4}}} || |
---|
2315 | || {{{ACTION}}} || {{{0xD0}}} || |
---|
2316 | |
---|
2317 | }}} |
---|
2318 | |---------------- |
---|
2319 | {{{#!td align=left |
---|
2320 | flags |
---|
2321 | }}} |
---|
2322 | {{{#!td align=center |
---|
2323 | uint8 |
---|
2324 | }}} |
---|
2325 | {{{#!td align=left |
---|
2326 | 1-bit Flags |
---|
2327 | |
---|
2328 | Constants defined for this field: |
---|
2329 | ||= Name =||= Value =|| |
---|
2330 | || {{{RECEIVED_RESPONSE}}} || {{{0x1}}} || |
---|
2331 | || {{{LTG_PYLD}}} || {{{0x80}}} || |
---|
2332 | || {{{LTG}}} || {{{0x40}}} || |
---|
2333 | |
---|
2334 | }}} |
---|
2335 | |---------------- |
---|
2336 | {{{#!td align=left |
---|
2337 | timestamp_frac |
---|
2338 | }}} |
---|
2339 | {{{#!td align=center |
---|
2340 | uint8 |
---|
2341 | }}} |
---|
2342 | {{{#!td align=left |
---|
2343 | Fractional part of Tx timestamp (units of 6.25ns) |
---|
2344 | }}} |
---|
2345 | |---------------- |
---|
2346 | {{{#!td align=left |
---|
2347 | phy_samp_rate |
---|
2348 | }}} |
---|
2349 | {{{#!td align=center |
---|
2350 | uint8 |
---|
2351 | }}} |
---|
2352 | {{{#!td align=left |
---|
2353 | PHY Sampling Rate Mode |
---|
2354 | }}} |
---|
2355 | |---------------- |
---|
2356 | {{{#!td align=left |
---|
2357 | attempt_number |
---|
2358 | }}} |
---|
2359 | {{{#!td align=center |
---|
2360 | uint16 |
---|
2361 | }}} |
---|
2362 | {{{#!td align=left |
---|
2363 | Transmission index for this attempt, starting at 1 (1 = first Tx) |
---|
2364 | }}} |
---|
2365 | |---------------- |
---|
2366 | {{{#!td align=left |
---|
2367 | reserved1 |
---|
2368 | }}} |
---|
2369 | {{{#!td align=center |
---|
2370 | uint16 |
---|
2371 | }}} |
---|
2372 | {{{#!td align=left |
---|
2373 | |
---|
2374 | }}} |
---|
2375 | |---------------- |
---|
2376 | {{{#!td align=left |
---|
2377 | mac_payload_len |
---|
2378 | }}} |
---|
2379 | {{{#!td align=center |
---|
2380 | uint32 |
---|
2381 | }}} |
---|
2382 | {{{#!td align=left |
---|
2383 | Length in bytes of MAC payload recorded in log for this packet |
---|
2384 | }}} |
---|
2385 | |---------------- |
---|
2386 | {{{#!td align=left |
---|
2387 | mac_payload |
---|
2388 | }}} |
---|
2389 | {{{#!td align=center |
---|
2390 | 44uint8 |
---|
2391 | }}} |
---|
2392 | {{{#!td align=left |
---|
2393 | First 44 bytes of MAC payload: the 802.11 MAC header, LLC header, Packet ID, LTG ID |
---|
2394 | }}} |
---|
2395 | |---------------- |
---|
2396 | |
---|
2397 | |
---|
2398 | The following fields are populated when the log entry is part of a numpy array generated via the {{{generate_numpy_array}}} method. These fields are calculated from the underlying bytes in the raw log entries and are stored in more convenient formats tha the raw log fields. For example, these MAC address fields are 48-bit values stored in 64-bit integers. These integer addresses are much easier to use when filtering Tx/Rx log entries using numpy and pandas. |
---|
2399 | |
---|
2400 | {{{#!th align=center |
---|
2401 | Field Name |
---|
2402 | }}} |
---|
2403 | {{{#!th align=center |
---|
2404 | Data Type |
---|
2405 | }}} |
---|
2406 | {{{#!th align=center |
---|
2407 | Description |
---|
2408 | }}} |
---|
2409 | |---------------- |
---|
2410 | {{{#!td align=left |
---|
2411 | addr1 |
---|
2412 | }}} |
---|
2413 | {{{#!td align=center |
---|
2414 | uint64 |
---|
2415 | }}} |
---|
2416 | {{{#!td align=left |
---|
2417 | MAC Header Address 1 |
---|
2418 | }}} |
---|
2419 | |---------------- |
---|
2420 | {{{#!td align=left |
---|
2421 | addr2 |
---|
2422 | }}} |
---|
2423 | {{{#!td align=center |
---|
2424 | uint64 |
---|
2425 | }}} |
---|
2426 | {{{#!td align=left |
---|
2427 | MAC Header Address 2 |
---|
2428 | }}} |
---|
2429 | |---------------- |
---|
2430 | {{{#!td align=left |
---|
2431 | addr3 |
---|
2432 | }}} |
---|
2433 | {{{#!td align=center |
---|
2434 | uint64 |
---|
2435 | }}} |
---|
2436 | {{{#!td align=left |
---|
2437 | MAC Header Address 3 |
---|
2438 | }}} |
---|
2439 | |---------------- |
---|
2440 | {{{#!td align=left |
---|
2441 | mac_seq |
---|
2442 | }}} |
---|
2443 | {{{#!td align=center |
---|
2444 | uint16 |
---|
2445 | }}} |
---|
2446 | {{{#!td align=left |
---|
2447 | MAC Header Sequence Number |
---|
2448 | }}} |
---|
2449 | |---------------- |
---|
2450 | {{{#!td align=left |
---|
2451 | ltg_uniq_seq |
---|
2452 | }}} |
---|
2453 | {{{#!td align=center |
---|
2454 | uint64 |
---|
2455 | }}} |
---|
2456 | {{{#!td align=left |
---|
2457 | Unique sequence number for LTG packet |
---|
2458 | }}} |
---|
2459 | |---------------- |
---|
2460 | {{{#!td align=left |
---|
2461 | ltg_flow_id |
---|
2462 | }}} |
---|
2463 | {{{#!td align=center |
---|
2464 | uint64 |
---|
2465 | }}} |
---|
2466 | {{{#!td align=left |
---|
2467 | LTG Flow ID, calculated as: |
---|
2468 | 16LSB: LTG instance ID |
---|
2469 | 48MSB: Destination MAC address |
---|
2470 | }}} |
---|
2471 | |---------------- |
---|
2472 | |
---|