Packet Processing Device Data Plane Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network interface devices in datacenters face challenges in maintaining packet processing operations independently of control plane software updates or reboots, leading to potential disruptions in network traffic and tenant workloads.
Innovation Solution
Implementing a packet processing device with a programmable data plane and multiple processors, where the Management Compute Complex (MCC) and Acceleration Compute Complex (ACC) manage resources and configurations independently, allowing the data plane to continue processing packets even during control plane software updates or reboots, by isolating data plane operations from control plane status.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the control plane software is updated or rebooted, then the system can be maintained and improved, but the packet processing operations are disrupted and network traffic is interrupted
Solution Approach 1:
The system is divided into two independent planes: control plane and data plane. The control plane handles software updates and management functions, while the data plane continues packet processing independently. This segmentation allows the control plane to be updated without affecting data plane operations, eliminating downtime during software updates.
Solution Approach 2:
A programmable data plane acts as an intermediary between the control plane and network traffic. The data plane receives configuration from the control plane but can operate autonomously using cached configurations, allowing control plane software updates without interrupting packet processing. The data plane serves as a buffer that decouples the dependency between control plane status and packet processing continuity.
2Device complexity
If the control plane and data plane are tightly coupled, then configuration management is simplified, but the data plane cannot operate independently during control plane failures or updates
Solution Approach 1:
The system implements dynamic coupling between control plane and data plane. During normal operation, the data plane receives real-time configuration updates from the control plane. During control plane failures or updates, the data plane dynamically switches to using cached configurations and continues operating independently. This dynamic behavior allows the system to adapt its coupling strength based on operational conditions.
Solution Approach 2:
The data plane pre-loads and caches configuration data from the control plane before updates or failures occur. This preliminary action ensures that when the control plane becomes unavailable, the data plane already has the necessary configuration information to continue processing packets independently, eliminating the need for tight continuous coupling.
3Adaptability or versatility
If the data plane is reconfigured during operation, then the system is flexible and adaptable, but existing packet processing operations are interrupted
Solution Approach 1:
The data plane implements periodic configuration updates rather than continuous or immediate reconfiguration. Configuration changes are applied at predetermined intervals or triggers, allowing current packet processing operations to complete before transitions occur. This periodic approach maintains configuration flexibility while minimizing interruptions to packet processing productivity.
Solution Approach 2:
The system prepares for configuration changes by validating and buffering new configuration data before applying it to active packet processing operations. This beforehand cushioning ensures that configuration transitions are smooth and do not cause abrupt interruptions, maintaining both flexibility and continuity.
Data Source
AI summary
Examples described herein relate to a packet processing device that includes circuitry to perform packet processing operations according to a configuration and circuitry to execute control plane software to provide the configuration to the circuitry to perform packet processing operations according to the configuration. In some examples, the circuitry to perform packet processing operations according to the configuration is to continue operation independent of operation of the circuitry to execute control plane software.


