US 12,132,665 B2
Handling of out-of-order transport-layer packets using reorder buffer
Yamin Friedman, Jerusalem (IL); Idan Burstein, Carmiel (IL); Ariel Shahar, Jerusalem (IL); Roee Moyal, Yokneam Illit (IL); and Gil Kremer, Hadera (IL)
Assigned to MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed by MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed on Nov. 21, 2022, as Appl. No. 17/990,768.
Prior Publication US 2024/0171520 A1, May 23, 2024
Int. Cl. H04L 47/62 (2022.01); H04L 47/6275 (2022.01); H04L 49/90 (2022.01)
CPC H04L 47/624 (2013.01) [H04L 47/6275 (2013.01); H04L 49/9036 (2013.01)] 23 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a memory; and
control circuitry, to:
receive packets, which are en-route to undergo transport-layer processing in a network device in accordance with a transport protocol that requires arrival of the packets in a sequential order;
detect that one or more of the packets deviate from the sequential order;
buffer the one or more deviating packets in the memory;
using the memory, reorder the packets and provide the packets in the sequential order to the network device; and
in response to detecting that a time that elapsed since initiating buffering of the one or more deviating packets exceeds a defined timeout, cause the network device to request retransmission of one or more packets that precede the one or more deviating packets.
 
12. A method, comprising:
receiving packets, which are en-route to undergo transport-layer processing in a network device in accordance with a transport protocol that requires arrival of the packets in a sequential order, wherein the received packets comprising respective packet serial numbers (PSNs) (that specify the sequential order, and wherein at least some of the received packets are read responses that are received in response to a read request from the network device;
detecting that one or more of the packets deviate from the sequential order by (i) obtaining from the network device a-priori information indicative of the PSNs of the read responses, and (ii) deciding that one or more of the packets deviate from the sequential order based on the a-priori information;
buffering the one or more deviating packets in a memory; and
using the memory, reordering the packets and providing the packets in the sequential order to the network device.
 
23. A method, comprising:
receiving packets, which are en-route to undergo transport-layer processing in a network device in accordance with a transport protocol that requires arrival of the packets in a sequential order;
detecting that a received packet deviates from the sequential order, by identifying that the packet is a data packet belonging to a Dynamically Connected (DC) flow for which a connection-request packet was not yet received;
buffering the deviating packet in a memory; and
using the memory, reordering the packets and providing the packets in the sequential order to the network device.