In-Band Forwarding Element Control via Remote Data-Plane Messages

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If high-end control plane processors are used in forwarding elements, then processing capability and control functionality are improved, but cost and system complexity increase due to expensive processors and additional components like cooling systems

Engineering Contradiction:
Improveprocessing capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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 minimal control plane processor needed to handle local management interfaces, while all complex control processing is performed remotely. This separation eliminates the need for high-end processors and associated cooling systems in the forwarding element, directly resolving the contradiction between processing capability and system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A remote controller acts as an intermediary between the network management system and the forwarding element. This intermediary handles all complex control plane operations, allowing the forwarding element to use simple processors while maintaining full control functionality through the mediation of the remote controller. The intermediary pattern resolves the contradiction by externalizing the complex processing requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If high-end control plane processors are used in forwarding elements, then control functionality is improved, but reliability decreases because control plane processor failures cause forwarding element failures

Engineering Contradiction:
Improvecontrol functionalityVSAvoidforwarding element reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The control plane is extracted from the forwarding element and relocated to a separate remote controller. This physical and functional separation means that control plane processor failures in the remote controller do not directly cause forwarding element failures. The forwarding element can continue to forward traffic while the control plane is restored, significantly improving reliability while maintaining full control functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The control plane and data plane are segmented into separate physical entities. The forwarding element contains the data plane with simple control plane processor, while the remote controller contains the complex control plane processor. This segmentation isolates failure domains, so that control plane failures do not propagate to the data plane, resolving the reliability issue while preserving control functionality.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If in-band data-plane messages are used for configuration, then cost is reduced by eliminating high-end processors, but communication reliability must be ensured through additional validation mechanisms

Engineering Contradiction:
Improveprocessor complexityVSAvoidcommunication reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The data plane performs preliminary validation actions on incoming configuration messages before processing them. Checksum verification, format validation, and authorization checks are performed in advance by the data plane, ensuring that only valid and authorized configuration messages are processed. This preliminary validation maintains communication reliability while allowing the use of simple processors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the data plane sends acknowledgments and status information back to the remote controller regarding configuration message processing. This feedback loop allows the remote controller to verify successful configuration application and retry failed operations, maintaining reliability despite the use of in-band data-plane messaging with simpler processors.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10419366B1Mechanism for communicating to remote control plane from forwarding element
Publication Date: 2019.09.17 BAREFOOT NETWORKS INC
  • US10419366B1 patent drawing
  • US10419366B1 patent drawing
  • US10419366B1 patent drawing

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.