RPL Objective Function Selection Workbench

Compare how OF0 and MRHOF-style evidence changes preferred-parent selection in RPL

animation
rpl
routing
protocols
6lowpan
objective-function
intermediate
A guided RPL objective-function workbench for independent learners exploring rank, path cost, ETX, parent switching, and hysteresis.
RPL routing Objective functions OF0 and MRHOF Parent choice

Choose the RPL parent by reading the objective-function evidence.

Change the scenario and objective lens to see why the same DIO neighborhood can produce a different preferred parent. The workbench keeps rank, ETX path cost, hysteresis, and loop checks visible together.

MRHOF ETXCurrent selection lens
Parent APreferred parent outcome
ETX 2.5Selected path evidence
Switch allowedHysteresis result

Objective function

The rule set that translates neighbor evidence into rank and preferred-parent decisions inside one RPL Instance.

Rank

A scalar distance from the DODAG root. Rank must progress away from the root so packets can avoid routing loops.

ETX path cost

Expected transmissions can be added along a path. A lower ETX path usually means fewer retransmissions.

Hysteresis

MRHOF can keep the current parent unless the better path improves by enough to avoid constant parent switching.

Candidate parents around node N5

N5 has heard DIO messages from nearby routers. It must choose one preferred parent for upward traffic toward the root.

Interactive RPL map showing a DODAG root, candidate parents, link ETX values, current parent, and selected parent.
Root or router Selected parent Rejected candidate Active evidence

Selection rule

Lowest ETX pathMRHOF compares additive path costs and applies hysteresis.

Loop guard

All usable parents progressCandidates must provide forward progress toward the root.

Parent set clue

2 alternatesGood alternates can stay in the parent set even when not preferred.

Candidate-parent table

Compare the evidence each DIO gives N5 before it chooses a preferred parent.

Candidate Rank evidence ETX path cost Guard Decision
Select a scenario to inspect the parent-choice formula.

OF0

Objective Function Zero seeks a nearby grounded root and uses rank increase from the selected parent. This page uses a fixed rank-stretch teaching model for visibility.

MRHOF

Minimum Rank with Hysteresis Objective Function selects lower additive path cost, commonly ETX, while avoiding excessive churn.

DIO evidence

DIO messages carry DODAG configuration, including the Objective Code Point, rank, and metric-container context used by the instance.

Loop safety

A tempting low-cost neighbor is not usable if it is a descendant, lacks a valid path to the root, or violates implementation constraints.

First task

  1. Use the stable scenario with MRHOF.
  2. Switch to OF0 and check whether the parent changes.
  3. Explain why both lenses agree when link quality is similar.

Compare objectives

  1. Open the lossy shortcut scenario.
  2. Predict whether rank or ETX should dominate.
  3. Use the table to defend the selected parent.

Check hysteresis

  1. Open the near-tie scenario.
  2. Move the threshold slider down and up.
  3. Notice when MRHOF holds the current parent.
Technical accuracy notes

Teaching simplification

The OF0 view here uses a fixed `parent rank + 256` stretch so learners can see a hop-like decision. RFC 6552 allows the step of rank to reflect link properties, so OF0 is not always a pure hop-count algorithm.

MRHOF model

The MRHOF view uses additive ETX as the selected metric. The full RFC also defines parent-set behavior, rank conversion, maximum path cost, and several implementation constants.

What rank means

Rank approximates distance from the DODAG root and supports loop avoidance. Exact rank values depend on RPL configuration, objective function, MinHopRankIncrease, and local policy.

Primary sources and related learning