IP Library Granted Patent US 7,822,032
Granted Patent B1
US 7,822,032 · App. 10/814,774 · Granted Oct 26, 2010

Data structures for supporting packet data modification operations

Assignee: Extreme Networks, Inc.
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 7,822,032
App. No.
10/814,774
Granted
Oct 26, 2010
Kind
B1
Abstract

A processor readable medium storing a data structure for supporting one or more packet modification operations is provided. The data structure has a pointer to a sequence of one or more commands stored in a first memory area and implementing one or more packet modification operations. The data structure also has a pointer to a burst of one or more data or mask items stored in a second memory area for use by the one or more commands. A method of performing one or more packet modification operations on a packet is also provided. This packet is associated with a data structure link. In this method, a data structure corresponding to the data structure link is retrieved. This data structure has the format described above. A packet modification system utilizing a data structure having this format is also provided.

Claims (44)

1. A non-transitory processor readable medium having instructions stored thereon that, when executed by a processor in a switch, cause the switch to perform a method for implementing one or more packet modification operations on a packet received at the switch, wherein the method comprises:

associating a data structure link with the packet received at the switch by inserting a data structure index corresponding to the data structure link into a header of the packet;

retrieving a data structure from memory of the switch via the data structure link associated with the packet, wherein the data structure comprises:

a first pointer to a sequence of commands for execution by a processor of the switch to implement the one or more packet modification operations stored in packed format with more than one command stored in a single addressable entry in a sequence in a first memory area of the memory, and

a second pointer to a burst of data or mask items stored in packed format with more than one data or mask item stored in a single addressable entry in the stored burst in a second memory area of the memory distinct from the first memory area, the burst of data or mask items for use by the processor in executing the one or more commands;

retrieving the commands in the sequence from the first memory area via the first pointer;

retrieving the data or mask items in the burst from the second memory area via the second pointer; and

performing one or more packet modification operations on the packet by executing the commands in the sequence via the processor using the burst of data or mask items as operands or masks for operands in the one or more packet modification operations performed.

2. The non-transitory processor readable medium of claim 1 wherein the first and second memory areas are located in different memories.

3. The non-transitory processor readable medium of claim 1 wherein the first and second memory areas are located in the same memory.

4. The non-transitory processor readable medium of claim 1 wherein the data or mask items comprise data items and associated mask items, with a data item stored adjacent to its associated mask item.

5. The non-transitory processor readable medium of claim 1 wherein the first and second memory areas are located in a memory implemented off chip in relation to the processor.

6. The non-transitory processor readable medium of claim 1 wherein the first memory area is located in a memory implemented on chip in relation to the processor.

7. The non-transitory processor readable medium of claim 1 wherein the data structure comprises a plurality of pointers, each to a sequence of commands implementing one or more packet modification operations.

8. The non-transitory processor readable medium of claim 7 wherein the data structure comprises a plurality of pointers, each to a burst of data or mask items.

9. A method within a switch for performing one or more packet modification operations on a packet received at the switch, wherein the method comprises:

associating a data structure link with the packet received at the switch by inserting a data structure index corresponding to the data structure link into a header of the packet;

retrieving a data structure from memory of the switch via the data structure link associated with the packet, wherein the data structure comprises:

a first pointer to a sequence of commands for execution by a processor of the switch to implement the one or more packet modification operations stored in packed format with more than one command stored in a single addressable entry in a sequence in a first memory area of the memory, and

a second pointer to a burst of data or mask items stored in packed format with more than one data or mask item stored in a single addressable entry in the stored burst in a second memory area of the memory distinct from the first memory area, the burst of data or mask items for use by the processor in executing the one or more commands;

retrieving the commands in the sequence from the first memory area via the first pointer;

retrieving the data or mask items in the burst from the second memory area via the second pointer; and

performing one or more packet modification operations on the packet by executing the commands in the sequence via the processor using the burst of data or mask items as operands or masks for operands in the one or more packet modification operations performed.

10. The method of claim 9 wherein the first and second memory areas are:

located in different and distinct physical memories;

located in distinct portions of a same physical memory;

located in an internal recipe RAM (Random Access Memory) and an external SRAM (Static Random Access Memory) respectively;

located in a memory implemented off-chip from a modification processor to execute the sequence of commands; or

located in a memory implemented on-chip with the modification processor to execute the sequence of commands.

11. The method of claim 9 wherein the data or mask items in the burst comprise data items and associated mask items, with a data item stored adjacent to its associated mask item.

12. The method of claim 9 wherein the data structure comprises a plurality of pointers, each to a sequence of commands implementing one or more packet modification operations.

13. The method of claim 9 wherein the data structure comprises a plurality of pointers, each to a burst of data or mask items.

14. A packet modification system comprising:

an associator to associate a data structure link with a packet received at the packet modification system by inserting a data structure index corresponding to the data structure link into a header of the packet;

a physical memory to store a data structure comprising:

a first pointer to a sequence of commands implementing one or more packet modification operations and stored in a first memory area of the physical memory in packed format with more than one command stored in a single addressable entry in the stored sequence, and

a second pointer to a burst of data or mask items stored in a second memory area of the physical memory distinct from the first memory area in packed format with more than one data or mask item stored in a single addressable entry in the stored burst; and

a processor to:

retrieve the commands in the sequence from the first memory area via the first pointer;

retrieve the data or mask items in the burst from the second memory area via the second pointer, and

execute the commands in the sequence using the burst of data or mask items as operands or masks for operands in the one or more packet modification operations.

15. The system of claim 14 wherein the first and second memory areas are located in different memories.

16. The system of claim 14 wherein the first and second memory areas are located in the same physical memory.

17. The system of claim 14 wherein the processor comprises a pipeline processor core to retrieve the commands in the sequence in a first stage, and execute the commands in the sequence in one or more subsequent stages.

Assignments (10)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2004
From: PARKER, DAVID K.; SWENSON, ERIK R.; YOUNG, CHRISTOPHER J.
To: EXTREME NETWORKS, INC.
Reel/Frame 015229/0102 →