## 6 Simulation Results and Discussion
### DRiPLOF's Performance in the Face of External Stressors  
Finally, this section discusses the resilience of DRiPLOF against external stressors, as it was made clear by [PERSON] and [PERSON] [5] that RPL deals poorly with repeated local repairs caused by, e.g., jamming or external interference. Based on the evaluation metrics presented in Figure 10, the following observations can be made:  
1. The improved stability of DRiPLOF over POOF is significant, as shown by the number of parent changes (Note that, similar to end-to-end latency, the per-node number of parent changes may be kept artificially low if nodes are orphaned often. Nonetheless, if the time spent as an orphan is higher for a given solution while that solution also has a higher number of parent changes, that is a bad sign.) (Figure 10b) and time spent as an orphan (Figure 10d). These metrics indicate that DRiPLOF pays a much lower convergence penalty than POOF. That is, although the stability mechanism of POOF already causes more parent changes than DRiPLOF in baseline conditions, the difference is more pronounced here. Moreover, where previously the time spent as an orphan was similar, nodes now spend much more time as an orphan with POOF. This shows that POOF's lesser stability mechanism is not the only culprit, since that leads to more switching between actual parents, not to nodes emptying their parent set. This can be explained by the unavailable interface penalty being much more severe for POOF, which increases the chance of having to drop the preferred parent. This is most problematic for nodes close to the root, whom typically have small parent sets because of rank requirements. If those drop their preferred parent, there is a high chance of them needing to perform a local repair. Even worse, these nodes often have large sub-DODAGs, meaning a local repair has great potential for high convergence penalties [5]. To be fair, we could lower POOF's unavailable interface penalty, however not by such a quantity that its convergence penalty becomes trivial. Figure 9: Simulation results for the conditions free of cross-technology interference. **(a)** The end-to-end latency of upward data packets successfully received by the root. **(b)** The number of times a non-root node changed its preferred parent. **(c)** The ratio of data packets processed by the root to the number of \(T_{s}\) expiration events. **(d)** The time spent (by a non-root node) detached from the DODAG. **(e)** The energy spent (by a node) transmitting. **(f)** The median transmit energy versus the median packet loss for every simulation run. **(g)** The number of times a non-root node retransmitted a unicast packet. **(h)** Cumulative Distribution Function (CDF) of the time-weighted average path length. 2. DRiPLOF now outperforms all other OF/interface configurations. Especially noteworthy is the per-source PDR (Figure 10c), which was comparable between DRiPLOF, low-rate MRHOF, and POOF under baseline conditions, but only remained relatively stable for DRiPLOF when jamming was involved. Because we are blocking all possible connections to the root in the single-interface case, there is no point in comparing network stability between DRiPLOF and low-/high-rate MRHOF, since a single-interface solution can really only wait for the jamming to end. 3. As mentioned before, end-to-end latency (Figure 10a) is artificially kept low when delivery rates (Figure 10c) are low and/or nodes spend much time being orphaned (Figure 10d). As such, Figure 10a should not be used to compare DRiPLOF with POOF nor low-/high-rate MRHOF, but rather with the end-to-end latency of DRiPLOF in non-jamming circumstances (Figure 9a), as the delivery rate and time spent as an orphan are relatively comparable. Doing so reveals that DRiPLOF's ability to quickly adapt to changing conditions without incurring a large convergence penalty does not come at the cost of increased end-to-end latency.