Packet Classification TCAM Layout for Rule Cartesian Products

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet classification algorithms in communication networks face inefficiencies due to backtracking and large TCAM sizes, which hinder scalable and efficient processing of packets based on header fields.

Innovation Solution

A network device with action-select circuitry that determines actions by generating composite search keys from packet headers, utilizing Ternary Content-Addressable Memory (TCAM) to efficiently match packet fields and apply corresponding actions, reducing the need for large TCAM sizes and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hierarchical trie packet classification algorithms are used, then packet classification can be performed, but backtracking and empty nodes reduce processing efficiency

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidtime lost to backtracking
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the packet classification problem into two independent phases: first comparing header fields against rule sets to generate match vectors, then using those match vectors to select actions. This segmentation eliminates backtracking by separating the matching process from the decision process, allowing each phase to operate independently and efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary comparison of packet header fields against rule sets before final action selection. By pre-computing match vectors that indicate which rules match each header field, the system prepares classification information in advance, eliminating the need for backtracking during actual packet processing.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If large rule sets are used for comprehensive packet classification, then classification accuracy improves, but TCAM size and memory requirements increase

Engineering Contradiction:
Improveclassification accuracyVSAvoidTCAM size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the large rule set into multiple rule sets, each comparing a different header field against a subset of rules. This segmentation allows comprehensive classification coverage while distributing memory requirements across multiple smaller comparison structures, reducing the burden on any single TCAM.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the classification process by introducing match vectors that encode which rules match each header field. Instead of storing all rule combinations in a single large TCAM, the system uses this vector dimension to efficiently represent and process large rule sets with reduced memory requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If comprehensive rule sets are implemented, then packet classification coverage improves, but processing time increases due to larger comparison spaces

Engineering Contradiction:
Improveclassification coverageVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the classification process into independent comparison phases, each handling a specific header field against a rule set. This segmentation allows comprehensive coverage across multiple header fields while maintaining efficient processing time, as each segment operates independently without requiring exhaustive search through all rules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The match vectors generated for each header field comparison serve the dual purpose of identifying matching rules and enabling efficient action selection. This self-service mechanism allows the comparison results to directly drive the classification decision without requiring additional processing steps, reducing overall processing time.

Inventive Principle:
Principle #25Self-service

4Ease of manufacture

If traditional packet classification methods are used, then implementation is straightforward, but silicon area and power consumption increase

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsilicon area
Core Design Contradiction:
Ease of manufactureVSArea of stationary object

Solution Approach 1:

The patent segments the packet classification functionality into modular components: header field extractors, rule set comparators, match vector generators, and action selectors. This modular segmentation maintains implementation simplicity while reducing silicon area, as each module can be independently optimized and only the necessary modules are instantiated based on specific classification requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11968285B2Efficient memory utilization for cartesian products of rules
Publication Date: 2024.04.23 MELLANOX TECHNOLOGIES LTD(IL)
  • US11968285B2 patent drawing
  • US11968285B2 patent drawing
  • US11968285B2 patent drawing

AI summary

A network device includes one or more ports, and action-select circuitry. The ports are to exchange packets over a network. The act-ion-select circuitry is to determine, for a given packet, a first search key based on a first header field of the given packet, and a second search key based on a second header field of the given packet, to compare the first search key to a first group of compare values, to output a multi-element vector responsively to a match between the first search key and a first compare value, to generate a composite search key by concatenating the second search key and the multi-element vector, to compare the composite search key to a second group of compare values, and, responsively to a match between the composite search key and a second compare value, to output an action indicator for applying to the given packet.