Tunneled remote direct memory access (rdma) communication
Abstract
Tunneling packets of one or more remote direct memory access (RDMA) unreliable queue pairs of a first adapter device through an RDMA reliable connection (RC) by using RDMA reliable queue context and RDMA unreliable queue context stored in the first adapter device. The RDMA reliable connection is initiated between a first RDMA RC queue pair of the first adapter device and a second RDMA RC queue pair of a second adapter device. The RDMA reliable queue context is for the first RDMA RC queue pair, and the RDMA unreliable queue context is for the one or more RDMA unreliable queue pairs of the first adapter device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . An adapter device comprising:
an adapter device processing unit storing:
remote direct memory access (RDMA) reliable queue context for one RDMA RC queue pair of the adapter device, the RDMA RC queue pair providing a reliable connection between the adapter device and a different adapter device, and
RDMA unreliable queue context for one or more RDMA unreliable queue pairs of the adapter device; and
an RDMA firmware module that includes instructions that when executed by the adapter device processing unit cause the adapter device to initiate the reliable connection between the adapter device and the different adapter device, and tunnel packets of the one or more RDMA unreliable queue pairs through the reliable connection by using the RDMA reliable queue context and the RDMA unreliable queue context.
2 . The adapter device of claim 1 , wherein the RDMA unreliable queue pairs include at least one of RDMA unreliable connection (UC) queue pairs and RDMA unreliable datagram (UD) queue pairs.
3 . The adapter device of claim 1 , wherein the reliable queue context includes transport context for all unreliable RDMA traffic between one or more RDMA unreliable queue pairs of the adapter device and one or more RDMA unreliable queue pairs of the different adapter device.
4 . The adapter device of claim 3 , wherein the transport context includes connection context for the reliable connection.
5 . The adapter device of claim 1 , wherein the reliable connection is an RC tunnel for tunneling unreliable RDMA traffic between one or more RDMA unreliable queue pairs of the adapter device and one or more RDMA unreliable queue pairs of the different adapter device.
6 . The adapter device of claim 1 , wherein the adapter device further comprises:
an RDMA transport context module constructed to manage the RDMA reliable queue context; and an RDMA queue context module constructed to manage the RDMA unreliable queue context, wherein the adapter device processing unit uses the RDMA transport context module to access the RDMA reliable queue context and uses the RDMA queue context module to access the unreliable queue context during tunneling of packets through the reliable connection.
7 . The adapter device of claim 1 , wherein each tunneled RDMA unreliable queue pair packet includes a tunnel header that includes an adapter device opcode that indicates that the packet is tunneled through the reliable connection, and includes information for the reliable connection.
8 . The adapter device of claim 7 , wherein the tunnel header includes a queue pair identifier of an RDMA RC queue pair of the different adapter device.
9 . The adapter device of claim 1 , wherein the RDMA unreliable queue context for each RDMA unreliable queue pair contains an identifier that links to the RDMA reliable queue context, wherein the RDMA reliable queue context includes a connection state of the reliable connection, and a tunnel identifier that identifies the reliable connection.
10 . The adapter device of claim 9 ,
wherein RDMA reliable queue context corresponding to an RDMA UC queue pair includes connection parameters for an unreliable connection of the RDMA UC queue pair, wherein RDMA reliable queue context corresponding to a RDMA UD queue pair includes a destination address handle of the RDMA UD queue pair, and wherein the tunnel identifier is a queue pair identifier of the RDMA RC queue pair.
11 . The adapter device of claim 9 , wherein the RDMA unreliable queue context for each RDMA unreliable queue pair contains a send queue index, a receive queue index, RDMA protection domain queue key, completion queue element (CQE) generation information, and event queue element (EQE) generation information.
12 . The adapter device of claim 1 , wherein the RDMA unreliable queue context for each RDMA unreliable queue pair contains requestor error information and responder error information.
13 . A method comprising:
initiating a remote direct memory access (RDMA) reliable connection (RC) between a first RDMA RC queue pair of a first adapter device and a second RDMA RC queue pair of a second adapter device; and storing in the first adapter device:
RDMA reliable queue context for the first RDMA RC queue pair, and
RDMA unreliable queue context for one or more RDMA unreliable queue pairs of the first adapter device; and
tunneling packets of the one or more RDMA unreliable queue pairs for the first adapter device through the RDMA reliable connection by using the RDMA reliable queue context and the RDMA unreliable queue context.
14 . The method of claim 13 , wherein the RDMA unreliable queue pairs include at least one of RDMA unreliable connection (UC) queue pairs and RDMA unreliable datagram (UD) queue pairs.
15 . The method of claim 13 ,
wherein the reliable queue context includes transport context for all unreliable RDMA traffic between one or more RDMA unreliable queue pairs of the first adapter device and one or more RDMA unreliable queue pairs of the second adapter device, and wherein the transport context includes connection context for the reliable connection.
16 . The method of claim 13 , wherein each tunneled RDMA unreliable queue pair packet includes a tunnel header that includes an adapter device opcode that indicates that the packet is tunneled through the reliable connection, and includes information for the reliable connection.
17 . The method of claim 16 , wherein the tunnel header includes a queue pair identifier of the second RDMA RC queue pair of the second adapter device.
18 . The method of claim 13 , wherein the RDMA unreliable queue context for each RDMA unreliable queue pair contains an identifier that links to the RDMA reliable queue context, wherein the RDMA reliable queue context includes a connection state of the reliable connection, and a tunnel identifier that identifies the reliable connection.
19 . The method of claim 18 ,
wherein RDMA reliable queue context corresponding to an RDMA UC queue pair includes connection parameters for an unreliable connection of the RDMA UC queue pair, wherein RDMA reliable queue context corresponding to a RDMA UD queue pair includes a destination address handle of the RDMA UD queue pair, and wherein the tunnel identifier is a queue pair identifier of the first RDMA RC queue pair.
20 . A non-transitory storage medium storing processor-readable instructions comprising:
initiating a remote direct memory access (RDMA) reliable connection (RC) between a first RDMA RC queue pair of a first adapter device and a second RDMA RC queue pair of a second adapter device; and storing in the first adapter device:
RDMA reliable queue context for the first RDMA RC queue pair, and
RDMA unreliable queue context for one or more RDMA unreliable queue pairs of the first adapter device; and
tunneling packets of the one or more RDMA unreliable queue pairs for the first adapter device through the RDMA reliable connection by using the RDMA reliable queue context and the RDMA unreliable queue context.Join the waitlist — get patent alerts
Track US2016212214A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.