Network protocol header alignment
First Claim
1. A method comprising:
- receiving a packet;
identifying a type of a first network protocol and a type of a second network protocol, the first network protocol and the second network protocol used by the packet;
determining a classification of the packet based on the type of the first network protocol combined with the type of the second network protocol;
receiving an offset value associated with the classification; and
aligning a header for the second network protocol relative to a boundary of a cache line by shifting the packet based on the offset value.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques for routing a payload of a first network protocol, which includes header information for a second network protocol, include communicating a packet. In a circuit block, a first type for the first network protocol and a second type for the second network protocol are determined. The circuit block stores a classification that indicates a unique combination of the first type and the second type. A general purpose processor routes the packet based on the classification. Processor clock cycles are saved that would be consumed in determining the types. Furthermore, based on the classification, the processor can store an offset value for aligning the header relative to a cache line. The circuit block can store the packet shifted by the offset value. The processor can then retrieve from memory a single cache line to receive the header, thereby saving excess loading and ejecting of cache.
28 Citations
20 Claims
-
1. A method comprising:
-
receiving a packet; identifying a type of a first network protocol and a type of a second network protocol, the first network protocol and the second network protocol used by the packet; determining a classification of the packet based on the type of the first network protocol combined with the type of the second network protocol; receiving an offset value associated with the classification; and aligning a header for the second network protocol relative to a boundary of a cache line by shifting the packet based on the offset value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a network interface configured to receive a packet; a controller in communication with the network interface and configured to identify a first network protocol and a second network protocol used by the packet, the controller further configured to determine an offset value based on a combination of the identities of the first network protocol and the second network protocol; and a memory configured to store the packet according to the offset value through alignment of a header for the second network protocol relative to a boundary of a cache line. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer readable storage medium encoded with computer executable instructions operable to:
-
receive a packet at a network interface including a controller; identify types of a first network protocol and a second network protocol used by the packet; select a classification code based on a combination of the types of the first network protocol and the second network protocol; associate an offset value with the combination of the types of the first network protocol and the second network protocol using the classification code; store a header for the second network protocol relative to a boundary of a cache line by shifting the packet based on the offset value; and send an interrupt to a central processing unit (CPU) to initiate processing of the second network protocol. - View Dependent Claims (20)
-
Specification