Skip to content

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., your practice guide

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 Tool

Identify the selected next hop, test its reachability, and separate route-table evidence from end-to-end delivery.

Tier 2 · Free simulator · install required · No account

Version tested: Contiki-NG release/v4.9 c20b12cd, Cooja 4.8 (2022071901), Temurin 17.0.20.1, image sha256:b14d5afb0a2a852d9e72bbed607ead03f6ccc5f4d4dee44f0799110be2f4b609. Date: 2026-09-10.

Download the complete lab packet and follow README.md to run it in the free simulator.

Download the setup and run guide

Get 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.

  • cooja-rpl-first-dodag.csc
  • README.md
  • expected-output.txt
  • lab-files.tar.gz

Steps

Screens captured against Contiki-NG Cooja Contiki-NG release/v4.9 c20b12cd, Cooja 4.8 (2022071901), Temurin 17.0.20.1, image sha256:b14d5afb0a2a852d9e72bbed607ead03f6ccc5f4d4dee44f0799110be2f4b609 on 2026-09-10; the tool may have moved on — the text steps are the contract.

  1. 1 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
    The parent chain is 4 → 2 → 1; motes 5 and 6 use parent 3.
    Why it matters
    A preferred-parent graph is the starting hypothesis for forwarding; the packet tests below check it.
    Step 1: Network shows all six motes and live parent arrows. The orange ring marks the evidence; the numbered badge is outside it.
    Step 1 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  2. 2 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
    Mote 4 has fd00::204:4:4:4 and fe80::204:4:4:4.
    Why it matters
    The shared fd00::/64 prefix and the link-local address serve different scopes. Neither address alone proves reachability.
    Step 2: The two actual IPv6 address rows are visible. The orange ring marks the evidence; the numbered badge is outside it.
    Step 2 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  3. 3 Step 3

    Do
    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
    Mote 4’s default route and preferred parent are fe80::202:2:2:2; its observed Rank is 467. The worksheet chooses /24, /16, /8, then /0.
    Why it matters
    A dynamic RPL default next hop and a longest-prefix lookup answer different questions. Prefix length wins before metric in the worksheet.
    Step 3: The default route, preferred parent and Rank rows are shown. The orange ring marks the evidence; the numbered badge is outside it.
    Step 3 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  4. 4 Step 4

    Do
    Filter for Received ping reply from fe80. Check the scheduled ping to mote 4’s selected next hop.
    You will see
    Mote 4 receives a reply from fe80::202:2:2:2: len 4, ttl 64, delay 31 ms.
    Why it matters
    A selected route needs a reachable next hop. This one-hop test is checked before the root test.
    Step 4: The actual neighbor ping reply includes its address, TTL and delay. The orange ring marks the evidence; the numbered badge is outside it.
    Step 4 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  5. 5 Step 5

    Do
    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
    The root reply has ttl 63 and delay 198 ms; the nonexistent fd00::299:99:99:99 destination times out at 81.065 s.
    Why it matters
    A working default next hop does not guarantee every destination or return path. The one-hop/two-hop TTL comparison is measured; the README traceroute worksheet is a separate model.
    Step 5: The successful root reply and later Timeout rows are visible. The orange ring marks the evidence; the numbered badge is outside it.
    Step 5 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  6. 6 Step 6

    Do
    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
    The displayed hello 7 exchanges include actual root receptions and client replies. The full log totals 31 requests received from all five clients, with replies reaching all five.
    Why it matters
    Application replies add evidence beyond a route table or ICMP probe. State that Internet forwarding and production RF reliability remain untested.
    Step 6: Real hello 7 request and response pairs appear in Mote output. The orange ring marks the evidence; the numbered badge is outside it.
    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.

  1. A sensor can ping its gateway, but cloud replies never return. What does the evidence prove?

    Return to the chapter’s knowledge check
  2. A 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

Caution

Use only the isolated simulation. Seed, firmware, shell logging and topology affect results. Do not install the worksheet routes on a production laptop network; a ping, parent arrow or route entry alone does not prove an application path.

Return to Routing in Low-Power IoT Networks · Browse Labs