Multi-level Packet Classification via Flow Table Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network traffic processing systems face inefficiencies in packet classification and routing, particularly due to the limitations of single-level connection data structures and the binding of queues to specific CPUs, which can lead to bottlenecks and reduced performance in handling multiple connections.

Innovation Solution

A method and system employing multi-level packet classification using a flow table with flow table entries and sub-flow tables, where packets are routed to hardware or software receive rings based on matching functions, allowing for more efficient processing and distribution across multiple receive rings and virtual network interface cards.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If single-level connection data structures are used, then device complexity is reduced, but packet classification precision and routing efficiency deteriorate

Engineering Contradiction:
Improveconnection data structure complexityVSAvoidpacket classification precision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent divides the connection data structure into multiple hierarchical levels: a first data structure storing common flow information and a second data structure storing connection-specific information. This segmentation allows the system to maintain detailed classification precision while managing complexity through modular organization, where each level handles specific aspects of packet classification independently.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If queues are bound to specific CPUs, then processing stability is improved, but system productivity and flexibility deteriorate due to bottlenecks

Engineering Contradiction:
Improveprocessing stabilityVSAvoidpacket processing productivity
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent introduces a new dimension of abstraction by implementing virtual network interface cards (VNICs) that sit between physical NICs and CPU queues. This dimensional addition allows packets to be routed through virtual layers before reaching physical processing units, enabling dynamic load distribution across multiple CPUs while maintaining stable queue structures. The virtual layer decouples the binding between queues and specific CPUs, improving both productivity and flexibility.

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

3Productivity

If multi-level packet classification is implemented, then packet processing efficiency and routing precision are improved, but device complexity increases

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidclassification system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The classification system is segmented into multiple hierarchical levels where each level handles specific classification tasks. The first data structure manages coarse-grained flow identification while the second data structure handles fine-grained connection details. This segmentation improves processing efficiency by eliminating the need for single exhaustive classification passes, while complexity is managed through clear separation of concerns at each level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification actions at the first data structure level before packets reach the second data structure. Common flow information is identified and stored upfront, allowing subsequent connection-specific classification to operate on pre-filtered data. This preliminary action reduces the processing burden at later stages, improving overall efficiency while maintaining structured complexity management.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If multiple receive rings and virtual network interface cards are used, then adaptability and packet distribution capability are improved, but device complexity and resource requirements increase

Engineering Contradiction:
Improvepacket routing adaptabilityVSAvoidnetwork interface complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Virtual network interface cards are designed as universal intermediaries that can handle multiple functions: packet reception, classification, virtualization, and routing to different receive rings. This multi-functionality allows a single VNIC layer to replace what would otherwise require multiple specialized components, improving adaptability while managing complexity through consolidation of diverse functions into a unified virtual interface layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7848331B2Multi-level packet classification
Publication Date: 2010.12.07 ORACLE AMERICAN INC
  • US7848331B2 patent drawing
  • US7848331B2 patent drawing
  • US7848331B2 patent drawing

AI summary

A method for processing a packet that includes receiving the packet where the packet comprises a header, and traversing a flow table comprising a plurality of flow table entries (FTEs) for each FTE encountered during the traversal, obtaining a packet matching function associated with the FTE, applying the packet matching function associated with the FTE to the header to determine whether the packet matches the FTE, if the packet matches the FTE, send the packet to one selected from the group consisting of one of a plurality of receive rings (RRs) and a first sub-flow table, where the first sub-flow table is associated with the FTE, stopping the traversal of the flow table, and if the packet does not match the FTE continue the traversal of the flow table.