Bootstrapping OpenFlow Switches via Temporary Control Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing OpenFlow networks face challenges in bootstrapping a new switch with in-band control, as the switch cannot be controlled by a central control unit during boot time and requires a predetermined initial state, which is inflexible and contradicts autoconfiguration, especially when pre-configuration of all switches is not desirable.
Innovation Solution
A method for connecting a booting switch to a network using control data packets transmitted via the same paths as user data packets, where the central control unit establishes communication paths by storing forwarding rules in the switches' pipelines, creating a temporary path for initial connection and later replacing it with a permanent path, allowing the switch to learn and adapt to the network topology.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a booting switch is connected to a network with in-band control, then the switch can be integrated into the network infrastructure, but the switch cannot be controlled by a central control unit during boot time because no control connection exists yet
Solution Approach 1:
The system performs preliminary actions by establishing a temporary communication path before the switch is fully booted and configured. The central control unit proactively sets up this temporary path through intermediate switches, enabling control connection establishment prior to the switch's full operational state, thus resolving the timing conflict between network integration and control availability
Solution Approach 2:
Intermediate switches act as mediators to establish the temporary communication path between the booting switch and the central control unit. These intermediary devices forward control data packets during the bootstrapping phase, enabling indirect control connection when direct communication is not yet possible, thereby solving the control accessibility problem during boot time
2Ease of operation
If pre-configuration of all switches is performed to enable control connection, then the switch can be controlled during boot time, but this approach is inflexible and contradicts autoconfiguration goals
Solution Approach 1:
The system enables self-service by allowing the central control unit to dynamically create temporary communication paths as needed during the bootstrapping process. Rather than requiring pre-configuration, the control unit autonomously establishes control connections on-demand when switches are added to the network, achieving both control accessibility and configuration flexibility simultaneously
Solution Approach 2:
The communication path structure is made dynamic, transitioning from static pre-configuration to flexible on-demand path establishment. The temporary communication paths are created dynamically during bootstrapping and removed when no longer needed, allowing the network topology and control connections to adapt flexibly to changing network conditions and switch addition scenarios
3Ease of operation
If a temporary communication path is established for control connection, then the switch can be controlled during boot time, but network complexity increases
Solution Approach 1:
The communication path is segmented into temporary and permanent components. The temporary path is used specifically for bootstrapping control connections and is distinct from the permanent data communication paths. This segmentation isolates the complexity of temporary path management to only the necessary bootstrapping phase, preventing permanent network complexity while enabling control during boot time
Solution Approach 2:
The temporary communication paths are discarded after serving their bootstrapping purpose. Once the switch is fully configured and operational, the temporary paths are removed from the network, recovering network resources and eliminating the added complexity. This temporary existence of specialized paths enables bootstrapping control without permanent network complexity
Data Source
AI summary
A method for connecting, by a central control unit (CCU), a booting switch to a network. The network includes switches controlled by the CCU using control data packets that are transmitted via communications paths in the network. User packets are transmitted through the network using the same communications paths. A switch uses forwarding rules stored in a pipeline to forward packets in the network. A local port in each switch provides access to the pipeline. The paths in the network for the control data packets are established by storing forwarding rules configured by the CCU in the pipelines of the switches. At least one switch contains a connecting port via which the booting switch is connected to the network. The forwarding rules in the booting switch are stored by the CCU using a temporary path, which contains the existing path and a connecting path.


