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