In-line packet processing
First Claim
1. A method comprising:
- determining, by a device, information regarding a destination of a data packet,the data packet including a plurality of headers,each header, of the plurality of headers, corresponding to one of a plurality of network protocol layers;
retrieving, by the device, the data packet from a memory associated with the device;
retrieving, by the device, a common template associated with a common portion of a header of the plurality of headers;
retrieving, by the device, a custom template associated with a unique portion of the header;
constructing, by the device, header data associated with a network protocol layer, of the plurality of network protocol layers, based on the information regarding the destination of the data packet and based on retrieving the common template and the custom template,the header data including the common portion and the unique portion, andthe header data being constructed while the data packet is being retrieved from the memory; and
transmitting, by the device and toward the destination, the data packet with the header data.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for in-line processing a data packet while routing the packet through a router in a system transmitting data packets between a source and a destination over a network including the router. The method includes receiving the data packet and pre-processing layer header data for the data packet as the data packet is received and prior to transferring any portion of the data packet to packet memory. The data packet is thereafter stored in the packet memory. A routing through the router is determined including a next hop index describing the next connection in the network. The data packet is retrieved from the packet memory and a new layer header for the data packet is constructed from the next hop index while the data packet is being retrieved from memory. The new layer header is coupled to the data packet prior to transfer from the router.
-
Citations
20 Claims
-
1. A method comprising:
-
determining, by a device, information regarding a destination of a data packet, the data packet including a plurality of headers, each header, of the plurality of headers, corresponding to one of a plurality of network protocol layers; retrieving, by the device, the data packet from a memory associated with the device; retrieving, by the device, a common template associated with a common portion of a header of the plurality of headers; retrieving, by the device, a custom template associated with a unique portion of the header; constructing, by the device, header data associated with a network protocol layer, of the plurality of network protocol layers, based on the information regarding the destination of the data packet and based on retrieving the common template and the custom template, the header data including the common portion and the unique portion, and the header data being constructed while the data packet is being retrieved from the memory; and transmitting, by the device and toward the destination, the data packet with the header data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium storing instructions, the instructions comprising:
one or more instructions which, when executed by a network device, cause the network device to; determine information regarding a destination of a data packet, the data packet including a plurality of headers, each header, of the plurality of headers, corresponding to one of a plurality of network protocol layers; retrieve the data packet from a memory associated with the network device; retrieve a common template associated with a common portion of a header of the plurality of headers; retrieve a custom template associated with a unique portion of the header; construct header data associated with a network protocol layer, of the plurality of network protocol layers, based on the information regarding the destination of the data packet and based on retrieving the common template and the custom template, the header data including the common portion and the unique portion, and the header data being constructed while the data packet is being retrieved from the memory; and transmit, toward the destination, the data packet with the header data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A system comprising:
-
a memory to store instructions; and a processor, to execute the instructions, to; determine information regarding a destination of a data packet, the data packet including a plurality of headers, each header of the plurality of headers corresponding to one of a plurality of network protocol layers; retrieve the data packet from the memory; retrieve a common template associated with a common portion of a header of the plurality of headers; retrieve a custom template associated with a unique portion of the header; construct header data associated with a network protocol layer, of the plurality of network protocol layers, based on the information regarding the destination of the data packet and based on retrieving the common template and the custom template, the header data including the common portion and the unique portion, and the header data being constructed while the data packet is being retrieved from the memory; and transmit, toward the destination, the data packet with the header data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification