IP Library Granted Patent US 7,333,490
Granted Patent B2
US 7,333,490 · App. 10/359,041 · Granted Feb 19, 2008

Table driven programming system for a services processor

Assignee: Intel Corporation
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,333,490
App. No.
10/359,041
Granted
Feb 19, 2008
Kind
B2
Abstract

The invention provides apparati and methods for processing a packet. The processing is done according to a table and context based scheme.

Claims (39)

1. A method comprising:

receiving a data packet;

associating a packet context with the data packet in response to receiving the data packet;

storing information related to the data packet in the packet context;

determining a first action in an initial action table;

storing a pointer to the first action in the packet context;

retrieving the first action; and

processing the data packet, wherein processing the data packet includes:

processing the first action, the first action including a pointer to a next action, and

storing the pointer to the next action in the packet context in place of the pointer to the first action in response to processing of the first action.

2. The method of claim 1 , further comprising:

receiving symbolic names of protocols within the data packet; and

translating the symbolic names of protocols into encapsulation pointers.

3. The method of claim 2 , further comprising:

receiving symbolic names for fields within the protocols; and

translating the symbolic names for fields within the protocols into encapsulation pointer relative offsets.

4. The method of claim 1 , wherein associating the packet context with the data packet comprising associating a separate packet context for each received data packet.

5. An apparatus for processing a data packet, comprising:

an input unit for receiving the data packet;

a packet processing controller connected to the input unit for initiating a packet context for the received data packet in response to the data packet being received, assigning an initial action table to hold at least a first action entry and a second action entry to the data packet, and storing a pointer to a first action entry in the packet context, the first action entry including a pointer to the second action entry, wherein the pointer to the second action entry is stored in the packet context in place of the pointer to the first action entry in response to execution of the first action;

a field extraction unit for extracting a field from the data packet under direction of the packet processing controller;

a table entry processor for receiving and decoding action entries, generating a command in response to the first action entry that causes the packet processing controller to cause the field extraction unit to extract a field from the data packet, and generating a command in response to a second action entry that causes the packet processing controller to store a packet edit in the packet context; and

an editing unit for receiving the packet edit stored in the packet context from the packet processing controller and editing the data packet.

6. The apparatus of claim 5 , wherein the packet context comprises a set of registers for the data packet.

7. The apparatus of claim 5 , wherein a separate packet context is associated with each received data packet.

8. A computer-readable medium containing computer program code for processing a data packet, the computer program code comprising instructions for performing the steps of:

associating a packet context with the data packet in response to receiving the data packet;

storing information related to the data packet in the packet context;

determining a first action in an initial action table;

storing a pointer to the first action in the packet context;

retrieving the first action; and

processing the first action, the first action including a pointer to a next action, the pointer to the next action being stored in the packet context in place of the pointer to the first action in response to processing of the first action.

9. The medium of claim 8 , wherein associating the packet context with the data packet comprising associating a separate packet context for each received data packet.

10. The medium of claim 8 , further comprising instructions for:

receiving symbolic names of protocols within the data packet; and

translating the symbolic names of protocols into encapsulation pointers.

11. The medium of claim 10 , further comprising instructions for:

receiving symbolic names for fields within the protocols; and

translating the symbolic names for fields within the protocols into encapsulation pointer relative offsets.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2003
From: FAST-CHIP, INC.
To: INTEL CORP.
Reel/Frame 013882/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2003
From: HENDERSON, ALEX E.; CROFT, WALTER E.
To: FAST-CHIP, INC.
Reel/Frame 013882/0495 →
Continuity (2)
Provisional Application 6035440500 · Feb 4, 2002
Related Publication 20030231634A1 · Dec 18, 2003