## 4 The Dual-Radio Interface Routing Protocol for LLNs
### Parent Selection and Rank Computation  
During an OF call, the path cost through every member of the candidate neighbor set is first computed by adding two components, that is: (1) the normalized metric towards a candidate neighbor (in 16-bit representation; when using ETX, this means the metric is multiplied by a factor of 128); and (2) the normalized metric reported by that candidate neighbor in the DAG Metric Container option of its DIOs, or (as in our case) the rank advertised by the candidate neighbor when using ETX.  
The normalized metric is set to the inferred metric of the preferred interface towards the given neighbor, that is if all its interfaces are available. Otherwise, its normalized metric is increasingly skewed towards a large constant value for every unavailable interface. More specifically, metric normalization is a two-step process consisting of: (1) calculating a normalization weight based on the number of unavailable interfaces towards a neighbor, according to (2); and (2) calculating the actual normalized metric based on this weight, a constant scale multiplier, and the inferred metric of the preferred interface towards the neighbor, according to (3). Note that our solution can be applied to devices with any number of interfaces.  
\[W=min(I_{node}-VL,IL_{max})/IL_{div}\;, \tag{2}\]  
\[M_{norm}=(W\times S)+\left((1-W)\times M_{pref}\right)\;, \tag{3}\]  
where:  
\begin{tabular}{l|l} \(W\) & the virtual link metric normalization weight; \\ \(I_{node}\) & the number of interfaces per node; \\ \(VL\) & the number of valid physical links towards a given neighbor; \\ \(IL_{max}\) & the max number of invalid physical links towards any neighbor, must \\  & be \(\geq 0\) and \(<I_{node}\); \\ \(IL_{div}\) & a constant divider, must be \(>IL_{max}\); \\ \(M_{norm}\) & the normalized metric of the virtual link towards a given neighbor; \\ \(S\) & a constant scale multiplier; \\ \(M_{pref}\) & inferred metric of the preferred physical link towards a given neighbor. \\ \end{tabular}  
The rules for forming the parent set, determining the preferred parent, computing the rank to advertise, and determining which path cost to advertise (and how) are identical to the corresponding rules laid out for MRHOF by RFC 6719 [11]. Note that nodes must advertise the same rank across all their interfaces.  
Figure 5 shows an example of DRiPLOF operation. It assumes that: (1) IPv6 ND is not used; (2) we are using freshness probes (Appendix B); and (3) we are using ETX. When the root starts a DODAG, it broadcasts DIOs, including a Prefix Information Option (PIO), over all interfaces. Node #1 receives a DIO over its green interface and immediately sets it as preferred towards the root. Since #1 has not sent anything to the root yet, its green interface defaults to ETX = 3. However, as the blue physical link to the root is yet unknown, the normalized metric to the root is penalized (\(0.25\times 8+0.75\times 3=4.25\)). After preferred interface selection towards the root (which was mandatory because one of its inferred metrics \"changed\"), #1 joins the DODAG and picks the root as its preferred parent. Next, when a DIO arrives at #1 over the blue interface, its inferred metric also defaults to ETX = 3, and the normalized metric is no longer penalized. As #1 sends data to the root over its green interface and freshness probes (Appendix B) over both interfaces, the inferred metrics are updated continuously. Then, at a certain point, the green interface of #1 is jammed. At  
first, this causes a preferred interface switch. However, eventually, it leads to #1's green physical link (to the root) exceeding the metric threshold, meaning the normalized metric of the virtual link (to the root) is penalized.