SDN Switch Dual Pipeline Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Software Defined Networking (SDN), existing systems face inefficiencies in packet forwarding due to limitations in flow table management and protocol compatibility, particularly in OpenFlow protocols, which can lead to suboptimal performance and increased complexity in managing flow entries across multiple forwarding pipelines.
Innovation Solution
The implementation of a dual forwarding pipeline architecture in SDN switches, where one pipeline is hardware-based (e.g., ASIC) and the other is software-based, allowing for flexible flow table distribution and negotiation between the SDN controller and switches to optimize packet forwarding by adding flow entries and managing pipeline actions, enabling seamless communication between the pipelines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single forwarding pipeline is used in SDN switches, then the device complexity is low, but the packet forwarding efficiency and protocol compatibility are limited
Solution Approach 1:
The patent divides the forwarding pipeline into multiple independent pipelines (e.g., hardware-based pipeline and software-based pipeline), each capable of handling different types of packet forwarding tasks. This segmentation allows the system to process packets in parallel through different pipelines, improving overall forwarding efficiency while maintaining manageable complexity in each individual pipeline.
Solution Approach 2:
The patent designs a multi-functional forwarding architecture where multiple pipelines can handle various protocol types and packet processing requirements. Each pipeline is designed to be versatile, capable of performing different forwarding operations depending on the packet type and flow table configuration, thereby improving protocol compatibility without requiring separate dedicated pipelines for each function.
2Productivity
If flow tables are centralized in a single location, then the management is simple, but the packet forwarding performance and flexibility are reduced
Solution Approach 1:
The patent distributes flow tables across multiple locations and pipelines rather than centralizing them in a single location. Each pipeline can have its own flow tables or share flow tables with other pipelines, allowing packets to be processed by the most appropriate pipeline based on the flow table match. This distribution improves forwarding performance by enabling parallel processing and reducing bottlenecks, while the SDN controller maintains centralized control for simplified management.
Solution Approach 2:
The patent introduces an intermediary mechanism (the SDN controller and inter-pipeline communication protocol) that coordinates flow table management across distributed locations. The controller acts as a mediator that can add, modify, and remove flow entries in any pipeline's flow tables, providing centralized management functionality despite the physical distribution of flow tables across multiple pipelines and locations.
3Speed
If hardware-based forwarding is used exclusively, then the packet forwarding speed is high, but the protocol compatibility and flexibility are limited
Solution Approach 1:
The patent segments the forwarding functionality into hardware-based pipelines for high-speed packet processing and software-based pipelines for flexible protocol handling. The hardware pipelines (e.g., using ASICs or FPGAs) provide fast forwarding for standard packet types, while software pipelines handle complex or non-standard protocols that require more flexibility. This segmentation allows the system to achieve both high speed and broad protocol compatibility.
Solution Approach 2:
The patent introduces an intermediary layer that enables communication and coordination between hardware-based and software-based pipelines. This intermediary mechanism allows packets to be transferred between pipeline types as needed, with the hardware pipeline handling simple forwarding tasks at high speed and the software pipeline providing protocol compatibility and flexibility when required. The intermediary ensures seamless operation between the two types of pipelines.
4Adaptability or versatility
If multiple forwarding pipelines are implemented, then the packet forwarding efficiency and protocol compatibility improve, but the device complexity and flow table management become more difficult
Solution Approach 1:
The patent designs the multiple forwarding pipelines to share common functionality and control mechanisms. Rather than each pipeline being completely independent and complex, the pipelines are designed with universal features that allow them to perform similar functions in different ways. This reduces overall system complexity while maintaining the benefits of multiple specialized pipelines for different protocol types and forwarding scenarios.
Solution Approach 2:
The patent implements feedback mechanisms where the SDN controller monitors the performance and status of multiple forwarding pipelines and dynamically adjusts flow table distribution and packet routing decisions. This feedback allows the system to optimize the use of multiple pipelines based on actual traffic patterns and performance metrics, reducing the operational complexity by automatically managing the complexity rather than requiring manual configuration and management.
Data Source
AI summary
Based on an example, two forwarding pipelines are configured in a software defined networking (SDN) switch. After receiving, from an SDN controller, a flow entry adding instruction comprising a flow entry to be added and a table identifier (ID) indicating a flow table that the flow entry is to be added to, an SDN switch adds the flow entry into the flow table corresponding to the table ID, wherein the flow table is in the first forwarding pipeline or the second forwarding pipeline. If the flow table and its next flow table are in different forwarding pipelines, the SDN switch adds an action of forwarding to the internal interface to the flow entry.


