| CPC H04L 47/2483 (2013.01) [H04L 47/41 (2013.01); H04L 47/621 (2013.01); H04L 49/901 (2013.01); H04L 49/9068 (2013.01)] | 20 Claims |

|
1. A method comprising:
providing a host comprising a host protocol stack and a host memory, the host memory including (i) a header queue comprising a plurality of header buffers and (ii) a payload queue comprising a plurality of payload buffers;
providing a network interface card (NIC) communicatively connected to the host;
receiving, by the NIC, a plurality of network packets, each network packet including a header and a payload;
moving, by the NIC, the header and the payload for each network packet of the plurality of packets to the header queue and the payload queue, respectively, wherein the header for each network packet is moved to a respective header buffer from the plurality of header buffers, wherein the payload for each network packet is moved to a respective payload buffer from the plurality of payload buffers, and wherein the payload for at least one network packet of the plurality of network packets is moved to the payload queue out of order;
creating, by the host and the host protocol stack, an aggregation of payloads in the payload queue; and
determining, by the host and the host protocol stack, a correct order for the payloads in the aggregation using a forward linked chain, wherein the forward linked chain comprises a plurality of pointers between header buffers in the plurality of header buffers, and wherein the plurality of pointers link the payloads in the aggregation according to the correct order.
|