## 3 DenseNet-Hybrid Control Plane Architecture
### Control Logic Switching Algorithm
The _rules modifier_ module deletes the rules from the SCS flow table that includes _POP_VLAN_ and _PUSH_VLAN_ OpenFlow actions that have been installed by the local agent during network operation switching from centralized to distributed. When the control plane performance becomes fair again, the SDN controller starts receiving LLDP (Link Layer Discovery Protocol) messages and, by receiving LLDP messages, the SDN controller discovers the network topology again. As when switching from centralized to distributed, all the flow rules installed by the SDN controller have been deleted, except the _flow-miss_ entry rule, when the SCS ingress port receives a packet, it sends the packet to the SDN controller for policy making using the _flow-miss_ entry rule, as there is no matching rule remaining in the SCS flow table. In this way, network operation switches back again to centralized mode and the SDN controller takes control of the network. ## 4 DenseNet-Hybrid SDN: Performance Evaluation

We consider a SC backhaul scenario (Figure 1) where the transport node associated with each SC is a hybrid node that connects heterogeneous networks (e.g., sensor networks, wi-fi networks, and mobile ad-hoc networks) to the aggregation point (e.g., the macro-cell base station) of a mobile network. We emulate such grid mesh networks of different topologies using Mininet [23] version 2.2.1. We also consider the in-band deployment of the SDN scenario where the SDN controller is connected via a gateway node. Ryu [24] was used as SDN controller to set the forwarding rules in network nodes. We use TCLink [25] to emulate high capacity mm-Wave links (60 GHz 802.11 ad WiGig links) as wireless transport links and to set their link rate up-to 1 Gbps. The traffic flows from each SC are sent toward the aggregation point (e.g., macro base station), which in a realistic scenario may be co-located with a macro base station cell site and SCs deployed in lampposts, for instance. Multiple TCP flows were generated from different SCs by using iPerf [26], which, on average, resulted in a traffic rate of 50 Mbps each. Table 1 explains the parameters used in our evaluations. Extensive evaluation campaigns under multiple network conditions and sizes allowed tuning the algorithm parameters (\(CPLR_{max}\) and \(\delta\)) to the values reflected in the table. Furthermore, 10 s. was found to present an appropriate trade-off between the processing overhead (much higher if evaluation periods were much shorter) yet being able to detect steady trends based on which the algorithm takes decisions. Finally, the tested network sizes, CPLR values, and number of impaired links were selected to reflect networks with various complexities and a variety of operational conditions ranging from perfect to really bad, so that the algorithm could show its operation under stress and have its operational limits assessed. All tests were repeated 10 times, and their min, 25-percentile, median, average, 75-percentile, and max values are represented in the boxplots. ### Canonical-SDN Operation: Unreliable Condition

First, we conducted an experiment to observe the throughput and latency performance of canonical-SDN under unreliable conditions. To observe the impact of the unreliable control plane over data plane throughput and latency in a controlled way, we generated losses of control messages that were exchanged between the forwarding nodes and the