NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
DOCA DPA Device - RDMA
Collaboration diagram for DOCA DPA Device - RDMA:

Functions

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_read (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_mmap_t dst_mmap_handle, uint64_t dst_addr, doca_dpa_dev_mmap_t src_mmap_handle, uint64_t src_addr, size_t length, uint32_t flags)
 Send an RDMA read operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_read (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_buf_t dst_buf_handle, doca_dpa_dev_buf_t src_buf_handle, uint32_t flags)
 Post an RDMA read operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_write (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_mmap_t dst_mmap_handle, uint64_t dst_addr, doca_dpa_dev_mmap_t src_mmap_handle, uint64_t src_addr, size_t length, uint32_t flags)
 Post an RDMA write operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_write (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_buf_t dst_buf_handle, doca_dpa_dev_buf_t src_buf_handle, uint32_t flags)
 Post an RDMA write operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_write_imm (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_mmap_t dst_mmap_handle, uint64_t dst_addr, doca_dpa_dev_mmap_t src_mmap_handle, uint64_t src_addr, size_t length, uint32_t immediate, uint32_t flags)
 Post an RDMA write with immediate operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_write_imm (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_buf_t dst_buf_handle, doca_dpa_dev_buf_t src_buf_handle, uint32_t immediate, uint32_t flags)
 Post an RDMA write with immediate operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_send (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_mmap_t mmap_handle, uint64_t addr, size_t length, uint32_t flags)
 Post an RDMA send operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_send (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_buf_t send_buf_handle, uint32_t flags)
 Post an RDMA send operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_send_imm (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_mmap_t mmap_handle, uint64_t addr, size_t length, uint32_t immediate, uint32_t flags)
 Post an RDMA send with immediate operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_send_imm (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_buf_t send_buf_handle, uint32_t immediate, uint32_t flags)
 Post an RDMA send with immediate operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_receive (doca_dpa_dev_rdma_t rdma, doca_dpa_dev_mmap_t mmap_handle, uint64_t addr, size_t length)
 Post an RDMA receive operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_receive (doca_dpa_dev_rdma_t rdma, doca_dpa_dev_buf_t receive_buf_handle)
 Post an RDMA receive operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_receive_ack (doca_dpa_dev_rdma_t rdma, uint32_t num_acked)
 Ack an RDMA receive operations to enable reposting the buffers. More...
 
DOCA_EXPERIMENTAL uint32_t doca_dpa_dev_rdma_completion_get_wr_index (doca_dpa_dev_completion_element_t comp_element)
 Get completion work request index. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_atomic_fetch_add (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_mmap_t dst_mmap_handle, uint64_t dst_addr, uint64_t value, uint32_t flags)
 Post an RDMA atomic fetch and add operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_atomic_fetch_add (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_buf_t dst_buf_handle, uint64_t value, uint32_t flags)
 Post an RDMA atomic fetch and add operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_signal_set (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_sync_event_remote_net_t remote_sync_event, uint64_t count)
 Signal to set a remote sync event count. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_signal_add (doca_dpa_dev_rdma_t rdma, uint32_t connection_id, doca_dpa_dev_sync_event_remote_net_t remote_sync_event, uint64_t count)
 Signal to atomically add to a remote sync event count. More...
 

Variables

__dpa_global__ typedef uint64_t doca_dpa_dev_rdma_t
 DPA RDMA handle type definition. More...
 

Detailed Description

DOCA DPA Device - RDMA

Function Documentation

◆ doca_dpa_dev_rdma_completion_get_wr_index()

DOCA_EXPERIMENTAL uint32_t doca_dpa_dev_rdma_completion_get_wr_index ( doca_dpa_dev_completion_element_t  comp_element)

Get completion work request index.

Parameters
[in]comp_element- DPA completion element

◆ doca_dpa_dev_rdma_post_atomic_fetch_add()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_atomic_fetch_add ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_mmap_t  dst_mmap_handle,
uint64_t  dst_addr,
uint64_t  value,
uint32_t  flags 
)

Post an RDMA atomic fetch and add operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_mmap_handle- destination DOCA Mmap handle
[in]dst_addr- address of destination buffer
[in]value- value to add to the destination buffer
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_buf_atomic_fetch_add()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_atomic_fetch_add ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_buf_t  dst_buf_handle,
uint64_t  value,
uint32_t  flags 
)

Post an RDMA atomic fetch and add operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_buf_handle- destination buffer DPA handle
[in]value- value to add to the destination buffer
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_buf_read()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_read ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_buf_t  dst_buf_handle,
doca_dpa_dev_buf_t  src_buf_handle,
uint32_t  flags 
)

Post an RDMA read operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_buf_handle- destination DOCA buffer DPA handle
[in]src_buf_handle- source DOCA buffer DPA handle
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_buf_receive()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_receive ( doca_dpa_dev_rdma_t  rdma,
doca_dpa_dev_buf_t  receive_buf_handle 
)

Post an RDMA receive operation.

Parameters
[in]rdma- RDMA DPA handle
[in]receive_buf_handle- received DOCA buffer DPA handle

