Selective header field dispatch in a network processing system
First Claim
1. A method of routing packets in a communications network including the acts of:
- (a) receiving a packet in a first unit;
(b) selecting a dispatch message format based upon parameters in the packet;
(c) extracting selected fields from protocol headers contained within said packet; and
(d) arranging the selected fields to generate a dispatch message.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and structure is disclosed for dispatching appropriate data to a network processing system comprising an improved technique for extracting protocol header fields for use by the network processor. This technique includes basic classification of a packet according to the types of protocol headers present in the packet. Based on the results of the classification, specific parameter fields are extracted from corresponding headers. All such parameter fields from one or more protocol headers in the packet are concatenated into a compressed dispatch message. Multiple of such dispatch messages are bundled into a single composite dispatch message. Thus selected header fields from N packets are passed to the network processor in a single composite dispatch message, increasing the network processor'"'"'s packet forwarding capacity by a factor of N. Likewise, multiple enqueue messages are bundled into a single composite enqueue message to direct enqueue and frame alterations to be taken on the bundle of N packets.
-
Citations
31 Claims
-
1. A method of routing packets in a communications network including the acts of:
-
(a) receiving a packet in a first unit;
(b) selecting a dispatch message format based upon parameters in the packet;
(c) extracting selected fields from protocol headers contained within said packet; and
(d) arranging the selected fields to generate a dispatch message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 20)
-
-
8. A communications system including:
-
a data flow unit operatively coupled to at least one input port and at least one output port;
header field extraction sub-system operatively coupled to said data flow, said header field extraction sub-system extracting selected fields from headers contained in received packets and concatenating the selected fields into dispatch messages which are transmitted;
at least one network processor receiving said dispatch messages and generating enqueue messages which are forwarded to said data flow unit; and
switch interface coupling the data flow unit to the network processor. - View Dependent Claims (9, 10)
-
-
11. A protocol for transmitting data comprising:
a first cell having a cell header field;
a composite frame header field concatenated to said cell header field; and
a chain of selected header parameter fields operatively coupled to said composite frame header field wherein each of said selected header parameter fields operable to carry selected header parameters extracted from separate network packets. - View Dependent Claims (25)
-
12. A data flow unit including:
-
at least one input port;
header field extraction mechanism operatively coupled to the at least one input port, said header field extraction mechanism extracting selected fields from protocol headers contained in packets received by said at least one input port and concatenating the selected fields in a dispatch message;
a switch interface operatively coupled to the data flow unit;
at least one output port; and
enqueue frame alteration mechanism operatively coupled to the switch interface and the at least one output port, said enqueue frame alteration mechanism processing packets in accordance with commands in enqueue message received over the switch interface. - View Dependent Claims (13, 14, 19)
-
-
15. A Network Processor including:
-
an ingress packet memory;
embedded processor complex including a plurality of processors;
ingress data flow coupling the ingress packet memory to the embedded processor complex;
egress packet memory;
egress data flow operatively coupling the egress packet memory to the embedded processor complex;
wherein processors in said processing complex are programmed to independently process each selected header parameter contained in received composite dispatch message combining results for each independently processed selected header into a composite enqueue message.
-
-
16. A method to route packets in a communications network comprising the acts of:
-
receiving a packet in a network unit;
identifying the protocol headers associated with said packet;
selects a dispatch message format appropriate for protocol headers in the packet;
extracting selected fields from the protocol header; and
concatenating the selected fields in a dispatch message. - View Dependent Claims (17, 18)
-
-
21. A method comprising the acts of:
generating a first cell to transport data having at least a cell header field, a composite frame header field concatenated to the cell header field, TOS field, QID field and delay counter field operatively concatenated to the cell header field, TOS field, QID field and delay counter field operatively concatenated to one another and to the composite frame header field, frame alteration control field concatenated to TOS, QID and Delay Counter Control field and at least one field for carrying payload concatenated to the frame alteration field. - View Dependent Claims (22, 23, 24)
-
26. A method of processing information within a network device comprising the acts of:
-
(a) receiving in a network processor an aggregate dispatch message containing headers selected from different network packets;
(b) process a header in accordance with forwarding code executed on at least one processor for a selected packet within the aggregate dispatch message;
(c) saving information resulting from processing in step (b);
(d) repeating steps (b) and (c) until all headers in the aggregate dispatch message have been processed; and
(e) forming an aggregate enqueue message with results saved from processing the aggregate dispatch message. - View Dependent Claims (27, 28, 29)
-
-
30. A program product including:
-
a computer readable medium on which at least one computer program is recorded, said at least one computer program including a first code module containing code that selects header serially within aggregate dispatch messages;
second code module containing code that processes each selected header in accordance with selected instructions and saving information resulting from said processing; and
third code module containing code that formats all saved information into aggregate enqueue message. - View Dependent Claims (31)
-
Specification