US 12,323,320 B2
Remote direct memory access (RDMA) multipath
Yamin Friedman, Jerusalem (IL); Idan Borshteen, Karmiel (IL); Roee Moyal, Yokne'am Illit (IL); and Yuval Shpigelman, Netanya (IL)
Assigned to Mellanox Technologies, Ltd., Yokneam (IL)
Filed by Mellanox Technologies, Ltd., Yokneam (IL)
Filed on Feb. 16, 2024, as Appl. No. 18/443,928.
Application 18/443,928 is a continuation of application No. 17/901,671, filed on Sep. 1, 2022, granted, now 11,909,628.
Prior Publication US 2024/0195728 A1, Jun. 13, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 43/0864 (2022.01); H04L 45/12 (2022.01); H04L 45/24 (2022.01); H04L 47/52 (2022.01)
CPC H04L 45/124 (2013.01) [H04L 43/0864 (2013.01); H04L 45/24 (2013.01); H04L 47/52 (2013.01)] 25 Claims
OG exemplary drawing
 
1. A method comprising:
sending, by a network interface controller of a first node, a first burst of data of a transport flow directed to a second node via a first network path between the first node and the second node, the transport flow using a network protocol that allows remote direct memory access (RDMA);
determining, by the network interface controller using one or more parameters, that a second burst of data of the transport flow is to be sent on a different network path than the first network path;
identifying, by the network interface controller using a multipath context, a second network path between the first node and the second node, the multipath context storing a first weight value associated with a first network routing identifier corresponding to the first network path and a second weight value associated with a second network routing identifier corresponding to the second network path, wherein the first weight value and the second weight value are each based on a difference from an average round-trip time (RTT) of available paths between the first node and the second node;
assigning, by the network interface controller, the second network routing identifier to one or more packets of the second burst of data; and
sending, by the first node, the second burst of data to the second node via the second network path.