Multi-Data Plane Shadow Verification for Seamless Network Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Upgrading network edge devices is often disruptive to users due to downtime, exhaustive pre- and post-upgrade checks, potential rollback requirements, and uncertainty about issues in the new version, especially when in-house testing fails to identify unique customer network characteristics.
Innovation Solution
Implementing dual dataplanes, where a primary dataplane runs the current software version and a shadow dataplane runs the new version, allowing for verification testing in the same environment as the current version, thereby reducing the need for rollback plans and enabling seamless upgrades.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional upgrade methods are used for network edge devices, then upgrades can be performed, but they cause downtime and disrupt user services
Solution Approach 1:
The system segments the data plane into multiple independent dataplanes (e.g., dataplane 1, dataplane 2) that can operate in parallel. This allows one dataplane to handle production traffic while another performs upgrades, enabling seamless transitions without service disruption.
Solution Approach 2:
The new software version is deployed and tested in advance in a shadow dataplane before being promoted to production. This preliminary action allows verification of the upgrade in a controlled environment, ensuring readiness before affecting live services.
2Reliability
If in-house testing is performed before deployment, then testing can be completed, but it fails to identify issues related to unique customer network characteristics
Solution Approach 1:
The system creates a shadow dataplane that is a copy of the production dataplane configuration. This copy receives identical traffic copies and applies the same networking instructions, enabling testing in a production-like environment without replicating the entire complex customer network infrastructure.
Solution Approach 2:
The testing function is segmented from the production system by using a separate shadow dataplane. This allows isolated testing of upgrade scenarios in a controlled environment while maintaining the simplicity of the test setup, as only the necessary dataplane components need to be replicated rather than the entire customer network.
3Reliability
If exhaustive pre- and post-upgrade checks are performed, then upgrade reliability can be ensured, but the upgrade process becomes more complex and time-consuming
Solution Approach 1:
Networking instructions are applied to the shadow dataplane before promotion to production, allowing verification of correctness in advance. This preliminary application of changes enables comprehensive testing without requiring complex post-upgrade check procedures.
Solution Approach 2:
The system uses feedback from comparing traffic processing results between the shadow dataplane and production dataplane to verify upgrade correctness. This automated feedback mechanism simplifies verification by using direct comparison of actual processing outcomes rather than complex manual checking procedures.
4Reliability
If dual dataplanes are implemented for seamless upgrades, then upgrade disruption can be minimized, but the system complexity increases
Solution Approach 1:
The dataplane architecture is designed to be multi-functional, supporting both production traffic handling and upgrade testing in the same infrastructure. The shadow dataplane serves dual purposes: as a backup production dataplane and as a testing environment, reducing the need for separate complex testing systems.
Solution Approach 2:
Instead of creating entirely separate testing systems, the solution uses copies of existing dataplane components (shadow dataplane) that replicate necessary functionality. This approach reduces complexity by reusing proven components rather than building new complex testing infrastructure from scratch.
Data Source
AI summary
A system and method are provided for implementing a network component, such as a software-defined wide area network, a firewall, a router, or a load balancer. The network component can be an embedded network edge device that is implemented, e.g., in software, in circuitry, or using hardware acceleration (e.g., a data processing unit (DPU), a smart network interface card (SmartNIC), etc.). The system can include multiple dataplanes, including a primary dataplane and a shadow dataplane. A packet dispatcher relays received data packets to a primary dataplane and the shadow dataplane. The primary dataplane applies a current version of the network component to data packets, and the secondary dataplane applies a new version of the network component to identical replicas of the data packets. A control plane agent compares performance data gathered from the respective dataplanes to perform verification testing on the new version of the network component.


