In-line packet processing
First Claim
1. A device, comprising:
- one or more processors, at least partially implemented in hardware, to;
determine information identifying a destination of a data packet;
receive the data packet,the data packet being received at a multiport of the device, andthe data packet including a plurality of headers;
retrieve a plurality of templates associated with the plurality of headers,the plurality of templates including a common template and a custom template;
modify the data packet based on the information and based on retrieving the plurality of templates,the data packet being modified while the data packet is being received; and
transmit, via a transmitter, the data packet toward the destination after modifying the data packet,the one or more processors comprising the transmitter.
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 device, comprising:
one or more processors, at least partially implemented in hardware, to; determine information identifying a destination of a data packet; receive the data packet, the data packet being received at a multiport of the device, and the data packet including a plurality of headers; retrieve a plurality of templates associated with the plurality of headers, the plurality of templates including a common template and a custom template; modify the data packet based on the information and based on retrieving the plurality of templates, the data packet being modified while the data packet is being received; and transmit, via a transmitter, the data packet toward the destination after modifying the data packet, the one or more processors comprising the transmitter. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to; determine information identifying a destination of a packet; receive the packet, the packet including a plurality of headers; retrieve a plurality of templates associated with the plurality of headers, the plurality of templates including a common template and a custom template; modify the packet based on the information and based on retrieving the plurality of templates, the packet being modified while the packet is being received; and transmit the packet toward the destination after modifying the packet. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
15. A method, comprising:
-
determining, by a device, information identifying a destination of a packet; receiving, by the device, the packet, the packet including a plurality of headers; retrieving, by the device, a plurality of templates associated with the plurality of headers, the plurality of templates including a common template and a custom template; modifying, by the device, the packet based on the information and based on retrieving the plurality of templates, the packet being modified while the packet is being received; and transmitting, by the device, the packet toward the destination after modifying the packet. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification