OpenThread specifically supports dataset active -x for obtaining a hex-encoded Active Operational Dataset that can then be applied to another device with dataset set active.
16 bytes from fd00:abcd:1234:5678:1111:2222:3333:4444:
icmp_seq=1 hlim=64 time=10ms
1 packets transmitted, 1 packets received.
Packet loss = 0.0%.
That proves: Leader communicates with the Child through IPv6 over the Thread/6LoWPAN network.
6LoWPAN Communication Flow
10. Now configure UDP
This is where your screenshot becomes particularly useful.
Let's make:
Leader = UDP SERVER
Child = UDP CLIENT
Port = 12345
11. LEADER — UDP server
On the Leader:
udp open
Expected:
Done
Then:
udp bind :: 12345
Expected:
Done
This means:
IPv6 address = ::
UDP port = 12345
The :: means the unspecified IPv6 address, allowing the socket to accept traffic on the available IPv6 addresses. This is the standard OpenThread CLI UDP procedure.
You now have: LEADER UDP socket- port 12345
12. CHILD — UDP client
On Child:
udp open
Expected:
Done
You don't actually have to bind the Child for a simple send test.
dataset clear
dataset init new
dataset
dataset commit active
ifconfig up
thread start
state
ipaddr
dataset active -x
Then test the Child:
ping CHILD_IP
Then UDP server:
udp open
udp bind :: 12345
CHILD
Use the Leader's dataset:
dataset clear
ifconfig down
thread stop
Then:
dataset set active LEADER_DATASET_HEX
Then:
ifconfig up
thread start
Check:
state
ipaddr
Expected:
child
Then UDP:
udp open
Send to Leader:
udp send LEADER_IP 12345 Hello_Leader
16. Full two-way UDP setup
LEADER
dataset clear
dataset init new
dataset
dataset commit active
ifconfig up
thread start
state
ipaddr
dataset active -x
Copy the dataset.
Then:
udp open
udp bind :: 12345
CHILD
dataset clear
ifconfig down
thread stop
dataset set active LEADER_DATASET_HEX
ifconfig up
thread start
state
ipaddr
udp open
Then:
udp send LEADER_IP 12345 Hello_Leader
For reverse communication, on Child:
udp bind :: 12345
Then on Leader:
udp send CHILD_IP 12345 Hello_Child
17. Useful diagnostic commands
Purpose
Command
Show current Thread state
state
Show IPv6 addresses
ipaddr
Show current dataset
dataset
Get dataset as hex
dataset active -x
Create new network
dataset init new
Clear dataset
dataset clear
Commit dataset
dataset commit active
Bring IPv6 up
ifconfig up
Bring IPv6 down
ifconfig down
Start Thread
thread start
Stop Thread
thread stop
Show Thread neighbors
neighbor table
Show Thread network data
netdata show
Test IPv6 connectivity
ping <IPv6>
Open UDP socket
udp open
Bind UDP socket
udp bind :: 12345
Send UDP
udp send <IPv6> 12345 <message>
Close UDP
udp close
UDP help
udp help
Thread help
thread help
Dataset help
dataset help
The current OpenThread CLI reference lists these dataset and UDP operations, including dataset clear, dataset commit active, dataset init, udp open, udp bind, udp send, and udp close.