Data-Plane Forwarding Element Configuration Without Local Control CPUs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing forwarding elements are vulnerable to control plane processor failures and incur high costs 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 the need for high-end processors by allowing remote configuration and fault-tolerant operation.
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 and the system becomes vulnerable to processor 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 high-end control plane processors in the forwarding element itself
Solution Approach 2:
A data-plane configurator is introduced as an intermediary component within the forwarding element that receives configuration messages through the data plane from the remote controller and translates them into internal configuration commands. This mediator enables remote configuration without requiring traditional control plane processors
2Ease of operation
If high-end processors are used in forwarding elements, then control and configuration functions can be performed, but additional expensive components like cooling systems are required
Solution Approach 1:
Control plane processing functions are extracted from the forwarding element and relocated to a remote controller. The forwarding element uses only simple data plane circuits for packet forwarding, while configuration capabilities are provided remotely through in-band messages processed by the data-plane configurator
Solution Approach 2:
The data plane circuits are configured to process their own configuration messages through the data-plane configurator using in-band data-plane messages. The system uses its existing data plane infrastructure for both data forwarding and configuration, eliminating the need for separate control plane hardware
3Adaptability or versatility
If control plane processors are used for configuration, then forwarding elements can be managed, but the expense and cooling requirements increase
Solution Approach 1:
The data plane circuits and in-band message infrastructure are used for multiple purposes: both packet forwarding and configuration management. The same data plane infrastructure that handles data traffic also carries configuration messages from the remote controller, eliminating the need for dedicated control plane hardware
Solution Approach 2:
Configuration management capability is extracted from physical hardware processors and implemented as a remote software-based controller communicating through the data plane. The forwarding element maintains adaptability through the data-plane configurator while using minimal hardware resources
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.


