SDN Controller Watch Port for Liveness-Based Traffic Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The OpenFlow specification does not support liveness flags for reserved ports such as the CONTROLLER reserved port, preventing the use of a controller port as a watch port for robust operation in a software defined networking (SDN) network.
Innovation Solution
Implementing a method and network device that allow a controller port to be specified as a watch port in the packet processing pipeline of a switch, contingent upon its liveness, enabling robust SDN operation by monitoring and ensuring the controller port is live before executing associated actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the OpenFlow specification is followed strictly, then the controller port cannot be used as a watch port, but this prevents robust operation and failover capabilities in SDN networks
Solution Approach 1:
The patent changes the parameter state of the controller port by introducing a new port type designation that allows the reserved controller port to function as a watch port. This is achieved by modifying the port role parameters in the OpenFlow group entries, enabling the same physical port to serve dual functions: controller communication and liveness monitoring.
Solution Approach 2:
The patent enables the controller port to perform multiple functions simultaneously - it serves as both the control channel interface and the watch port for liveness monitoring. By configuring the controller port as a watch port in group entries, the system achieves multi-functionality where a single port fulfills multiple roles, enhancing reliability without adding redundant hardware.
2Reliability
If controller port is used as watch port, then failover capability is improved, but this requires extending the OpenFlow specification beyond current standards
Solution Approach 1:
The patent introduces dynamic behavior to the controller port configuration by enabling runtime changes in port functionality. The controller port can dynamically switch between being a pure control interface and an active watch port based on operational needs. This dynamic configurability is achieved through programmable group entries that can be modified without hardware changes.
Solution Approach 2:
The patent uses the OpenFlow group entry mechanism as an intermediary to bridge the gap between the controller port and liveness monitoring functionality. By introducing group entries with watch port specifications as an intermediate layer, the system enables controller port failover capability while maintaining compatibility with existing OpenFlow infrastructure and avoiding direct modifications to the core protocol.
3Reliability
If liveness monitoring is implemented for controller ports, then traffic forwarding safety is improved, but this requires additional monitoring mechanisms beyond standard OpenFlow
Solution Approach 1:
The patent merges the liveness monitoring function with the existing OpenFlow group processing mechanism. By combining the watch port liveness checking with the group entry bucket selection logic, the system achieves traffic forwarding safety without adding separate monitoring mechanisms. The same group entry structure that directs traffic also performs the liveness verification, reducing overall system complexity.
Solution Approach 2:
The controller port monitoring system performs self-service by using its own port status to determine bucket execution. The watch port mechanism allows the controller port to autonomously monitor its own liveness state and trigger appropriate failover actions without requiring external monitoring systems. This self-monitoring capability reduces the need for additional complex monitoring infrastructure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method by a first controller in a software defined networking (SDN) network for programming a switch in the SDN network to use a controller port as a watch port. The method includes generating an instruction for the switch to create a first group entry for a first group in a packet processing pipeline of the switch, where the first group entry includes a first bucket that specifies a first controller port as a watch port and an action for the switch to forward packets to the first controller via the first controller port, where the first controller port being specified as the watch port in the first bucket indicates that execution of the action specified by the first bucket is to be contingent upon a liveness of the first controller port and sending the instruction to the switch to cause the switch to create the first group entry.