Apparatus and method for reassembling fragments of a data packet
AssigneeAR card
InventorsOlivier Brodeur, David Bush, Mark W. Vanheule, Daniel B. Stewart
Life of this patent
Estimating the term…
Abstract
Apparatus and method to reassemble fragments of data packets are provided which minimized unaligned memory accesses. The second and subsequent fragments have an end of fragment (EOF) portion of the payload moved to before a start of fragment (SOF) portion such that only one unaligned memory access per fragment is required.
Claims17
A method of processing fragments of a data packet comprising, for second and subsequent fragments of the data packet, rotating an EOF (end of fragment) portion of a payload of each fragment to before a SOF (start of fragment) portion of the payload of the fragment, the size of the EOF portion being equal to a size of a terminating portion of a respective preceding fragment.
An apparatus for use in reassembling fragments of a data packet in memory having a smallest addressable memory unit, the apparatus comprising means for rotating an EOF (end of fragment) portion of a payload of each fragment to before an SOF (start of fragment) portion of the payload of the fragment and means for determining the size of each EOF portion as a function of the sequence number of the fragment, the fragment size and the size of the smallest addressable unit.
An apparatus comprising:
- a packet rotator adapted to process fragments of a data packet comprising, for second and subsequent fragments of the data packet, by rotating an EOF (end of fragment) portion of a payload of each fragment to before a SOF (start of fragment) portion of the payload of the fragment, the size of the EOF portion being equal to a size of a terminating portion of a respective preceding fragment.
A method of processing fragments of a data packet comprising, for second and subsequent fragments of the data packet, shifting each fragment by an amount equal to a size of a terminating portion of a respective preceding fragment, the size of the shift being a function of a sequence number of the fragment, the fragment size and the size of a smallest addressable memory unit;
- transferring the first fragment and each other fragment thus shifted in sequence to an input buffer;
- after any fragment is transferred to the input buffer, transferring the fragment to a packet buffer with no unaligned memory accesses for the first fragment, and a maximum of one unaligned memory access for each other fragment.
Dependencies are inferred from the claim text.