Read the routes in your first RPL DODAG
Identify the selected next hop, test its reachability, and separate route-table evidence from end-to-end delivery.

Packet Pete — I check the next hop and the reply before trusting a route.
Predict the reading, then compare it with the measurement.
Contiki-NG Cooja
Third party ToolDownload the complete lab packet and follow README.md to run it in the free simulator.
Download the setup and run guideGet the lab files
Download the complete packet for the simulation and its firmware, or download individual files for inspection. README.md gives the setup and run commands.
Steps
Step 1
- Do
- Open the prepared CSC and let it stop at 90 seconds. Trace mote 4’s arrows toward root 1 in Network.
- You will see
- Input: run the 90 s seed-1 DODAG CSC and inspect mote 4’s parent. Observed: "64065000 ID:4 -- Preferred parent: fe80::202:2:2:2 (last DTSN: 240)" Expected: parent map 4→2→1; motes 5 and 6 use parent 3.
- Why it matters
- Meaning: The serial next hop and script summary agree with the Network arrows. Limit: A parent graph is routing state; later probes test reachability.

Step 1 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 2
- Do
- In Mote output, filter for ^-- (fd00|fe80)::204. Read the two addresses printed by ip-addr at 60.065 s.
- You will see
- Input: read mote 4 ip-addr output at 60.065 s. Observed: "60065000 ID:4 -- fd00::204:4:4:4" Observed: "60065000 ID:4 -- fe80::204:4:4:4" Expected: one fd00::/64 address and one fe80:: link-local address for mote 4.
- Why it matters
- Meaning: The two IPv6 addresses serve routed and one-link scopes. Limit: Neither address alone demonstrates a working end-to-end route.

Step 2 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 3
- Do
- In Cooja's Mote output window, filter for ^-- fe80::202.*lifetime|^-- Preferred parent|^-- Rank:. Match the default route to the parent arrow, then complete the README’s prefix worksheet.
- You will see
- Input: compare mote 4 default route, preferred parent and Rank. Observed: "61065000 ID:4 -- fe80::202:2:2:2 (lifetime: infinite)" Observed: "64065000 ID:4 -- Preferred parent: fe80::202:2:2:2 (last DTSN: 240)" Observed: "64065000 ID:4 -- Rank: 467" Expected: default next hop fe80::202:2:2:2 and Rank 467; worksheet order /24, /16, /8, /0.
- Why it matters
- Meaning: The default route agrees with RPL parent 2; longest prefix wins in the separate worksheet. Limit: The worksheet is a lookup model, not a route table installed by this simulation.

Step 3 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 4
- Do
- In Cooja's Mote output window, filter for Received ping reply from fe80. Check the scheduled ping to mote 4’s selected next hop.
- You will see
- Input: ping mote 4’s selected next hop. Observed: "65096120 ID:4 Received ping reply from fe80::202:2:2:2, len 4, ttl 64, delay 31 ms" Expected: one-hop reply from parent 2: len 4, TTL 64, delay 31 ms.
- Why it matters
- Meaning: The reply proves the selected neighbor responded during this run. Limit: One-hop ICMP does not establish the root or application return path.

Step 4 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 5
- Do
- In Cooja's Mote output window, filter for Received ping reply from fd00|^Timeout$. Compare the root ping at 70 s with the absent-destination ping at 76 s.
- You will see
- Input: compare root ping and the absent-destination timeout. Observed: "70263616 ID:4 Received ping reply from fd00::201:1:1:1, len 4, ttl 63, delay 198 ms" Observed: "81065000 ID:4 Timeout" Expected: root reply TTL 63, delay 198 ms; absent destination times out at 81.065 s.
- Why it matters
- Meaning: The root returned a two-hop ping while fd00::299:99:99:99 did not reply. Limit: A reachable parent cannot guarantee every destination or return path.

Step 5 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 6
- Do
- In Cooja's Mote output window, filter for Received request 'hello 7'|Received response 'hello 7'. Match each request’s mote address and payload with the returning response. Finish the README routing record.
- You will see
- Input: match a hello 7 request at root 1 with its client response. Observed: "89784568 ID:1 [INFO: App ] Received request 'hello 7' from fd00::203:3:3:3" Observed: "89810568 ID:3 [INFO: App ] Received response 'hello 7' from fd00::201:1:1:1" Expected: 31/31 requests received at root; responses reached all five clients.
- Why it matters
- Meaning: The matching application payload adds evidence beyond parent state and pings. Limit: This isolated mesh does not test Internet forwarding or production RF reliability.

Step 6 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
Chapter checks
These questions refer to the chapter’s examples. Use the return links to review their answers.
A sensor can ping its gateway, but cloud replies never return. What does the evidence prove?
Return to the chapter’s knowledge checkA sensor can ping its local gateway. Traceroute to an application endpoint shows the first hop as the gateway and then stops. Which finding best matches the evidence?
Return to the chapter’s knowledge check