◆ doca_dpa_dev_rdma_post_buf_send()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_send ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_buf_t  send_buf_handle,
uint32_t  flags 
)

Post an RDMA send operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]send_buf_handle- send DOCA buffer DPA handle
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_buf_send_imm()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_send_imm ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_buf_t  send_buf_handle,
uint32_t  immediate,
uint32_t  flags 
)

Post an RDMA send with immediate operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]send_buf_handle- send DOCA buffer DPA handle
[in]immediate- immediate data
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_buf_write()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_write ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_buf_t  dst_buf_handle,
doca_dpa_dev_buf_t  src_buf_handle,
uint32_t  flags 
)

Post an RDMA write operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_buf_handle- destination DOCA buffer DPA handle
[in]src_buf_handle- source DOCA buffer DPA handle
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_buf_write_imm()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_buf_write_imm ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_buf_t  dst_buf_handle,
doca_dpa_dev_buf_t  src_buf_handle,
uint32_t  immediate,
uint32_t  flags 
)

Post an RDMA write with immediate operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_buf_handle- destination DOCA buffer DPA handle
[in]src_buf_handle- source DOCA buffer DPA handle
[in]immediate- immediate data
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_read()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_read ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_mmap_t  dst_mmap_handle,
uint64_t  dst_addr,
doca_dpa_dev_mmap_t  src_mmap_handle,
uint64_t  src_addr,
size_t  length,
uint32_t  flags 
)

Send an RDMA read operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_mmap_handle- destination DOCA Mmap handle
[in]dst_addr- address of destination buffer
[in]src_mmap_handle- source DOCA Mmap handle
[in]src_addr- address of source buffer
[in]length- length of buffer
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_receive()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_receive ( doca_dpa_dev_rdma_t  rdma,
doca_dpa_dev_mmap_t  mmap_handle,
uint64_t  addr,
size_t  length 
)

Post an RDMA receive operation.

Parameters
[in]rdma- RDMA DPA handle
[in]mmap_handle- received DOCA Mmap handle
[in]addr- address of received buffer
[in]length- length of received buffer

◆ doca_dpa_dev_rdma_post_send()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_send ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_mmap_t  mmap_handle,
uint64_t  addr,
size_t  length,
uint32_t  flags 
)

Post an RDMA send operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]mmap_handle- send DOCA Mmap handle
[in]addr- address of send buffer
[in]length- length of send buffer
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_send_imm()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_send_imm ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_mmap_t  mmap_handle,
uint64_t  addr,
size_t  length,
uint32_t  immediate,
uint32_t  flags 
)

Post an RDMA send with immediate operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]mmap_handle- send DOCA Mmap handle
[in]addr- address of send buffer
[in]length- length of send buffer
[in]immediate- immediate data
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_write()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_write ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_mmap_t  dst_mmap_handle,
uint64_t  dst_addr,
doca_dpa_dev_mmap_t  src_mmap_handle,
uint64_t  src_addr,
size_t  length,
uint32_t  flags 
)

Post an RDMA write operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_mmap_handle- destination DOCA Mmap handle
[in]dst_addr- address of destination buffer
[in]src_mmap_handle- source DOCA Mmap handle
[in]src_addr- address of source buffer
[in]length- length of buffer
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_post_write_imm()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_post_write_imm ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_mmap_t  dst_mmap_handle,
uint64_t  dst_addr,
doca_dpa_dev_mmap_t  src_mmap_handle,
uint64_t  src_addr,
size_t  length,
uint32_t  immediate,
uint32_t  flags 
)

Post an RDMA write with immediate operation.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]dst_mmap_handle- destination DOCA Mmap handle
[in]dst_addr- address of destination buffer
[in]src_mmap_handle- source DOCA Mmap handle
[in]src_addr- address of source buffer
[in]length- length of buffer
[in]immediate- immediate data
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_rdma_receive_ack()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_receive_ack ( doca_dpa_dev_rdma_t  rdma,
uint32_t  num_acked 
)

Ack an RDMA receive operations to enable reposting the buffers.

Parameters
[in]rdma- RDMA DPA handle
[in]num_acked- Number of receives to ack

◆ doca_dpa_dev_rdma_signal_add()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_signal_add ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_sync_event_remote_net_t  remote_sync_event,
uint64_t  count 
)

Signal to atomically add to a remote sync event count.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]remote_sync_event- remote sync event DPA handle
[in]count- count to add

◆ doca_dpa_dev_rdma_signal_set()

DOCA_EXPERIMENTAL void doca_dpa_dev_rdma_signal_set ( doca_dpa_dev_rdma_t  rdma,
uint32_t  connection_id,
doca_dpa_dev_sync_event_remote_net_t  remote_sync_event,
uint64_t  count 
)

Signal to set a remote sync event count.

Parameters
[in]rdma- RDMA DPA handle
[in]connection_id- RDMA connection ID
[in]remote_sync_event- remote sync event DPA handle
[in]count- count to set

Variable Documentation

◆ doca_dpa_dev_rdma_t

DPA RDMA handle type definition.

Definition at line 37 of file doca_dpa_dev_rdma.h.