Thread Network Data contains information about Border Routers and other servers available in the Thread network. Border Routers and devices offering services register their information with the Leader. The Leader collects and structures this information within the Thread Network Data and distributes the information to all devices in the Thread Network.
Border Routers may register prefixes assigned to the Thread Network and prefixes that they offer routes for. Services may register any information relevant to the service itself.
Border Router and service information may be stable or temporary. Stable Thread Network Data is distributed to all devices, including Sleepy End Devices (SEDs). Temporary Network Data is distributed to all nodes except SEDs.
Generate and view new network configuration.
> dataset init new Done > dataset Active Timestamp: 1 Channel: 13 Channel Mask: 0x07fff800 Ext PAN ID: d63e8e3e495ebbc3 Mesh Local Prefix: fd3d:b50b:f96d:722d::/64 Network Key: dfd34f0f05cad978ec4e32b0413038ff Network Name: OpenThread-8f28 PAN ID: 0x8f28 PSKc: c23a76e98f1a6483639b1ac1271e2e27 Security Policy: 0, onrc Done
Commit new dataset to the Active Operational Dataset in non-volatile storage.
dataset commit active Done
Enable Thread interface
> ifconfig up Done > thread start Done
Observe IPv6 addresses assigned to the Thread inteface.
> ipaddr fd3d:b50b:f96d:722d:0:ff:fe00:fc00 fd3d:b50b:f96d:722d:0:ff:fe00:dc00 fd3d:b50b:f96d:722d:393c:462d:e8d2:db32 fe80:0:0:0:a40b:197f:593d:ca61 Done
Register an IPv6 prefix assigned to the Thread network.
> prefix add fd00:dead:beef:cafe::/64 paros Done > netdata register Done
Observe Thread Network Data.
> netdata show Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: Done
Observe IPv6 addresses assigned to the Thread interface.
> ipaddr fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa fd3d:b50b:f96d:722d:0:ff:fe00:fc00 fd3d:b50b:f96d:722d:0:ff:fe00:dc00 fd3d:b50b:f96d:722d:393c:462d:e8d2:db32 fe80:0:0:0:a40b:197f:593d:ca61 Done
Only the Network Key is required for a device to attach to a Thread network.
While not required, specifying the channel avoids the need to search across multiple channels, improving both latency and efficiency of the attach process.
After the device successfully attaches to a Thread network, the device will retrieve the complete Active Operational Dataset.
Create a partial Active Operational Dataset.
> dataset networkkey dfd34f0f05cad978ec4e32b0413038ff Done > dataset commit active Done
Enable Thread interface.
> ifconfig up Done > thread start Done
After attaching, observe Thread Network Data.
> netdata show Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: Done
Observe IPv6 addresses assigned to the Thread interface.
> ipaddr fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa fd3d:b50b:f96d:722d:0:ff:fe00:fc00 fd3d:b50b:f96d:722d:0:ff:fe00:dc00 fd3d:b50b:f96d:722d:393c:462d:e8d2:db32 fe80:0:0:0:a40b:197f:593d:ca61 Done
Usage: netdata help
Print netdata help menu.
> netdata help length maxlength publish register show steeringdata unpublish Done
Usage: netdata length
Get the current length of (number of bytes) Partition's Thread Network Data.
> netdata length 23 Done
Usage: netdata maxlength
Get the maximum observed length of the Thread Network Data since OT stack initialization or since the last call to netdata maxlength reset
.
> netdata maxlength 40 Done
Usage: netdata maxlength reset
Reset the tracked maximum length of the Thread Network Data.
> netdata maxlength reset Done
The Network Data Publisher provides mechanisms to limit the number of similar Service and/or Prefix (on-mesh prefix or external route) entries in the Thread Network Data by monitoring the Network Data and managing if or when to add or remove entries.
The Publisher requires OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
.
Publish DNS/SRP service entry.
This command requires OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
.
The following formats are available: :
netdata publish dnssrp anycast <seq-num>
to publish "DNS/SRP Service Anycast Address" with a given sequence number.netdata publish dnssrp unicast <address> <port>
to publish "DNS/SRP Service Unicast Address" with given address and port number info. The address/port info is included in Service TLV data.netdata publish dnssrp unicast <port>
to publish "DNS/SRP Service Unicast Address" with given port number and the device's mesh-local EID for the address. The address and port info is included in Server TLV data.A new call to netdata publish dnssrp [anycast|unicast] [...]
command will remove and replace any previous "DNS/SRP Service" entry that was being published (from earlier netdata publish dnssrp [...]
commands).
> netdata publish dnssrp anycast 1 Done > netdata publish dnssrp unicast fd00::1234 51525 Done > netdata publish dnssrp unicast 50152 Done
Publish an on-mesh prefix entry.
> netdata publish prefix fd00:1234:5678::/64 paos med Done
Publish an external route entry.
> netdata publish route fd00:1234:5678::/64 s high Done
Replace a previously published external route entry.
If there is no previously published external route matching old prefix, this command behaves similarly to netdata publish route
. If there is a previously published route entry, it will be replaced with the new prefix. In particular, if the old prefix was already added in the Network Data, the change to the new prefix is immediately reflected in the Network Data (i.e., old prefix is removed and the new prefix is added in the same Network Data registration request to leader). This ensures that route entries in the Network Data are not abruptly removed.
> netdata publish replace ::/0 fd00:1234:5678::/64 s high Done
Usage: netdata register
Register configured prefixes, routes, and services with the Leader.
> netdata register Done
Usage: netdata show [local] [-x]
Print entries in Network Data, on-mesh prefixes, external routes, services, and 6LoWPAN context information.
On-mesh prefixes are listed under Prefixes
header:
high
, med
, or low
External Routes are listed under Routes
header:
high
, med
, or low
Service entries are listed under Services
header:
6LoWPAN Context IDs are listed under Contexts
header:
c
if marked or -
otherwise).Print Network Data received from the Leader.
> netdata show Prefixes: fd00:dead:beef:cafe::/64 paros med a000 Routes: fd00:1234:0:0::/64 s med a000 fd00:4567:0:0::/64 s med 8000 Services: 44970 5d fddead00beef00007bad0069ce45948504d2 s a000 Contexts: fd00:dead:beef:cafe::/64 1 c Done
Print Network Data received from the Leader as hex-encoded TLVs.
> netdata show -x 08040b02174703140040fd00deadbeefcafe0504dc00330007021140 Done
Print local Network Data to sync with Leader.
> netdata show local Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: Done
Print local Network Data to sync with Leader as hex-encoded TLVs.
> netdata show local -x 08040b02174703140040fd00deadbeefcafe0504dc00330007021140 Done
Check whether the steering data includes a joiner.
number/length
.> netdata steeringdata check d45e64fa83f81cf7 Done > netdata steeringdata check 0xabc/12 Done > netdata steeringdata check 0xdef/12 Error 23: NotFound
This command unpublishes a previously published Network Data entry.
This command requires OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
.
Unpublishes DNS/SRP Service entry (available when OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
is enabled):
netdata unpublish dnssrp
to unpublish "DNS/SRP Service" entry (anycast or unciast).> netdata unpublish dnssrp Done
Unpublishes a previously published on-mesh prefix or external route entry.
> netdata unpublish fd00:1234:5678::/64 Done