IP Library Granted Patent US 10,645,032
Granted Patent B2
US 10,645,032 · App. 14/193,199 · Granted May 5, 2020

Packet processing match and action unit with stateful actions

Inventors: Patrick W. Bosshart (Plano, TX); Hun-Seok Kim (Dallas, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
H04L49/90
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,645,032
App. No.
14/193,199
Granted
May 5, 2020
Kind
B2
Abstract

A packet processing block. The block comprises an input for receiving data in a packet header vector, where the vector comprises data values representing information for a packet. The block also comprises circuitry for performing packet match operations in response to at least a portion of the packet header vector and data stored in a match table and circuitry for performing one or more actions in response to a match detected by the circuitry for performing packet match operations. The one or more actions comprise modifying the data values representing information for a packet. The block also comprises at least one stateful memory comprising stateful memory data values. The one or more actions includes various stateful actions for reading stateful memory, modifying data values representing information for a packet, as a function of the stateful memory data values; and storing modified stateful memory data value back into the stateful memory.

Claims (44)

1. A packet processing device, comprising:

a first memory configured to store match data;

a second memory configured to store a data value in a memory location;

packet match circuitry coupled to the first memory, the packet match circuitry configured to detect a match between at least a portion of a packet header vector and the match data, the packet header vector comprising packet data for a packet; and

stateful action circuitry coupled to the packet match circuitry and to the second memory, the stateful action circuitry configured to perform stateful actions responsive to the match, in which the stateful actions comprise:

a first stateful action to read a data value from the memory location;

a second stateful action to modify the packet data responsive to the read data value;

a third stateful action to modify the read data value to have a different state;

a fourth stateful action to store the modified read data value back into the memory location;

a fifth stateful action to subsequently read the modified read data value; and

a sixth stateful action responsive to the different state.

2. The packet processing device of claim 1 , wherein:

the stateful actions comprise providing an address of the memory location.

3. The packet processing device of claim 1 , wherein:

the stateful actions comprise a memory output function responsive to the read data value.

4. The packet processing device of claim 3 , wherein:

the third stateful action comprises performing a memory modification function.

5. The packet processing device of claim 4 , wherein:

the stateful actions comprise providing an address to access an update function from the second memory, in which the update function is for performing the memory modification function.

6. The packet processing device of claim 5 , wherein:

the stateful actions comprise providing an address to access an output function from the second memory, and performing the output function as a function of the read data value.

7. The packet processing device of claim 6 , wherein:

the address to access the update function is equal to the address to access the output function.

8. The packet processing device of claim 1 , wherein:

the second stateful action is to modify a packet header field; and

the stateful actions comprise providing the packet header field.

9. The packet processing device of claim 1 , wherein:

the third stateful action is provided by a memory modification function; and

the stateful actions comprise providing the memory modification function.

10. The packet processing device of claim 9 , wherein:

the stateful actions comprise providing an address to access an update function from the second memory, in which the update function is for performing the memory modification function.

11. The packet processing device of claim 1 , wherein the fifth stateful action comprises reading the modified read data value from the memory location.

12. A packet network, comprising:

a controller;

network stations configured to transmit and receive packets; and

a processing device coupled to the controller, the processing device comprising:

a first memory configured to store match data;

a second memory configured to store a data value in a memory location;

packet match circuitry coupled to the first memory, the packet match circuitry configured to detect a match between at least a portion of a packet header vector and the match data, the packet header vector comprising packet data for a packet; and

stateful action circuitry coupled to the packet match circuitry and to the second memory, the stateful action circuitry configured to perform stateful actions responsive to the match, in which the stateful actions comprise:

a first stateful action to read a data value from the memory location;

a second stateful action to modify the packet data responsive to the read data value;

a third stateful action to modify the read data value; and

a fourth stateful action to store the modified read data value back into the memory location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2014
From: BOSSHART, PATRICK W.; KIM, HUN-SEOK
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 032478/0375 →
Continuity (2)
Provisional Application 61770932 · Feb 28, 2013
Related Publication 20140244966A1 · Aug 28, 2014