HA VNIC Flow Table Synchronization Using Global Configuration Epochs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high availability (HA) configurations for networking devices, there is no guarantee that flow tables will be synchronized simultaneously, leading to inconsistencies when different devices handle different network configurations, especially for virtual network interface cards (VNICs) with varying policy updates.
Innovation Solution
Implement heuristics using epoch values to maintain consistency between flow tables of HA peers by adjusting VNIC datapath epoch values based on differences in local epoch values, ensuring synchronized updates and robust flow table synchronization without requiring extensive coordination between devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If flow tables are updated independently in HA configurations, then each device can process local configuration changes quickly, but flow table inconsistencies occur between HA peers
Solution Approach 1:
The patent introduces an epoch value as an intermediary mechanism to coordinate flow table updates between HA peers. Each device maintains a local epoch value that increments with configuration changes, and these epoch values are exchanged between peers. This intermediary allows devices to independently process updates while maintaining consistency through epoch comparison, resolving the contradiction between fast local updates and global consistency.
Solution Approach 2:
The patent uses epoch values as a parameter to track and synchronize configuration states across HA peers. By incrementing the epoch value whenever a configuration change occurs and comparing these values between peers, the system enables fast local updates while ensuring that both devices operate with consistent flow table versions, thus maintaining reliability without sacrificing update speed.
2Reliability
If extensive coordination is implemented between HA devices for flow table synchronization, then flow table consistency is maintained, but system complexity increases
Solution Approach 1:
The epoch value acts as a simple intermediary that replaces complex coordination protocols. Instead of implementing extensive message passing and state synchronization between HA peers, the system uses lightweight epoch value exchange and comparison. This reduces device complexity while maintaining reliable flow table synchronization through a minimal coordination mechanism.
Solution Approach 2:
Each HA device independently determines whether its flow table needs updating by comparing its local epoch value with the peer's epoch value. This self-service approach eliminates the need for complex centralized coordination, reducing device complexity while ensuring that both peers maintain consistent flow tables through autonomous decision-making based on epoch comparisons.
3Productivity
If flow table entries are updated without epoch verification, then update operations are faster, but outdated configurations may be applied
Solution Approach 1:
The patent performs preliminary epoch value comparison before applying flow table updates. Each device exchanges epoch values with its HA peer and verifies that the local epoch value is current before proceeding with updates. This preliminary verification ensures configuration version accuracy while maintaining update efficiency, as the actual flow table updates are applied quickly once epoch consistency is confirmed.
Solution Approach 2:
The patent replaces complex mechanical verification processes with a simple numerical comparison of epoch values. Instead of implementing elaborate protocols to verify configuration versions, the system uses lightweight integer comparison of epoch values to determine whether updates are needed. This substitution maintains measurement precision for configuration versioning while preserving high update efficiency.
Data Source
AI summary
A networking device in a high availability (HA) configuration processes network flows for a virtual network interface card (VNIC). Network configurations include networking policies governing network packet processing by the networking device. Global epoch values are associated with each network configuration version. The networking device has a control plane, a data plane, and a flow table. The control plane uses the most recent network configuration to produce flow table entries for storage in the flow table. The data plane uses the flow table entries to process network packets. Flow table entries include flow epoch values matching the global epoch value associated with the network configurations used to create the flow entries. Datapath epoch values, VNIC peer epoch values, and VNIC local epoch values are associated with the VNICs and used to ensure consistent flow table entries among the peers in the HA configuration.


