Queueing system for processors in packet routing operations
First Claim
Patent Images
1. In a data-packet processor, a configurable queueing system for packet accounting during processing, the system comprising:
- a plurality of queues arranged in one or more clusters;
an identification mechanism for creating a packet identifier for arriving packets, wherein the packet identifier created is associated to a memory location where the packet itself is stored during processing, and;
insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, wherein the packet identifier created and queued comprises, in addition to the memory location, one or more of an identifier of a device from which the packet was received, an indication of whether the packet has increased or decreased in total size during processing, an indication of whether or not processing was completed on the associated packet, a next queue into which the packet identifier should be inserted, and an identifier of whether the packet is currently being processed; and
selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers.
8 Assignments
0 Petitions
Accused Products
Abstract
In a data-packet processor, a configurable queueing system for packet accounting during processing has a plurality of queues arranged in one or more clusters, an identification mechanism for creating a packet identifier for arriving packets, insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, and selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers.
101 Citations
37 Claims
-
1. In a data-packet processor, a configurable queueing system for packet accounting during processing, the system comprising:
-
a plurality of queues arranged in one or more clusters;
an identification mechanism for creating a packet identifier for arriving packets, wherein the packet identifier created is associated to a memory location where the packet itself is stored during processing, and;
insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, wherein the packet identifier created and queued comprises, in addition to the memory location, one or more of an identifier of a device from which the packet was received, an indication of whether the packet has increased or decreased in total size during processing, an indication of whether or not processing was completed on the associated packet, a next queue into which the packet identifier should be inserted, and an identifier of whether the packet is currently being processed; and
selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data-packet processor, comprising:
-
an input buffer for buffering incoming packets from one or more sources;
a local packet memory for storing packet data during processing;
a stream processor unit for processing packet data; and
a configurable queueing system for packet accounting during processing;
wherein the queueing system comprises a plurality of queues arranged in one or more clusters, an identification mechanism for creating a packet identifier for arriving packets, insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, and selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers; and
wherein the packet identifier created is associated to a memory location where the packet itself is stored during processing; and
wherein the packet identifier created and queued comprises, in addition to the memory location, one or more of an identifier of a device from which the packet was received, an indication of whether the packet has increased or decreased in total size during processing, an indication of whether or not processing was completed on the associated packet, a next queue into which the packet identifier should be inserted, and an identifier of whether the packet is currently being processed. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for accounting for packets in a data-packet processor, comprising:
-
providing in the processor a plurality of queues in one or more clusters;
creating a packet identifier for arriving packets, wherein the packet identifier created is associated to a memory location where the packet itself is stored during processing;
inserting packet identifiers into queues by an insertion mechanism having logic for determining into which queue to insert, wherein the packet identifier created and queued comprises, in addition to the memory location, one or more of an identifier of a device from which the packet was received, an indication of whether the packet has increased or decreased in total size during processing, an indication of whether or not processing was completed on the associated packet, a next queue into which the packet identifier should be inserted, and an identifier of whether the packet is currently being processed; and
selecting packet identifiers from the queues by selection logic, for initiating processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. In a data packet processor having a queueing system for managing arriving packets waiting to be processed, a packet queueing system comprising:
-
a fixed range of packet numbers; and
an assignment facility;
characterized in that the assignment facility accounts for individual numbers in the fixed range, marking numbers invalid as packets in the queueing system are sent to be processed or software activates them, and reassigning invalid numbers to newly arrived packets put into the queueing system;
wherein a packet number created is associated to a memory location where the packet itself is stored during processing; and
wherein the packet identifier created and queued comprises, in addition to the memory location, one or more of an identifier of a device from which the packet was received, an indication of whether the packet has increased or decreased in total size during processing, an indication of whether or not processing was completed on the associated packet, a next queue into which the packet identifier should be inserted, and an identifier of whether the packet is currently being processed.
-
Specification