TCAM Sub-range Segmentation for ACL Entry Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing networking technologies inefficiency in representing consecutive integer ranges using TCAMs leads to increased resource usage and processing time, especially when ACL rules involve multiple fields, resulting in a large number of required TCAM entries.

Innovation Solution

A method to break down integer ranges into sub-ranges represented by TCAM values and masks, determining the first TCAM value and mask based on the minimum and maximum values, and iteratively covering the entire range with multiple sub-ranges, reducing the number of TCAM entries needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If consecutive integer ranges are represented using single TCAM value and mask entries, then storage efficiency is improved, but the ability to accurately represent non-contiguous or complex ranges deteriorates

Engineering Contradiction:
Improvenumber of TCAM entriesVSAvoidrange representation accuracy
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent segments a large integer range into multiple smaller sub-ranges, each representable by a single TCAM value and mask entry. For example, a range from 0 to 1024 is divided into sub-ranges like 0-1023 and 1024-1024, with each sub-range stored as a separate TCAM entry. This segmentation allows accurate representation of complex ranges while minimizing the total number of TCAM entries required.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple fields in ACL rules are enumerated with individual entries, then rule accuracy is improved, but the number of required TCAM entries increases exponentially

Engineering Contradiction:
ImproveACL rule accuracyVSAvoidnumber of TCAM entries
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple ACL rules that share common field ranges into a single TCAM entry by combining the value and mask fields. For example, multiple rules with different source ports but the same destination port and action can be merged into one TCAM entry with a mask that covers all source port variations. This merging reduces the exponential growth of TCAM entries while preserving rule accuracy through proper mask configuration.

Inventive Principle:
Principle #5Merging (Combining)

3Manufacturing precision

If administrators manually configure each TCAM entry individually, then configuration precision is improved, but configuration time and resource utilization increase

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidadministrator productivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent performs preliminary automated calculations to determine the optimal segmentation of integer ranges into sub-ranges before TCAM configuration. The system automatically computes the minimum number of sub-ranges needed, calculates the appropriate value and mask for each sub-range, and prepares the configuration data in advance. This preliminary action eliminates manual trial-and-error configuration while ensuring precision, significantly improving administrator productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11316828B2Networking sub-ranges
Publication Date: 2022.04.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11316828B2 patent drawing
  • US11316828B2 patent drawing
  • US11316828B2 patent drawing

AI summary

Examples include receiving a first minimum value in a range of consecutive networking integers, determining a first ternary content-addressable memory (TCAM) value based on the minimum, determining a number of trailing zeros in the first TCAM value, determining a proposed TCAM mask based on the number of trailing zeros and a binary opposite of the TCAM value, comparing the proposed TCAM mask to a maximum value associated with the range, determining a first TCAM mask for the first TCAM value based on the comparison, and setting the first TCAM value and the first TCAM mask in a networking device TCAM.