Skip to content

Test IPv6 Hop Limit over three radio links

Name the address, route, and hop that dropped a packet by varying IPv6 Hop Limit across a measured RPL path.

Name the address, the route, and the hop that dropped it., your practice guide

Name the address, the route, and the hop that dropped it.
Predict the reading, then compare it with the measurement.

Contiki-NG Cooja

Third party Tool

Name the address, route, and hop that dropped a packet by varying IPv6 Hop Limit across a measured RPL path.

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-10-09.

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-ipv6-hop-limit.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-10-09; the tool may have moved on — the text steps are the contract.

  1. 1 Step 1

    Do
    Open the CSC in Cooja Network and trace the four mote IDs from sender 4 through relays 3 and 2 to root 1.
    You will see
    Run: seed 1; 50 m UDGM range; 40 m between adjacent motes. Serial: `642000 ID:3 HOP_READY node=3` Serial: `971000 ID:4 HOP_READY node=4` Radio messages: 14 cumulative frames at 20 s.
    Why it matters
    Meaning: The chain has three radio links from sender to sink before test payloads. Boundary: Geometry alone does not confirm route or receipt.
    Real Cooja window at step 1, showing Network, Radio messages, and Hop Limit evidence in Mote output.
    Step 1 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  2. 2 Step 2

    Do
    Click Start/Pause and inspect Mote output for the parent, HOP8 send, relay forwards, and root receipt.
    You will see
    Serial: `45549000 ID:4 -- Preferred parent: fe80::203:3:3:3 (last DTSN: 240)` Serial: `50972000 ID:4 HOP_SEND node=4 limit=8 payload=HOP8` Serial: `51000504 ID:3 [INFO: IPv6 ] Forwarding packet to next hop, dest: fd00::201:1:1:1` Serial: `51013760 ID:2 [INFO: IPv6 ] Forwarding packet to next hop, dest: fd00::201:1:1:1` Serial: `51047504 ID:1 [INFO: App ] Received request 'HOP8' from fd00::204:4:4:4`
    Why it matters
    Meaning: Limit 8 delivers across two intermediate relays. Boundary: One delivered packet does not establish the minimum limit.
    Real Cooja window at step 2, showing Network, Radio messages, and Hop Limit evidence in Mote output.
    Step 2 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  3. 3 Step 3

    Do
    Click Start/Pause and inspect Mote output for HOP1 and the relay ICMPv6 error.
    You will see
    Serial: `65973000 ID:4 HOP_SEND node=4 limit=1 payload=HOP1` Serial: `66007472 ID:3 [WARN: ICMPv6 ] Sending ICMPv6 ERROR message type 3 code 0 to fd00::204:4:4:4 from fd00::203:3:3:3` Observed: root 1 logged no HOP1 receipt.
    Why it matters
    Meaning: The first relay emitted Time Exceeded transit when the limit expired. Boundary: The controlled limit failure does not establish a broken radio link.
    Real Cooja window at step 3, showing Network, Radio messages, and Hop Limit evidence in Mote output.
    Step 3 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  4. 4 Step 4

    Do
    Click Start/Pause and inspect Mote output for HOP3 and the root receipt.
    You will see
    Serial: `80974000 ID:4 HOP_SEND node=4 limit=3 payload=HOP3` Serial: `81000504 ID:3 [INFO: IPv6 ] Forwarding packet to next hop, dest: fd00::201:1:1:1` Serial: `81022760 ID:2 [INFO: IPv6 ] Forwarding packet to next hop, dest: fd00::201:1:1:1` Serial: `81028232 ID:1 [INFO: App ] Received request 'HOP3' from fd00::204:4:4:4`
    Why it matters
    Meaning: Limit 3 delivers over the unchanged three-link path. Boundary: A future detour can require a different limit.
    Real Cooja window at step 4, showing Network, Radio messages, and Hop Limit evidence in Mote output.
    Step 4 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  5. 5 Step 5

    Do
    Click Start/Pause and compare Radio messages with the sink receipts in Mote output after all three sends.
    You will see
    Radio messages: 101 cumulative frames at 100 s, including RPL control and replies. Root: HOP8 at 51.047504 s and HOP3 at 81.028232 s. Relay 3: ICMPv6 type 3/code 0 at 66.007472 s.
    Why it matters
    Meaning: Radio traffic continued across the failed and successful test packets. Boundary: Cumulative frame totals do not isolate per-packet hop cost.
    Real Cooja window at step 5, showing Network, Radio messages, and Hop Limit evidence in Mote output.
    Step 5 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
  6. 6 Step 6

    Do
    Click Start/Pause and review Network, Radio messages, and Mote output against the raw headless summary.
    You will see
    Headless: `HOP_SUMMARY sent={"HOP8":8,"HOP1":1,"HOP3":3} received={"HOP8":1,"HOP3":1} forwarded=18` Headless: `TEST OK` Radio messages: 102 cumulative frames at 110 s.
    Why it matters
    Meaning: The sink accepted two chosen limits and the third expired. Boundary: The 18 forwarding logs include control and reply traffic.
    Real Cooja window at step 6, showing Network, Radio messages, and Hop Limit evidence in Mote output.
    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 packet starts with IPv6 Hop Limit 16 and crosses 12 routers before reaching a service. What should happen on a stable path?

    Return to the chapter’s knowledge check
  2. A sensor normally needs 12 routed hops to reach a cloud edge, and repair detours can add 5 hops. Which review conclusion is strongest?

    Return to the chapter’s knowledge check

Caution

This is simulated radio with fixed synthetic packets, not field data; the run does not prove route-loop freedom or a stable minimum limit under repair detours.

Return to TTL and Loop Prevention · Browse Labs