Priority-Based Flow Control for Hardware Forwarding Elements
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network forwarding elements lack efficient configuration options for buffer usage, particularly in managing packet data storage and flow control across different priority levels, leading to inefficiencies in packet processing and potential congestion.
Innovation Solution
A hardware forwarding element with configurable ingress and egress pipelines and a traffic management unit that allocates buffer space based on packet classes and priority values, using coefficients to ensure adequate space for higher priority packets and implementing priority-specific flow control thresholds to manage congestion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If buffer space is allocated equally to all packet classes, then simplicity of buffer management is maintained, but high-priority packets may not receive sufficient buffer space during congestion
Solution Approach 1:
The patent applies local quality by allocating different buffer space proportions to different packet classes based on their priority levels. High-priority packets are guaranteed a larger proportion of buffer space (e.g., 70-90%) compared to low-priority packets, ensuring that critical traffic receives adequate buffering during congestion while maintaining a structured allocation mechanism through priority-based coefficients.
Solution Approach 2:
The patent uses parameter changes by introducing priority-based coefficients that dynamically adjust the buffer space allocation ratio for different packet classes. These coefficients can be configured to change the proportion of buffer space available to each priority level, allowing flexible adjustment of buffer distribution without changing the underlying buffer structure or allocation logic.
2Reliability
If flow control thresholds are applied to all packets uniformly, then ease of flow control implementation is maintained, but differentiated service quality for different priority packets cannot be achieved
Solution Approach 1:
The patent applies local quality by implementing different flow control thresholds for different packet classes based on their priority levels. High-priority packets can have higher thresholds allowing them to utilize more buffer space before flow control is triggered, while low-priority packets have lower thresholds. This enables differentiated service quality where critical traffic experiences less flow control intervention while maintaining a unified flow control framework.
3Reliability
If buffer space is allocated to ensure high-priority packet storage, then packet drop reduction for critical traffic is achieved, but overall buffer utilization efficiency may decrease
Solution Approach 1:
The patent applies partial or excessive action by allocating more than equal share of buffer space to high-priority packets (excessive allocation to critical traffic). This ensures that high-priority packets have sufficient buffer space to avoid drops, while the system accepts that overall buffer utilization may not be maximized. The priority-based coefficient system allows this intentional over-allocation to important traffic classes.
Solution Approach 2:
The patent applies dynamics by making buffer space allocation dynamic and adjustable through configurable priority coefficients. The system can adapt buffer distribution based on changing traffic patterns and requirements, allowing optimization between reliability and efficiency under different operating conditions. The traffic management unit can adjust allocation ratios dynamically without reconfiguring the entire buffer structure.
Data Source
AI summary
Some embodiments provide a method for a hardware forwarding element. The method adds a received packet to a buffer. The method determines whether adding the packet to the buffer causes the buffer to pass one of multiple flow control thresholds, each of which corresponds to a different packet priority. When adding the packet to the buffer causes the buffer to pass a particular flow control threshold corresponding to a particular priority, the method generates a flow control message for the particular priority.


