Network Interface Device Lookup Operations for Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of entries in trie structures for routing table lookups leads to memory usage and CPU cycle consumption issues, resulting in increased latency due to insufficient on-chip memory and cache limitations, particularly in network interface devices handling packet forwarding operations.
Innovation Solution
Implementing a system that performs longest prefix match (LPM) and Wild Card Match (WCM) lookups followed by exact match lookups to determine egress ports and actions for packets, with runtime programming of table entries, allowing for efficient use of on-chip memory and offloading routing table lookups to reduce latency and improve packet processing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the number of entries in trie structures increases to improve routing table capacity, then memory usage and CPU cycle consumption increase, but lookup latency increases and becomes a bottleneck
Solution Approach 1:
The routing table lookup is divided into two separate operations: (1) LPM/WCM lookup of route identifier based on destination IP address, and (2) exact match lookup of action based on route identifier and packet header fields. This segmentation allows each operation to use optimized data structures and memory access patterns, reducing overall lookup latency while maintaining routing table capacity.
Solution Approach 2:
The patent extracts the LPM/WCM lookup operation from the traditional single trie traversal approach and separates it from the exact match action lookup. By taking out the route identifier lookup as a distinct operation, the system can optimize memory access patterns and reduce the depth of trie traversal needed, thereby reducing lookup latency while maintaining routing table capacity.
2Adaptability or versatility
If general purpose CPU cores execute software to perform match-action operations on trie structures, then routing flexibility is maintained, but CPU cycles are consumed and latency increases
Solution Approach 1:
The patent performs LPM/WCM lookup of route identifier as a preliminary action before the exact match action lookup. By pre-computing and storing the route identifier in an optimized data structure, subsequent action lookups can be performed more efficiently, improving packet processing throughput while maintaining routing flexibility through the two-stage approach.
3Speed
If CPU cache is used to store exact match tables, then access speed improves, but cache size limitations prevent storing large routing tables
Solution Approach 1:
The routing table is segmented into two parts: (1) LPM/WCM trie structure storing route identifiers based on destination IP addresses, and (2) exact match tables storing actions based on route identifiers and packet header fields. This segmentation allows the system to use CPU cache for the smaller exact match action tables while maintaining large routing table capacity in system memory, achieving both fast access speed and large storage capacity.
4Quantity of substance
If memory access is used to retrieve trie entries, then routing table capacity is maintained, but memory bandwidth is consumed and latency increases
Solution Approach 1:
The patent extracts the route identifier lookup (LPM/WCM) as a separate operation from the action lookup. By taking out the route identifier determination as a preliminary step using optimized data structures, the system reduces the amount of data that needs to be accessed from memory during action lookup, thereby reducing memory access latency while maintaining routing table capacity.
Data Source
AI summary
Examples described herein relate to a network interface device. The network interface device can include circuitry that is to: perform a route lookup for a packet based on first and second lookup operations, wherein the first lookup operation comprises a longest prefix match (LPM) to output a route identifier based on a destination Internet Protocol (IP) address of the packet and wherein the second look up operation comprises an exact match operation to determine an action based on the route identifier and a packet header.


