Multi-Stage Packet Steering Using Cumulative Hash Lookups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet steering technologies, such as those using 5-tuple header information, are insufficient for non-standard steering decisions in scenarios like network function virtualization, requiring more flexible and efficient methods to handle multiple virtualization and tunneling protocols.
Innovation Solution
A network device employing a multi-stage steering process using user-selectable header fields, with match-and-action tables that allow cumulative lookup values based on combinations of hash values from various header portions, enabling flexible and efficient packet steering across multiple tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional 5-tuple header information steering is used, then the steering process is simple and fast, but it cannot handle non-standard steering decisions in network function virtualization scenarios
Solution Approach 1:
The steering process is divided into multiple stages, with each stage handling specific steering decisions. The packet processing engine performs sequential lookups in different match-and-action tables, where each table corresponds to a specific steering stage. This segmentation allows the system to handle complex virtualization scenarios by breaking down the steering decision into manageable steps, improving adaptability without overwhelming complexity.
Solution Approach 2:
The patent introduces a multi-dimensional steering approach by adding header field selection as an additional dimension to the traditional 5-tuple steering. Instead of relying solely on fixed 5-tuple information, the system allows dynamic selection of header fields (such as VLAN tags, MPLS labels, or custom protocol fields) to form composite lookup keys. This dimensional expansion enables the steering system to accommodate diverse virtualization protocols and non-standard steering requirements.
2Adaptability or versatility
If multiple header fields are used for cumulative lookup, then steering flexibility improves, but processing time and latency increase
Solution Approach 1:
The system performs preliminary parsing of header fields and pre-computation of lookup keys before the actual steering decision. The packet processing engine identifies relevant header fields in advance, extracts their values, and prepares composite lookup keys prior to table lookups. This preliminary action reduces the time required during the critical steering decision phase, mitigating latency despite the use of multiple header fields.
Solution Approach 2:
The patent merges multiple header field lookups into a unified multi-stage steering process. Instead of performing separate sequential lookups that would each incur overhead, the system combines the lookup operations into an integrated flow where results from previous stages inform subsequent stages. The cumulative lookup value aggregates information from multiple header fields in a single coordinated process, reducing total processing time compared to independent lookups.
3Adaptability or versatility
If a multi-stage steering process is implemented, then nonstandard steering decisions are supported, but the device complexity and hardware requirements increase
Solution Approach 1:
The packet processing engine is designed as a universal multi-functional unit that can handle various steering scenarios through a standardized multi-stage process. Rather than implementing separate specialized steering logic for different protocols (VXLAN, GTP, MPLS, etc.), the engine uses a single configurable framework that adapts to different protocols by selecting appropriate header fields for each stage. This universal approach supports diverse protocols without proportionally increasing hardware complexity.
Solution Approach 2:
The system achieves protocol-specific steering behavior by changing parameters such as header field selection, table configuration, and lookup key composition, rather than by changing the fundamental steering architecture. The match-and-action tables are configured with different parameter sets for different protocols, allowing the same hardware structure to handle VXLAN, GTP, MPLS, and other protocols by simply adjusting which header fields are extracted and how they are combined for lookup.
Data Source
AI summary
In one embodiment, a network device includes an interface configured to receive a data packet including a header section, at least one parser to parse the data of the header section yielding a first header portion and a second header portion, a packet processing engine to fetch a first match-and-action table, match a first index having a corresponding first steering action entry in the first match-and-action table responsively to the first header portion, compute a cumulative lookup value based on the first header portion and the second header portion responsively to the first steering action entry, fetch a second match-and-action table responsively to the first steering action entry, match a second index having a corresponding second steering action entry in the second match-and-action table responsively to the cumulative lookup value, and steering the packet responsively to the second steering action entry.


