• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OpenThread CLI - History Tracker
2
3History Tracker module records history of different events (e.g., RX and TX IPv6 messages or network info changes, etc.) as the Thread network operates. All tracked entries are timestamped.
4
5All commands under `history` require `OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE` feature to be enabled.
6
7The number of entries recorded for each history list is configurable through a set of OpenThread config options, e.g. `OPENTHREAD_CONFIG_HISTORY_TRACKER_NET_INFO_LIST_SIZE` specifies the number of entries in Network Info history list. The History Tracker will keep the most recent entries overwriting oldest one when the list gets full.
8
9## Command List
10
11Usage : `history [command] ...`
12
13- [help](#help)
14- [ipaddr](#ipaddr)
15- [ipmaddr](#ipmaddr)
16- [neighbor](#neighbor)
17- [netinfo](#netinfo)
18- [prefix](#prefix)
19- [route](#route)
20- [rx](#rx)
21- [rxtx](#rxtx)
22- [tx](#tx)
23
24## Timestamp Format
25
26Recorded entries are timestamped. When the history list is printed, the timestamps are shown relative the time the command was issues (i.e., when the list was printed) indicating how long ago the entry was recorded.
27
28```bash
29> history netinfo
30| Age                  | Role     | Mode | RLOC16 | Partition ID |
31+----------------------+----------+------+--------+--------------+
32|         02:31:50.628 | leader   | rdn  | 0x2000 |    151029327 |
33|         02:31:53.262 | detached | rdn  | 0xfffe |            0 |
34|         02:31:54.663 | detached | rdn  | 0x2000 |            0 |
35Done
36```
37
38For example `02:31:50.628` indicates the event was recorded "2 hours, 31 minutes, 50 seconds, and 628 milliseconds ago". Number of days is added for events that are older than 24 hours, e.g., `1 day 11:25:31.179`, or `31 days 03:00:23.931`.
39
40Timestamps use millisecond accuracy and are tacked up to 49 days. If the event is older than 49 days, the entry is still tracked in the list but the timestamp is shown as `more than 49 days`.
41
42## Command Details
43
44### help
45
46Usage: `history help`
47
48Print SRP client help menu.
49
50```bash
51> history help
52help
53ipaddr
54ipmaddr
55neighbor
56netinfo
57prefix
58route
59rx
60rxtx
61tx
62Done
63>
64```
65
66### ipaddr
67
68Usage `history ipaddr [list] [<num-entries>]`
69
70Print the unicast IPv6 address history. Each entry provides:
71
72- Event: Added or Removed.
73- Address: Unicast address along with its prefix length (in bits).
74- Origin: thread, slaac, dhcp6, or manual.
75- Address Scope.
76- Flags: Preferred, Valid, and RLOC (whether the address is RLOC).
77
78Print the unicast IPv6 address history as table.
79
80```bash
81> history ipaddr
82| Age                  | Event   | Address / PrefixLength                      | Origin |Scope| P | V | R |
83+----------------------+---------+---------------------------------------------+--------+-----+---+---+---+
84|         00:00:04.991 | Removed | 2001:dead:beef:cafe:c4cb:caba:8d55:e30b/64  | slaac  |  14 | Y | Y | N |
85|         00:00:44.647 | Added   | 2001:dead:beef:cafe:c4cb:caba:8d55:e30b/64  | slaac  |  14 | Y | Y | N |
86|         00:01:07.199 | Added   | fd00:0:0:0:0:0:0:1/64                       | manual |  14 | Y | Y | N |
87|         00:02:17.885 | Added   | fdde:ad00:beef:0:0:ff:fe00:fc00/64          | thread |   3 | N | Y | N |
88|         00:02:17.885 | Added   | fdde:ad00:beef:0:0:ff:fe00:5400/64          | thread |   3 | N | Y | Y |
89|         00:02:20.107 | Removed | fdde:ad00:beef:0:0:ff:fe00:5400/64          | thread |   3 | N | Y | Y |
90|         00:02:21.575 | Added   | fdde:ad00:beef:0:0:ff:fe00:5400/64          | thread |   3 | N | Y | Y |
91|         00:02:21.575 | Added   | fdde:ad00:beef:0:ecea:c4fc:ad96:4655/64     | thread |   3 | N | Y | N |
92|         00:02:23.904 | Added   | fe80:0:0:0:3c12:a4d2:fbe0:31ad/64           | thread |   2 | Y | Y | N |
93Done
94```
95
96Print the unicast IPv6 address history as a list (the last 5 entries).
97
98```bash
99> history ipaddr list 5
10000:00:20.327 -> event:Removed address:2001:dead:beef:cafe:c4cb:caba:8d55:e30b prefixlen:64 origin:slaac scope:14 preferred:yes valid:yes rloc:no
10100:00:59.983 -> event:Added address:2001:dead:beef:cafe:c4cb:caba:8d55:e30b prefixlen:64 origin:slaac scope:14 preferred:yes valid:yes rloc:no
10200:01:22.535 -> event:Added address:fd00:0:0:0:0:0:0:1 prefixlen:64 origin:manual scope:14 preferred:yes valid:yes rloc:no
10300:02:33.221 -> event:Added address:fdde:ad00:beef:0:0:ff:fe00:fc00 prefixlen:64 origin:thread scope:3 preferred:no valid:yes rloc:no
10400:02:33.221 -> event:Added address:fdde:ad00:beef:0:0:ff:fe00:5400 prefixlen:64 origin:thread scope:3 preferred:no valid:yes rloc:yes
105Done
106```
107
108### ipmaddr
109
110Usage `history ipmaddr [list] [<num-entries>]`
111
112Print the multicast IPv6 address history. Each entry provides:
113
114- Event: Subscribed or Unsubscribed.
115- Address: Multicast address.
116- Origin: Thread, or Manual.
117
118Print the multicast IPv6 address history as table.
119
120```bash
121> history ipmaddr
122| Age                  | Event        | Multicast Address                       | Origin |
123+----------------------+--------------+-----------------------------------------+--------+
124|         00:00:08.592 | Unsubscribed | ff05:0:0:0:0:0:0:1                      | Manual |
125|         00:01:25.353 | Subscribed   | ff05:0:0:0:0:0:0:1                      | Manual |
126|         00:01:54.953 | Subscribed   | ff03:0:0:0:0:0:0:2                      | Thread |
127|         00:01:54.953 | Subscribed   | ff02:0:0:0:0:0:0:2                      | Thread |
128|         00:01:59.329 | Subscribed   | ff33:40:fdde:ad00:beef:0:0:1            | Thread |
129|         00:01:59.329 | Subscribed   | ff32:40:fdde:ad00:beef:0:0:1            | Thread |
130|         00:02:01.129 | Subscribed   | ff03:0:0:0:0:0:0:fc                     | Thread |
131|         00:02:01.129 | Subscribed   | ff03:0:0:0:0:0:0:1                      | Thread |
132|         00:02:01.129 | Subscribed   | ff02:0:0:0:0:0:0:1                      | Thread |
133Done
134```
135
136Print the multicast IPv6 address history as a list.
137
138```bash
139> history ipmaddr list
14000:00:25.447 -> event:Unsubscribed address:ff05:0:0:0:0:0:0:1 origin:Manual
14100:01:42.208 -> event:Subscribed address:ff05:0:0:0:0:0:0:1 origin:Manual
14200:02:11.808 -> event:Subscribed address:ff03:0:0:0:0:0:0:2 origin:Thread
14300:02:11.808 -> event:Subscribed address:ff02:0:0:0:0:0:0:2 origin:Thread
14400:02:16.184 -> event:Subscribed address:ff33:40:fdde:ad00:beef:0:0:1 origin:Thread
14500:02:16.184 -> event:Subscribed address:ff32:40:fdde:ad00:beef:0:0:1 origin:Thread
14600:02:17.984 -> event:Subscribed address:ff03:0:0:0:0:0:0:fc origin:Thread
14700:02:17.984 -> event:Subscribed address:ff03:0:0:0:0:0:0:1 origin:Thread
14800:02:17.984 -> event:Subscribed address:ff02:0:0:0:0:0:0:1 origin:Thread
149Done
150```
151
152### neighbor
153
154Usage `history neighbor [list] [<num-entries>]`
155
156Print the neighbor table history. Each entry provides:
157
158- Type: Child or Router
159- Event: Added, Removed, Changed (e.g., mode change).
160- Extended Address
161- RLOC16
162- MLE Link Mode
163- Average RSS (in dBm) of received frames from neighbor at the time the entry was recorded
164
165Print the neighbor history as a table.
166
167```bash
168> history neighbor
169| Age                  | Type   | Event     | Extended Address | RLOC16 | Mode | Ave RSS |
170+----------------------+--------+-----------+------------------+--------+------+---------+
171|         00:00:29.233 | Child  | Added     | ae5105292f0b9169 | 0x8404 | -    |     -20 |
172|         00:01:38.368 | Child  | Removed   | ae5105292f0b9169 | 0x8401 | -    |     -20 |
173|         00:04:27.181 | Child  | Changed   | ae5105292f0b9169 | 0x8401 | -    |     -20 |
174|         00:04:51.236 | Router | Added     | 865c7ca38a5fa960 | 0x9400 | rdn  |     -20 |
175|         00:04:51.587 | Child  | Removed   | 865c7ca38a5fa960 | 0x8402 | rdn  |     -20 |
176|         00:05:22.764 | Child  | Changed   | ae5105292f0b9169 | 0x8401 | rn   |     -20 |
177|         00:06:40.764 | Child  | Added     | 4ec99efc874a1841 | 0x8403 | r    |     -20 |
178|         00:06:44.060 | Child  | Added     | 865c7ca38a5fa960 | 0x8402 | rdn  |     -20 |
179|         00:06:49.515 | Child  | Added     | ae5105292f0b9169 | 0x8401 | -    |     -20 |
180Done
181```
182
183Print the neighbor history as a list.
184
185```bash
186
187> history neighbor list
18800:00:34.753 -> type:Child event:Added extaddr:ae5105292f0b9169 rloc16:0x8404 mode:- rss:-20
18900:01:43.888 -> type:Child event:Removed extaddr:ae5105292f0b9169 rloc16:0x8401 mode:- rss:-20
19000:04:32.701 -> type:Child event:Changed extaddr:ae5105292f0b9169 rloc16:0x8401 mode:- rss:-20
19100:04:56.756 -> type:Router event:Added extaddr:865c7ca38a5fa960 rloc16:0x9400 mode:rdn rss:-20
19200:04:57.107 -> type:Child event:Removed extaddr:865c7ca38a5fa960 rloc16:0x8402 mode:rdn rss:-20
19300:05:28.284 -> type:Child event:Changed extaddr:ae5105292f0b9169 rloc16:0x8401 mode:rn rss:-20
19400:06:46.284 -> type:Child event:Added extaddr:4ec99efc874a1841 rloc16:0x8403 mode:r rss:-20
19500:06:49.580 -> type:Child event:Added extaddr:865c7ca38a5fa960 rloc16:0x8402 mode:rdn rss:-20
19600:06:55.035 -> type:Child event:Added extaddr:ae5105292f0b9169 rloc16:0x8401 mode:- rss:-20
197Done
198```
199
200### netinfo
201
202Usage `history netinfo [list] [<num-entries>]`
203
204Print the Network Info history. Each Network Info provides:
205
206- Device Role
207- MLE Link Mode
208- RLOC16
209- Partition ID
210
211Print the Network Info history as a table.
212
213```bash
214> history netinfo
215| Age                  | Role     | Mode | RLOC16 | Partition ID |
216+----------------------+----------+------+--------+--------------+
217|         00:00:10.069 | router   | rdn  | 0x6000 |    151029327 |
218|         00:02:09.337 | child    | rdn  | 0x2001 |    151029327 |
219|         00:02:09.338 | child    | rdn  | 0x2001 |    151029327 |
220|         00:07:40.806 | child    | -    | 0x2001 |    151029327 |
221|         00:07:42.297 | detached | -    | 0x6000 |            0 |
222|         00:07:42.968 | disabled | -    | 0x6000 |            0 |
223Done
224```
225
226Print the Network Info history as a list.
227
228```bash
229> history netinfo list
23000:00:59.467 -> role:router mode:rdn rloc16:0x6000 partition-id:151029327
23100:02:58.735 -> role:child mode:rdn rloc16:0x2001 partition-id:151029327
23200:02:58.736 -> role:child mode:rdn rloc16:0x2001 partition-id:151029327
23300:08:30.204 -> role:child mode:- rloc16:0x2001 partition-id:151029327
23400:08:31.695 -> role:detached mode:- rloc16:0x6000 partition-id:0
23500:08:32.366 -> role:disabled mode:- rloc16:0x6000 partition-id:0
236Done
237```
238
239Print only the latest 2 entries.
240
241```bash
242> history netinfo 2
243| Age                  | Role     | Mode | RLOC16 | Partition ID |
244+----------------------+----------+------+--------+--------------+
245|         00:02:05.451 | router   | rdn  | 0x6000 |    151029327 |
246|         00:04:04.719 | child    | rdn  | 0x2001 |    151029327 |
247Done
248```
249
250### prefix
251
252Usage `history prefix [list] [<num-entries>]`
253
254Print the Network Data on mesh prefix history. Each item provides:
255
256- Event (`Added` or `Removed`)
257- Prefix
258- Flags
259- Preference (`high`, `med`, `low`)
260- RLOC16
261
262The flags are as follows:
263
264- `p`: Preferred flag
265- `a`: Stateless IPv6 Address Autoconfiguration flag
266- `d`: DHCPv6 IPv6 Address Configuration flag
267- `c`: DHCPv6 Other Configuration flag
268- `r`: Default Route flag
269- `o`: On Mesh flag
270- `s`: Stable flag
271- `n`: Nd Dns flag
272- `D`: Domain Prefix flag
273
274Print the history as a table.
275
276```bash
277> history prefix
278| Age                  | Event   | Prefix                                      | Flags     | Pref | RLOC16 |
279+----------------------+---------+---------------------------------------------+-----------+------+--------+
280|         00:00:10.663 | Added   | fd00:1111:2222:3333::/64                    | paro      | med  | 0x5400 |
281|         00:01:02.054 | Removed | fd00:dead:beef:1::/64                       | paros     | high | 0x5400 |
282|         00:01:21.136 | Added   | fd00:abba:cddd:0::/64                       | paos      | med  | 0x5400 |
283|         00:01:45.144 | Added   | fd00:dead:beef:1::/64                       | paros     | high | 0x3c00 |
284|         00:01:50.944 | Added   | fd00:dead:beef:1::/64                       | paros     | high | 0x5400 |
285|         00:01:59.887 | Added   | fd00:dead:beef:1::/64                       | paros     | med  | 0x8800 |
286Done
287```
288
289Print the history as a list.
290
291```bash
292> history prefix list
29300:04:12.487 -> event:Added prefix:fd00:1111:2222:3333::/64 flags:paro pref:med rloc16:0x5400
29400:05:03.878 -> event:Removed prefix:fd00:dead:beef:1::/64 flags:paros pref:high rloc16:0x5400
29500:05:22.960 -> event:Added prefix:fd00:abba:cddd:0::/64 flags:paos pref:med rloc16:0x5400
29600:05:46.968 -> event:Added prefix:fd00:dead:beef:1::/64 flags:paros pref:high rloc16:0x3c00
29700:05:52.768 -> event:Added prefix:fd00:dead:beef:1::/64 flags:paros pref:high rloc16:0x5400
29800:06:01.711 -> event:Added prefix:fd00:dead:beef:1::/64 flags:paros pref:med rloc16:0x8800
299```
300
301### prefix
302
303Usage `history route [list] [<num-entries>]`
304
305Print the Network Data external route history. Each item provides:
306
307- Event (`Added` or `Removed`)
308- Route
309- Flags
310- Preference (`high`, `med`, `low`)
311- RLOC16
312
313The flags are as follows:
314
315- `s`: Stable flag
316- `n`: NAT64 flag
317
318Print the history as a table.
319
320```bash
321history route
322| Age                  | Event   | Route                                       | Flags     | Pref | RLOC16 |
323+----------------------+---------+---------------------------------------------+-----------+------+--------+
324|         00:00:05.456 | Removed | fd00:1111:0::/48                            | s         | med  | 0x3c00 |
325|         00:00:29.310 | Added   | fd00:1111:0::/48                            | s         | med  | 0x3c00 |
326|         00:00:42.822 | Added   | fd00:1111:0::/48                            | s         | med  | 0x5400 |
327|         00:01:27.688 | Added   | fd00:aaaa:bbbb:cccc::/64                    | s         | med  | 0x8800 |
328Done
329```
330
331Print the history as a list (last two entries).
332
333```bash
334> history route list 2
33500:00:48.704 -> event:Removed route:fd00:1111:0::/48 flags:s pref:med rloc16:0x3c00
33600:01:12.558 -> event:Added route:fd00:1111:0::/48 flags:s pref:med rloc16:0x3c00
337Done
338```
339
340### rx
341
342Usage `history rx [list] [<num-entries>]`
343
344Print the IPv6 message RX history in either table or list format. Entries provide same information and follow same format as in `history rxtx` command.
345
346Print the IPv6 message RX history as a table:
347
348```bash
349> history rx
350| Age                  | Type             | Len   | Chksum | Sec | Prio | RSS  |Dir | Neighb | Radio |
351+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
352|                      | UDP              |    50 | 0xbd26 |  no |  net |  -20 | RX | 0x4800 |  15.4 |
353|         00:00:07.640 | src: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
354|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
355+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
356|                      | HopOpts          |    44 | 0x0000 | yes | norm |  -20 | RX | 0x4800 |  15.4 |
357|         00:00:09.263 | src: [fdde:ad00:beef:0:0:ff:fe00:4800]:0                                    |
358|                      | dst: [ff03:0:0:0:0:0:0:2]:0                                                 |
359+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
360|                      | UDP              |    12 | 0x3f7d | yes |  net |  -20 | RX | 0x4800 |  15.4 |
361|         00:00:09.302 | src: [fdde:ad00:beef:0:0:ff:fe00:4800]:61631                                |
362|                      | dst: [fdde:ad00:beef:0:0:ff:fe00:4801]:61631                                |
363+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
364|                      | ICMP6(EchoReqst) |    16 | 0x942c | yes | norm |  -20 | RX | 0x4800 |  15.4 |
365|         00:00:09.304 | src: [fdde:ad00:beef:0:ac09:a16b:3204:dc09]:0                               |
366|                      | dst: [fdde:ad00:beef:0:dc0e:d6b3:f180:b75b]:0                               |
367+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
368|                      | HopOpts          |    44 | 0x0000 | yes | norm |  -20 | RX | 0x4800 |  15.4 |
369|         00:00:09.304 | src: [fdde:ad00:beef:0:0:ff:fe00:4800]:0                                    |
370|                      | dst: [ff03:0:0:0:0:0:0:2]:0                                                 |
371+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
372|                      | UDP              |    50 | 0x2e37 |  no |  net |  -20 | RX | 0x4800 |  15.4 |
373|         00:00:21.622 | src: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
374|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
375+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
376|                      | UDP              |    50 | 0xe177 |  no |  net |  -20 | RX | 0x4800 |  15.4 |
377|         00:00:26.640 | src: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
378|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
379+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
380|                      | UDP              |   165 | 0x82ee | yes |  net |  -20 | RX | 0x4800 |  15.4 |
381|         00:00:30.000 | src: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
382|                      | dst: [fe80:0:0:0:a4a5:bbac:a8e:bd07]:19788                                  |
383+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
384|                      | UDP              |    93 | 0x52df |  no |  net |  -20 | RX | unknwn |  15.4 |
385|         00:00:30.480 | src: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
386|                      | dst: [fe80:0:0:0:a4a5:bbac:a8e:bd07]:19788                                  |
387+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
388|                      | UDP              |    50 | 0x5ccf |  no |  net |  -20 | RX | unknwn |  15.4 |
389|         00:00:30.772 | src: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
390|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
391Done
392
393```
394
395Print the latest 5 entries of the IPv6 message RX history as a list:
396
397```bash
398> history rx list 4
39900:00:13.368
400    type:UDP len:50 cheksum:0xbd26 sec:no prio:net rss:-20 from:0x4800 radio:15.4
401    src:[fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788
402    dst:[ff02:0:0:0:0:0:0:1]:19788
40300:00:14.991
404    type:HopOpts len:44 cheksum:0x0000 sec:yes prio:norm rss:-20 from:0x4800 radio:15.4
405    src:[fdde:ad00:beef:0:0:ff:fe00:4800]:0
406    dst:[ff03:0:0:0:0:0:0:2]:0
40700:00:15.030
408    type:UDP len:12 cheksum:0x3f7d sec:yes prio:net rss:-20 from:0x4800 radio:15.4
409    src:[fdde:ad00:beef:0:0:ff:fe00:4800]:61631
410    dst:[fdde:ad00:beef:0:0:ff:fe00:4801]:61631
41100:00:15.032
412    type:ICMP6(EchoReqst) len:16 cheksum:0x942c sec:yes prio:norm rss:-20 from:0x4800 radio:15.4
413    src:[fdde:ad00:beef:0:ac09:a16b:3204:dc09]:0
414    dst:[fdde:ad00:beef:0:dc0e:d6b3:f180:b75b]:0
415Done
416```
417
418### rxtx
419
420Usage `history rxtx [list] [<num-entries>]`
421
422Print the combined IPv6 message RX and TX history in either table or list format. Each entry provides:
423
424- IPv6 message type: UDP, TCP, ICMP6 (and its subtype), etc.
425- IPv6 payload length (excludes the IPv6 header).
426- Source IPv6 address and port number.
427- Destination IPv6 address and port number (port number is valid for UDP/TCP, it is zero otherwise).
428- Whether or not link-layer security was used.
429- Message priority: low, norm, high, net (for Thread control messages).
430- Message checksum (valid for UDP, TCP, or ICMP6 message)
431- RSS: Received Signal Strength (in dBm) - averaged over all received fragment frames that formed the message. For TX history `NA` (not applicable) is used.
432- Whether the message was sent or received (`TX` or `RX`). A failed transmission (e.g., if tx was aborted or no ack from peer for any of the message fragments) is indicated with `TX-F` in the table format or `tx-success:no` in the list format.
433- Short address (RLOC16) of neighbor to/from which the message was sent/received. If the frame is broadcast, it is shown as `bcast` in table format or `0xffff` in the list format. If the short address of neighbor is not available, it is shown as `unknwn` in the table format or `0xfffe` in the list format.
434- Radio link on which the message was sent/received (useful when `OPENTHREAD_CONFIG_MULTI_RADIO` is enabled). Can be `15.4`, `trel`, or `all` (if sent on all radio links).
435
436Print the IPv6 message RX and TX history as a table:
437
438```bash
439> history rxtx
440| Age                  | Type             | Len   | Chksum | Sec | Prio | RSS  |Dir | Neighb | Radio |
441+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
442|                      | HopOpts          |    44 | 0x0000 | yes | norm |  -20 | RX | 0x0800 |  15.4 |
443|         00:00:09.267 | src: [fdde:ad00:beef:0:0:ff:fe00:800]:0                                     |
444|                      | dst: [ff03:0:0:0:0:0:0:2]:0                                                 |
445+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
446|                      | UDP              |    12 | 0x6c6b | yes |  net |  -20 | RX | 0x0800 |  15.4 |
447|         00:00:09.290 | src: [fdde:ad00:beef:0:0:ff:fe00:800]:61631                                 |
448|                      | dst: [fdde:ad00:beef:0:0:ff:fe00:801]:61631                                 |
449+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
450|                      | ICMP6(EchoReqst) |    16 | 0xc6a2 | yes | norm |  -20 | RX | 0x0800 |  15.4 |
451|         00:00:09.292 | src: [fdde:ad00:beef:0:efe8:4910:cf95:dee9]:0                               |
452|                      | dst: [fdde:ad00:beef:0:af4c:3644:882a:3698]:0                               |
453+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
454|                      | ICMP6(EchoReply) |    16 | 0xc5a2 | yes | norm |  NA  | TX | 0x0800 |  15.4 |
455|         00:00:09.292 | src: [fdde:ad00:beef:0:af4c:3644:882a:3698]:0                               |
456|                      | dst: [fdde:ad00:beef:0:efe8:4910:cf95:dee9]:0                               |
457+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
458|                      | UDP              |    50 | 0xaa0d | yes |  net |  NA  | TX | 0x0800 |  15.4 |
459|         00:00:09.294 | src: [fdde:ad00:beef:0:0:ff:fe00:801]:61631                                 |
460|                      | dst: [fdde:ad00:beef:0:0:ff:fe00:800]:61631                                 |
461+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
462|                      | HopOpts          |    44 | 0x0000 | yes | norm |  -20 | RX | 0x0800 |  15.4 |
463|         00:00:09.296 | src: [fdde:ad00:beef:0:0:ff:fe00:800]:0                                     |
464|                      | dst: [ff03:0:0:0:0:0:0:2]:0                                                 |
465+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
466|                      | UDP              |    50 | 0xc1d8 |  no |  net |  -20 | RX | 0x0800 |  15.4 |
467|         00:00:09.569 | src: [fe80:0:0:0:54d9:5153:ffc6:df26]:19788                                 |
468|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
469+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
470|                      | UDP              |    50 | 0x3cb1 |  no |  net |  -20 | RX | 0x0800 |  15.4 |
471|         00:00:16.519 | src: [fe80:0:0:0:54d9:5153:ffc6:df26]:19788                                 |
472|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
473+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
474|                      | UDP              |    50 | 0xeda0 |  no |  net |  -20 | RX | 0x0800 |  15.4 |
475|         00:00:20.599 | src: [fe80:0:0:0:54d9:5153:ffc6:df26]:19788                                 |
476|                      | dst: [ff02:0:0:0:0:0:0:1]:19788                                             |
477+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
478|                      | UDP              |   165 | 0xbdfa | yes |  net |  -20 | RX | 0x0800 |  15.4 |
479|         00:00:21.059 | src: [fe80:0:0:0:54d9:5153:ffc6:df26]:19788                                 |
480|                      | dst: [fe80:0:0:0:8893:c2cc:d983:1e1c]:19788                                 |
481+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
482|                      | UDP              |    64 | 0x1c11 |  no |  net |  NA  | TX | 0x0800 |  15.4 |
483|         00:00:21.062 | src: [fe80:0:0:0:8893:c2cc:d983:1e1c]:19788                                 |
484|                      | dst: [fe80:0:0:0:54d9:5153:ffc6:df26]:19788                                 |
485+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
486|                      | UDP              |    93 | 0xedff |  no |  net |  -20 | RX | unknwn |  15.4 |
487|         00:00:21.474 | src: [fe80:0:0:0:54d9:5153:ffc6:df26]:19788                                 |
488|                      | dst: [fe80:0:0:0:8893:c2cc:d983:1e1c]:19788                                 |
489+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
490|                      | UDP              |    44 | 0xd383 |  no |  net |  NA  | TX | bcast  |  15.4 |
491|         00:00:21.811 | src: [fe80:0:0:0:8893:c2cc:d983:1e1c]:19788                                 |
492|                      | dst: [ff02:0:0:0:0:0:0:2]:19788                                             |
493Done
494```
495
496Print the latest 5 entries of the IPv6 message RX history as a list:
497
498```bash
499> history rxtx list 5
500
50100:00:02.100
502    type:UDP len:50 cheksum:0xd843 sec:no prio:net rss:-20 from:0x0800 radio:15.4
503    src:[fe80:0:0:0:54d9:5153:ffc6:df26]:19788
504    dst:[ff02:0:0:0:0:0:0:1]:19788
50500:00:15.331
506    type:HopOpts len:44 cheksum:0x0000 sec:yes prio:norm rss:-20 from:0x0800 radio:15.4
507    src:[fdde:ad00:beef:0:0:ff:fe00:800]:0
508    dst:[ff03:0:0:0:0:0:0:2]:0
50900:00:15.354
510    type:UDP len:12 cheksum:0x6c6b sec:yes prio:net rss:-20 from:0x0800 radio:15.4
511    src:[fdde:ad00:beef:0:0:ff:fe00:800]:61631
512    dst:[fdde:ad00:beef:0:0:ff:fe00:801]:61631
51300:00:15.356
514    type:ICMP6(EchoReqst) len:16 cheksum:0xc6a2 sec:yes prio:norm rss:-20 from:0x0800 radio:15.4
515    src:[fdde:ad00:beef:0:efe8:4910:cf95:dee9]:0
516    dst:[fdde:ad00:beef:0:af4c:3644:882a:3698]:0
51700:00:15.356
518    type:ICMP6(EchoReply) len:16 cheksum:0xc5a2 sec:yes prio:norm tx-success:yes to:0x0800 radio:15.4
519    src:[fdde:ad00:beef:0:af4c:3644:882a:3698]:0
520    dst:[fdde:ad00:beef:0:efe8:4910:cf95:dee9]:0
521```
522
523### tx
524
525Usage `history tx [list] [<num-entries>]`
526
527Print the IPv6 message TX history in either table or list format. Entries provide same information and follow same format as in `history rxtx` command.
528
529Print the IPv6 message TX history as a table (10 latest entries):
530
531```bash
532> history tx
533| Age                  | Type             | Len   | Chksum | Sec | Prio | RSS  |Dir | Neighb | Radio |
534+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
535|                      | ICMP6(EchoReply) |    16 | 0x932c | yes | norm |  NA  | TX | 0x4800 |  15.4 |
536|         00:00:18.798 | src: [fdde:ad00:beef:0:dc0e:d6b3:f180:b75b]:0                               |
537|                      | dst: [fdde:ad00:beef:0:ac09:a16b:3204:dc09]:0                               |
538+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
539|                      | UDP              |    50 | 0xce87 | yes |  net |  NA  | TX | 0x4800 |  15.4 |
540|         00:00:18.800 | src: [fdde:ad00:beef:0:0:ff:fe00:4801]:61631                                |
541|                      | dst: [fdde:ad00:beef:0:0:ff:fe00:4800]:61631                                |
542+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
543|                      | UDP              |    64 | 0xf7ba |  no |  net |  NA  | TX | 0x4800 |  15.4 |
544|         00:00:39.499 | src: [fe80:0:0:0:a4a5:bbac:a8e:bd07]:19788                                  |
545|                      | dst: [fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788                                 |
546+----------------------+------------------+-------+--------+-----+------+------+----+--------+-------+
547|                      | UDP              |    44 | 0x26d4 |  no |  net |  NA  | TX | bcast  |  15.4 |
548|         00:00:40.256 | src: [fe80:0:0:0:a4a5:bbac:a8e:bd07]:19788                                  |
549|                      | dst: [ff02:0:0:0:0:0:0:2]:19788                                             |
550Done
551```
552
553Print the IPv6 message TX history as a list:
554
555```bash
556history tx list
55700:00:23.957
558    type:ICMP6(EchoReply) len:16 cheksum:0x932c sec:yes prio:norm tx-success:yes to:0x4800 radio:15.4
559    src:[fdde:ad00:beef:0:dc0e:d6b3:f180:b75b]:0
560    dst:[fdde:ad00:beef:0:ac09:a16b:3204:dc09]:0
56100:00:23.959
562    type:UDP len:50 cheksum:0xce87 sec:yes prio:net tx-success:yes to:0x4800 radio:15.4
563    src:[fdde:ad00:beef:0:0:ff:fe00:4801]:61631
564    dst:[fdde:ad00:beef:0:0:ff:fe00:4800]:61631
56500:00:44.658
566    type:UDP len:64 cheksum:0xf7ba sec:no prio:net tx-success:yes to:0x4800 radio:15.4
567    src:[fe80:0:0:0:a4a5:bbac:a8e:bd07]:19788
568    dst:[fe80:0:0:0:d03d:d3e7:cc5e:7cd7]:19788
56900:00:45.415
570    type:UDP len:44 cheksum:0x26d4 sec:no prio:net tx-success:yes to:0xffff radio:15.4
571    src:[fe80:0:0:0:a4a5:bbac:a8e:bd07]:19788
572    dst:[ff02:0:0:0:0:0:0:2]:19788
573Done
574```
575