In-Band Forwarding Element Configuration Without Local Control Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing forwarding elements are prone to failure due to control plane processor failures and are costly, requiring expensive high-end processors and 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 by checking for message corruption and using checksum and CRC operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If high-end control plane processors are used to manage forwarding elements, then the forwarding element can be configured and controlled, but the cost increases significantly and the system becomes more prone to failures
Solution Approach 1:
The control plane functionality is extracted from the forwarding element and placed in a separate remote controller. The forwarding element retains only the data plane circuits for packet forwarding, while configuration and control functions are moved to the remote controller that communicates via in-band data-plane messages, eliminating the need for expensive high-end control plane processors in the forwarding element itself
Solution Approach 2:
A remote controller acts as an intermediary between the operator and the forwarding element. This separate controller manages the forwarding element through standardized in-band messages over the data plane, simplifying the forwarding element's architecture while maintaining full configurability and control capabilities
2Adaptability or versatility
If high-end processors and cooling systems are added to forwarding elements, then control plane functionality is enhanced, but the expense and device complexity increase
Solution Approach 1:
The control plane processor and its associated cooling systems are completely extracted from the forwarding element. All control plane capabilities are provided by the separate remote controller, allowing the forwarding element to use simpler, less expensive hardware while maintaining full adaptability through remote configuration
Solution Approach 2:
The remote controller serves as a universal control unit that can manage multiple forwarding elements through standardized in-band messaging protocols. This multi-functional approach allows a single controller to provide adaptability and versatility across the entire network infrastructure without requiring complex control plane hardware in each forwarding element
3Ease of operation
If control plane processors are integrated into forwarding elements, then local configuration is possible, but failures of these processors cause forwarding element failures
Solution Approach 1:
The system is segmented into independent data plane and control plane components. The data plane circuits continue forwarding packets independently, while the control plane functions are separated into a remote controller. This segmentation ensures that control plane failures do not take down the data plane, maintaining forwarding element availability even when the controller experiences issues
Solution Approach 2:
The data plane circuits are designed to operate autonomously for packet forwarding without requiring continuous control plane processor intervention. Configuration changes are applied through in-band messages, but the core forwarding function is self-sustaining, allowing the forwarding element to continue operating even when control plane communication is interrupted
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.


