DexterLab

🚨 New downloadable modules coming soon📘 Electrical Signaling & PHY Interfaces — new overview📘 Electrical I/O Standards — new overview📘 Integration between Theory and Design Library in progress

Packet Classifier — Architecture & Design Patterns

Introduction

The packet classifier determines how packets are categorized, prioritized, and routed within a communication system. It consumes metadata generated by the parser, evaluates header fields, applies lookup rules or policies, and assigns each packet to a specific processing path.
Classification is essential for routing, QoS enforcement, flow control, congestion management, and protocol‑specific handling.

This page describes the architecture of packet classifiers, the design patterns used in modern systems, the tradeoffs between deterministic and programmable approaches, and the practical considerations for high‑performance implementations.

Role of the Packet Classifier

The classifier transforms parsed metadata into actionable decisions. Its responsibilities include:

  • Routing decisions — selecting output ports, lanes, or virtual channels.
  • QoS and priority mapping — assigning packets to priority queues.
  • Protocol dispatch — selecting handlers for different packet types.
  • Flow identification — mapping packets to flows, streams, or sessions.
  • Security and filtering — enforcing allow/deny rules.
  • Load balancing — distributing traffic across resources.

The classifier is the central decision‑making block in the packet‑processing pipeline.

Classification Inputs

Metadata from the Parser

The classifier receives structured metadata such as:

  • protocol type
  • source/destination addresses
  • VLAN or virtual channel IDs
  • sequence numbers
  • QoS fields
  • flow control information
  • packet length and flags

External State

Classification may also depend on:

  • routing tables
  • flow tables
  • congestion state
  • scheduling policies
  • security rules

These inputs allow dynamic and context‑aware decisions.

Classification Outputs

The classifier produces:

  • queue ID — which queue or buffer to use
  • output port or lane — routing decision
  • priority level — QoS mapping
  • flow ID — for reassembly or flow control
  • action code — drop, forward, modify, or escalate

This metadata drives all downstream packet‑processing blocks.

Classification Architecture

1. Field Extraction

The classifier selects relevant fields from the metadata:

  • addresses
  • protocol identifiers
  • QoS bits
  • flow labels
  • flags and control bits

Only the fields required for classification are used.

2. Key Construction

A classification key is built by concatenating selected fields.
Examples:

  • {destination address, VLAN ID}
  • {protocol type, priority}
  • {flow label, sequence number}

The key uniquely identifies the classification rule.

3. Lookup

The key is used to index:

  • exact‑match tables
  • ternary CAMs (TCAMs)
  • hash tables
  • decision trees
  • programmable match‑action tables

The lookup returns the classification result.

4. Action Execution

The classifier applies the action associated with the lookup result:

  • assign queue
  • select output port
  • drop or forward
  • modify metadata
  • trigger flow control mechanisms

This step determines the packet’s path through the system.

Design Patterns

Exact‑Match Classification

Used when fields must match exactly (e.g., PCIe TLP types).
Advantages:

  • simple
  • fast
  • low resource usage

Ternary (Masked) Classification

Used for flexible rules (e.g., IP routing prefixes).
Advantages:

  • supports wildcards
  • supports ranges
  • highly expressive

Hash‑Based Classification

Used for:

  • load balancing
  • flow hashing
  • ECMP (Equal‑Cost Multi‑Path)

Advantages:

  • uniform distribution
  • scalable
  • low latency

Table‑Driven Match‑Action Pipelines

Used in programmable data planes and advanced NICs.
Advantages:

  • highly flexible
  • protocol‑agnostic
  • supports dynamic updates

This approach is common in SDN and P4‑based architectures.

Performance Considerations

Throughput

The classifier must sustain:

  • line‑rate throughput
  • multi‑lane parallelism
  • minimal backpressure

Parallel lookup engines and pipelined match‑action tables are common.

Latency

Low latency is essential for:

  • congestion control
  • credit‑based flow control
  • real‑time systems

Fixed‑format classification offers the lowest latency.

Resource Usage

Classification consumes:

  • memory (CAM, TCAM, SRAM)
  • logic for key construction
  • bandwidth for metadata

Efficient key selection reduces resource usage significantly.

Error Handling

Classification Errors

Errors may occur due to:

  • missing table entries
  • invalid metadata
  • unsupported protocol types
  • corrupted fields

Error Responses

Depending on system policy:

  • packet may be dropped
  • default route may be used
  • packet may be escalated to a control processor
  • error counters may be updated

Robust error handling ensures predictable behavior.

Real‑World Examples

Ethernet Switches

  • MAC address lookup
  • VLAN classification
  • QoS mapping
  • ACL (Access Control List) enforcement

PCIe

  • TLP type classification
  • traffic class mapping
  • virtual channel selection

USB4

  • routing ID classification
  • virtual channel mapping
  • flow control token handling

JESD204

  • lane and frame classification
  • deterministic latency path selection

Each protocol defines its own classification rules and performance requirements.

Related Pages

Summary

The packet classifier is the decision‑making engine of the packet‑processing pipeline.
It evaluates metadata, applies lookup rules, and determines how packets are routed, prioritized, and handled.
A well‑designed classifier ensures high throughput, low latency, and flexible policy enforcement across diverse protocols and architectures.