Packet Field Descriptors for Flexible Match-Action Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware switches in Software Defined Networking (SDN) lack flexibility in processing various types of packets due to a fixed set of fields and limited repertoire of packet processing actions.

Innovation Solution

A hardware forwarding element with a parser, match-action stages, and a configurable deparser that uses data containers and descriptive data to reconstruct packets, allowing flexible processing of all types of packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all packet header fields are transmitted through match-action stages, then complete packet processing capability is achieved, but processing efficiency decreases due to redundant data transmission

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidpacket processing flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent extracts only the necessary packet header fields that match-action stages require, separating them from the complete packet header. This extracted subset is transmitted through the match-action pipeline, while the remaining header fields bypass this stage. This resolves the contradiction by reducing redundant data transmission (improving efficiency) while maintaining the ability to process all required fields (preserving flexibility).

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The packet header is segmented into two parts: fields required by match-action stages and fields not required by these stages. This segmentation allows selective transmission of only necessary fields through the match-action pipeline, improving processing efficiency while the deparser reconstructs the complete packet header using both segments, maintaining full packet processing capability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a fixed set of fields is used in hardware switches, then device complexity is reduced, but adaptability to different packet types deteriorates

Engineering Contradiction:
Improvepacket type flexibilityVSAvoidpacket processing architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The deparser is designed as a universal component that can reconstruct packet headers for multiple protocol types (Ethernet, IP, TCP, UDP, etc.). It receives scattered header fields from different sources and systematically reassembles them according to the required packet format. This multi-functional capability provides adaptability to different packet types without requiring separate processing paths for each protocol, managing device complexity while enhancing versatility.

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

Solution Approach 2:

The patent introduces data containers as intermediary structures that hold packet header fields. These containers act as a universal interface between the parser, match-action stages, and deparser, allowing flexible field extraction and reassembly without hardcoding protocol-specific logic in each component. This intermediary mechanism enables adaptability to various packet types while maintaining a relatively simple and unified device architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12375588B2Generation of descriptive data for packet fields
Publication Date: 2025.07.29 BAREFOOT NETWORKS INC
  • US12375588B2 patent drawing
  • US12375588B2 patent drawing
  • US12375588B2 patent drawing

AI summary

Some embodiments provide a method for a parser of a processing pipeline. The method receives a packet for processing by a set of match-action stages of the processing pipeline. The method stores packet header field (PHF) values from a first set of PHFs of the packet in a set of data containers. The first set of PHFs are for use by the match-action stages. For a second set of PHFs not used by the match-action stages, the method generates descriptive data that identifies locations of the PHFs of the second set within the packet. The method sends (i) the set of data containers to the match-action stages and (ii) the packet data and the generated descriptive data outside of the match-action stages to a deparser that uses the packet data, generated descriptive data, and the set of data containers as modified by the match-action stages to reconstruct a modified packet.