Patent ID: 11909628
Assignee: MELLANOX TECHNOLOGIES, LTD.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 0:
1. A method comprising:
receiving, by a network interface controller of a first node, a first packet and a second packet of a single transport flow directed to a second node, the single transport flow using a network protocol that allows remote direct memory access (RDMA);
assigning, by the network interface controller, a first network routing identifier to the first packet and a second network routing identifier to the second packet, the first network routing identifier corresponding to a first network path between the first node and the second node, the second network routing identifier corresponding to a second network path between the first node and the second node, and the second network path being different than the first network path;
associating, by the network interface controller, a multipath context to a first transport session group, the multipath context storing a first state associated with the first network routing identifier and a second state associated with the second network routing identifier,
assigning a first queue pair (QP) and a second QP to the multipath context;
receiving, by a scheduler of the network interface controller from the first QP, a first burst of data in a first session of the first transport session group, wherein the first packet is part of the first burst of data;
scheduling, by the scheduler using the multipath context, the first burst of data to be sent on the first network path;
sending, by the first node, the first burst of data to the second node via the first network path;
receiving, by the scheduler from the first QP or the second QP, a second burst of data in a second session of the first transport session group, wherein the second packet is part of the second burst of data;
scheduling, by the scheduler using the multipath context, the second burst of data to be sent on the second network path; and
sending, by the first node, the second burst of data to the second node via the second network path.