Forwarding Element Configuration via In-Band Data-Plane Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 dependency on control plane processors.

Engineering Contradictions & Design Principles

VSEngineering 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 reliability decreases due to processor failures and additional expensive components

Engineering Contradiction:
Improveforwarding element reliabilityVSAvoidcontrol plane processor complexity
Core Design Contradiction:
ReliabilityVSDevice 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 data plane circuits for forwarding packets, 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

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system is segmented into two independent components: a forwarding element with data plane circuits and a separate remote controller with control plane functions. This segmentation allows each component to be optimized independently, with the forwarding element focusing on high-speed packet forwarding and the remote controller handling configuration and management tasks

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If high-end control plane processors are used, then control functionality is provided, but the expense increases due to processor cost and additional components like cooling systems

Engineering Contradiction:
Improvecontrol plane management capabilityVSAvoidforwarding element cost
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The expensive control plane processor and its associated cooling systems are extracted from the forwarding element and relocated to a separate remote controller. The forwarding element uses only simple data plane circuits for packet forwarding, eliminating the need for high-end processors and reducing overall system cost

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The control plane functionality is copied to a separate remote controller that communicates with the forwarding element through in-band data-plane messages. This allows the control plane to be implemented on standard hardware rather than requiring expensive specialized processors in the forwarding element

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11463385B2Messaging between remote controller and forwarding element
Publication Date: 2022.10.04 BAREFOOT NETWORKS INC
  • US11463385B2 patent drawing
  • US11463385B2 patent drawing
  • US11463385B2 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.