Forwarding Element In-Band Configuration Without Control Plane Failure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing forwarding elements are vulnerable to control plane processor failures and are costly due to the use of high-end processors, which also require additional expensive components like cooling systems.
Innovation Solution
A forwarding element configured through in-band data-plane messages from a remote controller, featuring configurable message-processing stages, storage queues, and a data-plane configurator that processes and stores configuration messages, ensuring reliable communication and reducing dependency on control plane processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If high-end processors are used in forwarding elements, then processing capability is improved, but cost and complexity increase
Solution Approach 1:
The system is divided into two separate components: a forwarding element with a simple data plane processor and a remote controller with full processing capability. The data plane processor handles only basic forwarding operations, while the remote controller handles complex control plane functions, thereby reducing the complexity and cost of the forwarding element while maintaining overall processing capability.
Solution Approach 2:
A remote controller acts as an intermediary between the network management system and the forwarding element. The remote controller receives configuration messages, processes them, and sends commands to the data plane processor, eliminating the need for a high-end processor within the forwarding element itself.
2Adaptability or versatility
If control plane processors are used in forwarding elements, then configuration capability is improved, but reliability decreases due to single point of failure
Solution Approach 1:
The control plane functions are segmented from the forwarding element and placed in a separate remote controller. This physical separation means that a failure in the control plane processor does not cause the forwarding element to fail, as the data plane processor can continue to forward traffic independently.
Solution Approach 2:
The remote controller serves as an intermediary that can be replicated across multiple instances. If one remote controller fails, another can take over, providing redundancy and improving reliability while maintaining full configuration capability.
3Productivity
If high-end processors and cooling systems are deployed, then processing performance is improved, but cost increases
Solution Approach 1:
The system separates the processing requirements into two parts: basic data plane processing that can be handled by simple, low-cost processors in the forwarding element, and complex control plane processing that is offloaded to remote controllers. This segmentation eliminates the need for expensive high-end processors and associated cooling systems in the forwarding element.
Solution Approach 2:
The forwarding element uses simple, inexpensive data plane processors that can be easily replaced if needed, rather than investing in expensive, high-performance processors with complex cooling requirements. The cost-effective approach maintains adequate processing performance for forwarding operations.
Data Source
AI summary
Some embodiments of the invention provide a forwarding element that can be configured through in-band data-plane messages from a remote controller that is a physically separate machine from the forwarding element. The forwarding element of some embodiments has data plane circuits that include several configurable message-processing stages, several storage queues, and a data-plane configurator. A set of one or more message-processing stages of the data plane are configured (1) to process configuration messages received by the data plane from the remote controller and (2) to store the configuration messages in a set of one or more storage queues. The data-plane configurator receives the configuration messages stored in the set of storage queues and configures one or more of the configurable message-processing stages based on configuration data in the configuration messages.


