IP Library Granted Patent US 7,043,544
Granted Patent B2
US 7,043,544 · App. 10/029,703 · Granted May 9, 2006

Processor with multiple-pass non-sequential packet classification feature

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,043,544
App. No.
10/029,703
Granted
May 9, 2006
Kind
B2
Abstract

A network processor or other type of processor includes classification circuitry and memory circuitry coupled to the classification circuitry. The memory circuitry is configured to store at least a portion of at least a given one of a number of packets to be processed by the classification circuitry. The classification circuitry implements a non-sequential packet classification process for at least a subset of the packets including the given packet. For example, in an embodiment in which the given packet is generated in accordance with multiple embedded protocols, the non-sequential packet classification process allows the processor to return from a given point within the packet, at which a final one of the protocols is identified, to a beginning of the packet, through the use of a “skip to beginning” instruction. The skip to beginning instruction may be configured to allow the processor to skip back to a particular bit, e.g., a first bit, of the given packet at a time during the classification process after which the particular bit has been processed, such that multiple passes of the classification process can be performed on the given packet. The processor may be configured as a network processor integrated circuit to provide an interface between a network from which the packet is received and a switch fabric in a router or switch.

Claims (24)

1. A processor comprising:

classification circuitry; and

memory circuitry coupled to the classification circuitry and being configurable to store at least a portion of at least a given one of a plurality of packets to be processed by the classification circuitry;

wherein the classification circuitry is configurable to implement a non-sequential packet classification process for at least a subset of the plurality of packets including the given packet, the non-sequential packet classification process being configurable to cause the processor to skip back to a particular non-initial bit of the given packet at a time during the classification process after which the particular non-initial bit has been processed, such that multiple passes of the classification process can be performed on the given packet.

2. The processor of claim 1 wherein the given packet is generated in accordance with multiple embedded protocols, and the non-sequential packet classification process allows the processor to return from a given point within the packet at which a final one of the protocols is identified to a beginning of the packet.

3. The processor of claim 2 wherein the given point within the packet comprises a point at which a Transmission Control Protocol (TCP) destination is identified.

4. The processor of claim 1 wherein the non-sequential packet classification process is implementable without loss of any portion of the packet.

5. The processor of claim 1 wherein the non-sequential packet classification process is further configurable to execute at least one skip to beginning instruction that causes the processor to skip back to an initial bit of the given packet.

6. The processor of claim 5 wherein the skip to beginning instruction is executable in the processor under the control of an external host device operatively coupled to the processor.

7. The processor of claim 1 wherein the processor is configurable to provide an interface between a network from which the packets are received and a switch fabric.

8. The processor of claim 1 wherein the memory circuitry comprises an internal memory of the processor configurable to store a designated portion of the given packet and an external memory coupled to the processor and configurable to store substantially the entire given packet.

9. The processor of claim 1 wherein the classification circuitry comprises at least a first pass classifier and a second pass classifier, the non-sequential packet classification process being implementable in at least the second pass classifier.

10. The processor of claim 9 wherein the first pass classification comprises at least one of a reassembly operation, a parity check and a priority determination.

11. The processor of claim 9 wherein the first pass classification generates information which is passed in a specified data structure to the second pass classifier for use in the non-sequential packet classification process.

12. The processor of claim 1 wherein the processor comprises a network processor.

13. The processor of claim 1 wherein the processor is configured as an integrated circuit.

14. A method for use in a processor comprising classification circuitry and memory circuitry coupled to the classification circuitry, the method comprising the steps of:

storing in the memory circuitry at least a portion of at least a given one of a plurality of packets to be processed by the packet classification circuitry; and

configuring the packet classification circuitry to implement a non-sequential packet classification process for at least a subset of the plurality of packets including the given packet;

wherein the non-sequential packet classification process is configurable to cause the processor to skip back to a particular non-initial bit of the given packet at a time during the classification process after which the particular non-initial bit has been processed, such that multiple passes of the classification process can be performed on the given packet.

15. The method of claim 14 wherein the given packet is generated in accordance with multiple embedded protocols, and the non-sequential packet classification process allows the processor to return from a given point within the packet at which a final one of the protocols is identified to a beginning of the packet.

16. The method of claim 14 wherein the non-sequential packet classification process is implementable without loss of any portion of the packet.

17. The method of claim 14 wherein the non-sequential packet classification process is further configurable to execute at least one skip to beginning instruction that causes the processor to skip back to an initial bit of the given packet.

18. The method of claim 14 wherein the classification circuitry comprises at least a first pass classifier and a second pass classifier, the non-sequential packet classification process being implementable in at least the second pass classifier.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded Oct 19, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 034014/0846 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2002
From: BAKER, WILLIAM E.; CALLE, MAURICIO; KIRK, JAMES T.; MCDANIEL, BETTY A.
To: AGERE SYSTEMS INC.
Reel/Frame 012702/0435 →