-
This is a command from the OTBR: $ sudo ot-ctl router table Why is the Extended MAC for RLOC16=0xf400 zero? If I look at the Matter Thread Diagnostic cluster for a Matter over Thread device, I can see that the ExtAddress for RLOC16=0xf400 is 2F7F772DD562B40. However the ExtAddress for RLOC16=CC00 is now zero (which in the router table above is f68cb5fab39b3e14). Why does the router tables contain entries with zero for the ExtAddress? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
The router table contains entries for all active routers in the Thread partition. A router will only learn the Extended MAC Address of neighboring routers. A router will not learn the Extended MAC for routers that are multiple hops away. |
Beta Was this translation helpful? Give feedback.
-
In the example above the entry with ExtAddress equal to zero is the Open Thread Border Router node on which I issued the " ot-ctl router table" command. Why shouldn't it know it's own Extended MAC address? The OTBR node also know the Extended MAC address for Matter NodeId 7, which is furthest away from the OTBR. |
Beta Was this translation helpful? Give feedback.
Because it does not establish a link with itself. 😃
The last column, "Link," indicates the neighboring router with which the device has a link. The
router table
provides information from the router table, which tracks all allocated routers from the "Router ID mask" and any neighboring routers with which the device has established a link.Other APIs are available to get the device's extended address; using the router table for this is unnecessary (and incorrect).
To learn information (e.g., diagnostic information) from other nodes within the mesh (even those multiple hops away), you can use the
meshdiag
commands, for example,meshdiag topology
.