Longest Prefix Matching via Multibit Trie Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet switching technologies face inefficiencies in processing packets due to the complexity of longest prefix matching operations, which can lead to increased memory usage and processing overhead, especially in high-speed and high-capacity networks.

Innovation Solution

A packet switching device employs a multibit trie data structure and hash table lookup operations to determine the longest matching prefix by traversing the trie data structure to identify mask lengths and performing parallel hash table lookups, thereby reducing memory usage and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional longest prefix matching is used, then packet forwarding accuracy is maintained, but processing time and memory usage increase

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the longest prefix matching process into two distinct phases: (1) determining a subset of candidate prefix lengths by traversing a multibit trie data structure, and (2) performing hash table lookups only for those candidate lengths. This segmentation reduces the search space from all possible prefix lengths to a limited subset, thereby decreasing processing time while maintaining matching accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by first traversing the multibit trie to identify and determine the subset of candidate prefix lengths before executing the hash table lookup operations. This preliminary filtering of candidate lengths ensures that subsequent hash table lookups are performed only on relevant entries, reducing overall processing time while preserving the correctness of the longest prefix match.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If traditional longest prefix matching is used, then packet forwarding accuracy is maintained, but memory requirements increase

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the memory access pattern by first determining which hash tables (corresponding to specific prefix lengths) need to be searched based on the multibit trie traversal. This segmentation allows the system to access only the necessary hash tables rather than scanning all possible prefix length tables, thereby reducing memory bandwidth requirements and effective memory usage while maintaining forwarding accuracy.

Inventive Principle:
Principle #1Segmentation

3Speed

If more prefix lengths are searched in parallel, then matching speed increases, but device complexity increases

Engineering Contradiction:
Improvematching speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a dynamic approach where the number of parallel hash table lookups performed is determined by the multibit trie traversal results rather than being fixed. The system dynamically selects the subset of candidate prefix lengths to search in parallel, allowing the hardware complexity to adapt to the specific routing table characteristics and packet addresses, thereby achieving high matching speed without requiring maximum hardware complexity for all cases.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3777055B1Longest prefix matching
Publication Date: 2022.05.04 CISCO TECHNOLOGY INC
  • EP3777055B1 patent drawingFigure 1A~1B
  • EP3777055B1 patent drawingFigure 2A~2B
  • EP3777055B1 patent drawingFigure 2C

AI summary

One embodiment performs longest prefix matching operations in one or more different manners that provides packet processing and/or memory efficiencies in the processing of packets. In one embodiment, a packet switching device determines a set of one or more mask lengths of a particular conforming entry of a multibit trie or other data structure that matches a particular address of a packet via a lookup operation in a mask length data structure. A conforming entry refers to an entry which has less than or equal to a maximum number of different prefix lengths, with this maximum number corresponding to the maximum number of prefix lengths which can be searched in parallel in the address space for a longest matching prefix by the implementing hardware. The packet switching device then performs corresponding hash table lookup operation(s) in parallel in determining an overall longest matching prefix for the particular address.