Test a three-floor RPL network design
Test router and leaf roles, parent Rank and root-held routes before accepting a downward path to a floor-two actuator.

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 ToolTest router and leaf roles, parent Rank and root-held routes before accepting a downward path to a floor-two actuator.
Download 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
- Run the CSC to 180 s. Identify root 1, paired floor routers 2–7 and leaf-only motes 8–10 in Network.
- You will see
- Root 1 is green, routers are yellow, and leaves are magenta. The leaves do not appear as parents of other nodes.
- Why it matters
- Mains and battery roles must be an explicit design decision. Leaf-only firmware prevents the battery-role motes from silently becoming relays.

Step 1 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 2
- Do
- Filter Mote output for ^-- DAG root$|^-- MOP:. Compare root, actuator and floor-router state.
- You will see
- Mote 1 reports DAG root; root and sampled nodes report Non-storing.
- Why it matters
- The mode determines where downward state lives. It must fit upward telemetry and occasional downward commands, not just node count.

Step 2 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 3
- Do
- Filter for ^-- fd00::(208|209|20a). Read the root’s route links for the three leaves.
- You will see
- Root state maps leaves 8 and 9 through router 3, and leaf 10 through router 5.
- Why it matters
- DAO-derived root-held links are needed for the Non-storing downward path. A parent diagram alone is insufficient.

Step 3 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 4
- Do
- Filter for ^fe80::20[23].*=>. Check floor-two router 4’s upstream candidate and compare the README tie worksheet.
- You will see
- Router 4’s candidate 2 advertises Rank 256 with link metric 135, giving candidate Rank 391.
- Why it matters
- Actual Rank follows the objective function and link evidence, not floor height. A worksheet tie needs explicit stability or hysteresis evidence before choosing.
391 candidate row is visible. The orange ring marks the evidence; the numbered badge is outside it." loading="lazy">Step 4 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 5
- Do
- Filter for Received ping reply from fd00::209. Check the root-initiated probe to the floor-two actuator-role mote 9.
- You will see
- Root 1 receives the reply at 140.140 s, len 4, ttl 63, delay 75 ms.
- Why it matters
- This probes a real downward packet and its return, alongside ordinary upward telemetry. It proves an ICMP path, not actuator mechanics or command authorization.

Step 5 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 6
- Do
- Filter for ^-- Preferred parent|^-- Rank:. Record the final sampled parents and complete the README role, traffic, mode and validation table.
- You will see
- The root Rank is 128; actuator-role mote 9 has parent 3 and Rank 402; floor-two router 4 has parent 2 and Rank 391. The full log has 130 root receptions from all nine clients and replies to all nine.
- Why it matters
- The design can be accepted for these measured mesh paths, with explicit limits for power, memory, external routing, security and future link changes.

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 greenhouse mesh sends sensor readings upward and sends valve commands downward to selected controllers. What is the strongest review habit?
Return to the chapter’s knowledge checkA greenhouse mesh uses RPL Non-Storing mode so the root can send irrigation-valve schedule updates to bed controllers. The team has DAO logs for one controller and wants to declare the command path proven. What should the reviewer require next?
Return to the chapter’s knowledge check