Handling of out-of-order transport-layer packets using reorder buffer
US-12132665-B2 · Oct 29, 2024 · US
US2025023829A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2025023829-A1 |
| Application number | US-202418903040-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 1, 2024 |
| Priority date | Nov 21, 2022 |
| Publication date | Jan 16, 2025 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An apparatus includes a memory and control circuitry. The control circuitry is configured 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, to detect that one or more of the packets deviate from the sequential order, to buffer the one or more deviating packets in the memory, and, using the memory, to reorder the packets and provide the packets in the sequential order to the network device.
Opening claim text (preview).
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, at least some of the received packets being read responses that are received in response to a read request from the network device; detect, by monitoring the read request sent by the network device, that one or more of the read responses deviate from the sequential order; buffer the one or more deviating read responses in the memory; and using the memory, reorder the read responses and provide the read responses in the sequential order to the network device. 2 . The apparatus according to claim 1 , wherein: the received packets comprise respective packet serial numbers (PSNs) that specify the sequential order; and the control circuitry is to obtain an ordered list of expected PSNs of the read responses from the monitored read request, and to decide that one or more of the read responses deviate from the sequential order by comparing an actual order of the received read responses to the ordered list. 3 . The apparatus according to claim 1 , wherein the transport protocol is Remote Direct Memory Access (RDMA), and wherein the read request is an RDMA read. 4 . The apparatus according to claim 1 , wherein the control circuitry is configured to reorder and provide the read responses, by (i) retaining the one or more deviating read responses in the memory until arrival of one or more read responses that precede the one or more deviating read responses in the sequential order, and only then (ii) providing the one or more read responses that precede the one or more deviating read responses, followed by the one or more deviating read responses. 5 . The apparatus according to claim 1 , wherein the control circuitry is configured to detect that a time that elapsed since initiating buffering of the one or more deviating read responses exceeds a defined timeout, and in response cause the network device to request retransmission of the one or more read responses that precede the one or more deviating read responses. 6 . The apparatus according to claim 1 , wherein the received packets are associated with multiple flows, and wherein the control circuitry is configured to detect and buffer the deviating read responses, and to reorder and provide the read responses, separately for each of the flows. 7 . 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, at least some of the received packets being read responses that are received in response to a read request from the network device; detecting, by monitoring the read request sent by the network device, that one or more of the read responses deviate from the sequential order; buffering the one or more deviating read responses in a memory; and using the memory, reordering the read responses and providing the read responses in the sequential order to the network device. 8 . The method according to claim 7 , wherein: the received packets comprise respective packet serial numbers (PSNs) that specify the sequential order; monitoring the read request comprises obtaining, from the monitored read request, an ordered list of expected PSNs of the read responses; and detecting that one or more of the read responses deviate from the sequential order comprises comparing an actual order of the received read responses to the ordered list. 9 . The method according to claim 7 , wherein the transport protocol is Remote Direct Memory Access (RDMA), and wherein the read request is an RDMA read. 10 . The method according to claim 7 , wherein reordering and providing the read responses comprises (i) retaining the one or more deviating read responses in the memory until arrival of one or more read responses that precede the one or more deviating read responses in the sequential order, and only then (ii) providing the one or more read responses that precede the one or more deviating read responses, followed by the one or more deviating read responses. 11 . The method according to claim 7 , further comprising detecting that a time that elapsed since initiating buffering of the one or more deviating read responses exceeds a defined timeout, and in response causing the network device to request retransmission of the one or more read responses that precede the one or more deviating read responses. 12 . The method according to claim 7 , wherein the received packets are associated with multiple flows, and wherein detecting and buffering the deviating read responses, and reordering and providing the read responses, are performed separately for each of the flows.
based on priority · CPC title
Common buffer combined with individual queues · CPC title
ensuring sequence integrity, e.g. using sequence numbers · CPC title
Altering the ordering of packets in an individual queue · CPC title
Arrangements for supporting packet reassembly or resequencing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.