27 #include <rdma/rdma_cma.h>
42 struct doca_sync_event_remote_net;
74 struct doca_rdma_addr;
79 struct doca_rdma_connection;
89 struct doca_gpu_dev_rdma;
167 const void **local_rdma_conn_details,
168 size_t *local_rdma_conn_details_size,
169 struct doca_rdma_connection **rdma_connection);
196 const void *remote_rdma_conn_details,
197 size_t remote_rdma_conn_details_size,
198 struct doca_rdma_connection *rdma_connection);
223 struct doca_rdma_addr **
addr);
307 uint8_t private_data_len);
348 struct doca_rdma_addr *
addr,
395 struct rdma_cm_id *cm_id,
396 struct doca_rdma_connection **rdma_connection);
426 uint8_t private_data_len,
427 struct doca_rdma_connection *rdma_connection);
503 uint32_t *max_send_buf_list_len);
560 uint32_t start_index,
561 uint32_t num_entries,
1082 struct doca_rdma_addr **
addr);
1104 const char **address,
1298 struct doca_rdma *rdma,
1315 struct doca_rdma_task_receive;
1391 uint32_t *max_buf_list_len);
1415 uint32_t num_tasks);
1480 struct doca_buf *dst_buf,
1482 struct doca_rdma_task_receive **task);
1578 const struct doca_rdma_task_receive *task);
1587 struct doca_rdma_task_send;
1655 uint32_t num_tasks);
1682 struct doca_rdma_connection *rdma_connection,
1683 const struct doca_buf *src_buf,
1685 struct doca_rdma_task_send **task);
1738 struct doca_rdma_connection *rdma_connection);
1759 struct doca_rdma_task_send_imm;
1828 uint32_t num_tasks);
1857 struct doca_rdma_connection *rdma_connection,
1858 const struct doca_buf *src_buf,
1861 struct doca_rdma_task_send_imm **task);
1938 struct doca_rdma_connection *rdma_connection);
1951 const struct doca_rdma_task_send_imm *task);
1960 struct doca_rdma_task_read;
2028 uint32_t num_tasks);
2059 struct doca_rdma_connection *rdma_connection,
2060 const struct doca_buf *src_buf,
2061 struct doca_buf *dst_buf,
2063 struct doca_rdma_task_read **task);
2155 struct doca_rdma_connection *rdma_connection);
2176 struct doca_rdma_task_write;
2244 uint32_t num_tasks);
2275 struct doca_rdma_connection *rdma_connection,
2276 const struct doca_buf *src_buf,
2277 struct doca_buf *dst_buf,
2279 struct doca_rdma_task_write **task);
2359 struct doca_rdma_connection *rdma_connection);
2381 struct doca_rdma_task_write_imm;
2450 uint32_t num_tasks);
2483 struct doca_rdma_connection *rdma_connection,
2484 const struct doca_buf *src_buf,
2485 struct doca_buf *dst_buf,
2488 struct doca_rdma_task_write_imm **task);
2592 struct doca_rdma_connection *rdma_connection);
2605 const struct doca_rdma_task_write_imm *task);
2619 struct doca_rdma_task_atomic_cmp_swp;
2686 struct doca_rdma *rdma,
2689 uint32_t num_tasks);
2723 struct doca_rdma_connection *rdma_connection,
2724 struct doca_buf *dst_buf,
2725 struct doca_buf *result_buf,
2729 struct doca_rdma_task_atomic_cmp_swp **task);
2781 struct doca_buf *result_buf);
2855 struct doca_rdma_connection *rdma_connection);
2868 const struct doca_rdma_task_atomic_cmp_swp *task);
2880 struct doca_rdma_task_atomic_fetch_add;
2947 struct doca_rdma *rdma,
2950 uint32_t num_tasks);
2981 struct doca_rdma_connection *rdma_connection,
2982 struct doca_buf *dst_buf,
2983 struct doca_buf *result_buf,
2986 struct doca_rdma_task_atomic_fetch_add **task);
3013 struct doca_buf *dst_buf);
3039 struct doca_buf *result_buf);
3088 struct doca_rdma_connection *rdma_connection);
3101 const struct doca_rdma_task_atomic_fetch_add *task);
3110 struct doca_rdma_task_remote_net_sync_event_get;
3139 struct doca_rdma_task_remote_net_sync_event_get *task,
3178 struct doca_rdma *rdma,
3181 uint32_t num_tasks);
3209 struct doca_rdma *rdma,
3210 struct doca_rdma_connection *rdma_connection,
3211 const struct doca_sync_event_remote_net *event,
3212 struct doca_buf *dst_buf,
3214 struct doca_rdma_task_remote_net_sync_event_get **task);
3227 struct doca_rdma_task_remote_net_sync_event_get *task);
3239 const struct doca_sync_event_remote_net *event);
3252 const struct doca_rdma_task_remote_net_sync_event_get *task);
3267 struct doca_buf *dst_buf);
3280 const struct doca_rdma_task_remote_net_sync_event_get *task);
3294 const struct doca_rdma_task_remote_net_sync_event_get *task);
3307 struct doca_rdma_connection *rdma_connection);
3320 const struct doca_rdma_task_remote_net_sync_event_get *task);
3329 struct doca_rdma_task_remote_net_sync_event_notify_set;
3358 struct doca_rdma_task_remote_net_sync_event_notify_set *task,
3397 struct doca_rdma *rdma,
3400 uint32_t num_tasks);
3428 struct doca_rdma *rdma,
3429 struct doca_rdma_connection *rdma_connection,
3430 struct doca_sync_event_remote_net *event,
3431 const struct doca_buf *src_buf,
3433 struct doca_rdma_task_remote_net_sync_event_notify_set **task);
3446 struct doca_rdma_task_remote_net_sync_event_notify_set *task);
3459 struct doca_rdma_task_remote_net_sync_event_notify_set *task,
3460 struct doca_sync_event_remote_net *event);
3473 const struct doca_rdma_task_remote_net_sync_event_notify_set *task);
3486 struct doca_rdma_task_remote_net_sync_event_notify_set *task,
3487 struct doca_rdma_connection *rdma_connection);
3500 const struct doca_rdma_task_remote_net_sync_event_notify_set *task);
3512 struct doca_rdma_task_remote_net_sync_event_notify_set *task,
3513 const struct doca_buf *src_buf);
3526 const struct doca_rdma_task_remote_net_sync_event_notify_set *task);
3536 struct doca_rdma_task_remote_net_sync_event_notify_add;
3565 struct doca_rdma_task_remote_net_sync_event_notify_add *task,
3604 struct doca_rdma *rdma,
3607 uint32_t num_tasks);
3636 struct doca_rdma *rdma,
3637 struct doca_rdma_connection *rdma_connection,
3638 struct doca_sync_event_remote_net *event,
3639 struct doca_buf *result_buf,
3642 struct doca_rdma_task_remote_net_sync_event_notify_add **task);
3655 struct doca_rdma_task_remote_net_sync_event_notify_add *task);
3667 struct doca_rdma_task_remote_net_sync_event_notify_add *task,
3668 struct doca_sync_event_remote_net *event);
3681 const struct doca_rdma_task_remote_net_sync_event_notify_add *task);
3695 struct doca_rdma_task_remote_net_sync_event_notify_add *task,
3696 struct doca_buf *result_buf);
3709 const struct doca_rdma_task_remote_net_sync_event_notify_add *task);
3722 struct doca_rdma_task_remote_net_sync_event_notify_add *task,
3736 const struct doca_rdma_task_remote_net_sync_event_notify_add *task);
3749 struct doca_rdma_task_remote_net_sync_event_notify_add *task,
3750 struct doca_rdma_connection *rdma_connection);
3763 const struct doca_rdma_task_remote_net_sync_event_notify_add *task);
3772 struct doca_dpa_completion;
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
enum doca_error doca_error_t
DOCA API return codes.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_receive_get_dst_buf(const struct doca_rdma_task_receive *task)
This method gets the destination buffer of a receive task.
void(* doca_rdma_task_receive_completion_cb_t)(struct doca_rdma_task_receive *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a receive task.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_write_get_dst_buf(const struct doca_rdma_task_write *task)
This method gets the destination buffer of a write task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_remote_net_sync_event_notify_set_as_task(struct doca_rdma_task_remote_net_sync_event_notify_set *task)
This method converts a remote_net_sync_event_notify_set task to a doca_task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_transport_type(struct doca_rdma *rdma, enum doca_rdma_transport_type transport_type)
Set transport type for doca_rdma. The value can be queried using doca_rdma_get_transport_type()....
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_remote_net_sync_event_get_set_conf(struct doca_rdma *rdma, doca_rdma_task_remote_net_sync_event_get_completion_cb_t successful_task_completion_cb, doca_rdma_task_remote_net_sync_event_get_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the remote_net_sync_event_get tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_gpu_handle(struct doca_rdma *rdma, struct doca_gpu_dev_rdma **gpu_rdma)
Retrieve the handle in the gpu memory space of a doca_rdma.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_atomic_cmp_swp_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL void doca_rdma_task_read_set_rdma_connection(struct doca_rdma_task_read *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a read task.
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_send_imm_get_rdma_connection(const struct doca_rdma_task_send_imm *task)
This method gets the rdma connection of a send with immediate task.
void(* doca_rdma_task_atomic_cmp_swp_completion_cb_t)(struct doca_rdma_task_atomic_cmp_swp *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of an atomic compare and swap task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_remote_net_sync_event_notify_add_as_task(struct doca_rdma_task_remote_net_sync_event_notify_add *task)
This method converts a remote_net_sync_event_notify_add task to a doca_task.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_cmp_swp_set_swap_data(struct doca_rdma_task_atomic_cmp_swp *task, uint64_t swap_data)
This method sets the swap data of an atomic compare and swap task.
DOCA_EXPERIMENTAL void doca_rdma_task_write_imm_set_dst_buf(struct doca_rdma_task_write_imm *task, struct doca_buf *dst_buf)
This method sets the destination buffer of a write with immediate task.
DOCA_EXPERIMENTAL struct doca_sync_event_remote_net * doca_rdma_task_remote_net_sync_event_notify_set_get_sync_event(const struct doca_rdma_task_remote_net_sync_event_notify_set *task)
This method gets the remote net sync event of a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_send_set_conf(struct doca_rdma *rdma, doca_rdma_task_send_completion_cb_t successful_task_completion_cb, doca_rdma_task_send_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the send tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_bridge_prepare_connection(struct doca_rdma *rdma, struct rdma_cm_id *cm_id, struct doca_rdma_connection **rdma_connection)
Prepare the connection and perform the doca connection to client side acting as a bridge....
void(* doca_rdma_task_atomic_fetch_add_completion_cb_t)(struct doca_rdma_task_atomic_fetch_add *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of an atomic fetch and add task.
void(* doca_rdma_task_remote_net_sync_event_notify_add_completion_cb_t)(struct doca_rdma_task_remote_net_sync_event_notify_add *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_atomic_fetch_add_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, struct doca_buf *dst_buf, struct doca_buf *result_buf, uint64_t add_data, union doca_data user_data, struct doca_rdma_task_atomic_fetch_add **task)
This method allocates and initializes an atomic fetch and add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_send_imm_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, const struct doca_buf *src_buf, doca_be32_t immediate_data, union doca_data user_data, struct doca_rdma_task_send_imm **task)
This method allocates and initializes a send with immediate task.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_atomic_cmp_swp_get_result_buf(const struct doca_rdma_task_atomic_cmp_swp *task)
This method gets the result buffer of an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_be32_t doca_rdma_task_receive_get_result_immediate_data(const struct doca_rdma_task_receive *task)
This method gets the immediate data received by the task.
DOCA_EXPERIMENTAL void doca_rdma_task_write_imm_set_immediate_data(struct doca_rdma_task_write_imm *task, doca_be32_t immediate_data)
This method sets the immediate data of a write with immediate task.
DOCA_EXPERIMENTAL uint64_t doca_rdma_task_atomic_fetch_add_get_add_data(const struct doca_rdma_task_atomic_fetch_add *task)
This method gets the add data of an atomic fetch and add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_write_imm_set_conf(struct doca_rdma *rdma, doca_rdma_task_write_imm_completion_cb_t successful_task_completion_cb, doca_rdma_task_write_imm_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the write with immediate tasks configuration.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_cmp_swp_set_cmp_data(struct doca_rdma_task_atomic_cmp_swp *task, uint64_t cmp_data)
This method sets the compare data of an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_write_imm_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, const struct doca_buf *src_buf, struct doca_buf *dst_buf, doca_be32_t immediate_data, union doca_data user_data, struct doca_rdma_task_write_imm **task)
This method allocates and initializes a write with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_destroy(struct doca_rdma *rdma)
Destroy a DOCA RDMA instance.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connect_to_addr(struct doca_rdma *rdma, struct doca_rdma_addr *addr, union doca_data connection_user_data)
Connect to a remote doca_rdma peer listening for a connection. Can be called when the ctx is in DOCA_...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_bridge_established(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection)
Notify the server side of the successful established connection with client Can be called when the ct...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_transport_type_is_supported(const struct doca_devinfo *devinfo, enum doca_rdma_transport_type transport_type)
Check if DOCA RDMA supports given transport type for a specific device.
DOCA_EXPERIMENTAL const struct doca_sync_event_remote_net * doca_rdma_task_remote_net_sync_event_get_get_sync_event(const struct doca_rdma_task_remote_net_sync_event_get *task)
This method gets the remote net sync event of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_remote_net_sync_event_notify_add_get_rdma_connection(const struct doca_rdma_task_remote_net_sync_event_notify_add *task)
This method gets the rdma connection of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_dpa_completion_attach(struct doca_rdma *rdma, struct doca_dpa_completion *dpa_comp)
Attach DOCA RDMA to DPA completion context.
DOCA_EXPERIMENTAL struct doca_sync_event_remote_net * doca_rdma_task_remote_net_sync_event_notify_add_get_sync_event(const struct doca_rdma_task_remote_net_sync_event_notify_add *task)
This method gets the remote sync event of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_addr_get_params(struct doca_rdma_addr *addr, enum doca_rdma_addr_type *addr_type, const char **address, uint16_t *port)
Get address object parameters from an address object.
DOCA_EXPERIMENTAL const struct doca_buf * doca_rdma_task_write_get_src_buf(const struct doca_rdma_task_write *task)
This method gets the source buffer of a write task.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_remote_net_sync_event_notify_add_get_result_buf(const struct doca_rdma_task_remote_net_sync_event_notify_add *task)
This method gets the result buffer of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL uint32_t doca_rdma_task_remote_net_sync_event_get_get_result_len(const struct doca_rdma_task_remote_net_sync_event_get *task)
This method gets the length of data read by the task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_get_user_data(const struct doca_rdma_connection *rdma_connection, union doca_data *connection_user_data)
Get user data included in a connection.
void(* doca_rdma_connection_request_cb_t)(struct doca_rdma_connection *rdma_connection, union doca_data ctx_user_data)
Function to execute on connection request event.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_remote_net_sync_event_notify_add_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, struct doca_sync_event_remote_net *event, struct doca_buf *result_buf, uint64_t add_data, union doca_data user_data, struct doca_rdma_task_remote_net_sync_event_notify_add **task)
This method allocates and initializes a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_add_set_result_buf(struct doca_rdma_task_remote_net_sync_event_notify_add *task, struct doca_buf *result_buf)
This method sets the result buffer of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL enum doca_rdma_opcode doca_rdma_task_receive_get_result_opcode(const struct doca_rdma_task_receive *task)
This method gets the opcode of the operation executed by the peer and received by the task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_send_imm_as_task(struct doca_rdma_task_send_imm *task)
This method converts a send with immediate task to a doca_task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_grh_enabled(struct doca_rdma *rdma, uint8_t grh_enabled)
Set whether to use GRH in connection. The value can be queried using doca_rdma_get_grh_enabled()....
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_read_get_rdma_connection(const struct doca_rdma_task_read *task)
This method gets the rdma connection of a read task.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_get_set_dst_buf(struct doca_rdma_task_remote_net_sync_event_get *task, struct doca_buf *dst_buf)
This method sets the destination buffer of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_stop_listen_to_port(struct doca_rdma *rdma, uint16_t port)
End the listen process for a connection from remote doca_rdma peers. Can be called when the ctx is in...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_addr_destroy(struct doca_rdma_addr *addr)
Destroy connection address object for doca_rdma.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_write_imm_as_task(struct doca_rdma_task_write_imm *task)
This method converts a write with immediate task to a doca_task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_get_addr(const struct doca_rdma_connection *rdma_connection, struct doca_rdma_addr **addr)
Get connection address object from a doca_rdma_connection.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_remote_net_sync_event_notify_set_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_get_gid(const struct doca_devinfo *devinfo, uint32_t start_index, uint32_t num_entries, struct doca_rdma_gid *gid_array)
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_send_get_rdma_connection(const struct doca_rdma_task_send *task)
This method gets the rdma connection of a send task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_receive_get_max_dst_buf_list_len(const struct doca_devinfo *devinfo, enum doca_rdma_transport_type transport_type, uint32_t *max_buf_list_len)
DOCA_EXPERIMENTAL const struct doca_buf * doca_rdma_task_send_get_src_buf(const struct doca_rdma_task_send *task)
This method gets the source buffer of a send task.
DOCA_EXPERIMENTAL const struct doca_buf * doca_rdma_task_remote_net_sync_event_notify_set_get_src_buf(const struct doca_rdma_task_remote_net_sync_event_notify_set *task)
This method gets the source buffer of a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL void doca_rdma_task_write_set_dst_buf(struct doca_rdma_task_write *task, struct doca_buf *dst_buf)
This method sets the destination buffer of a write task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_atomic_cmp_swp_as_task(struct doca_rdma_task_atomic_cmp_swp *task)
This method converts an atomic compare and swap task to a doca_task.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_get_set_rdma_connection(struct doca_rdma_task_remote_net_sync_event_get *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_connection_state_callbacks(struct doca_rdma *rdma, doca_rdma_connection_request_cb_t doca_rdma_connect_request_cb, doca_rdma_connection_established_cb_t doca_rdma_connect_established_cb, doca_rdma_connection_failure_cb_t doca_rdma_connect_failure_cb, doca_rdma_connection_disconnection_cb_t doca_rdma_disconnect_cb)
This method set the function executed on RDMA connection events.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_bridge_accept(struct doca_rdma *rdma, void *private_data, uint8_t private_data_len, struct doca_rdma_connection *rdma_connection)
Accept the connection from client side acting as a bridge. This method acts as a bridge to accept a c...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_atomic_fetch_add_set_conf(struct doca_rdma *rdma, doca_rdma_task_atomic_fetch_add_completion_cb_t successful_task_completion_cb, doca_rdma_task_atomic_fetch_add_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the atomic fetch and add tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_permissions(struct doca_rdma *rdma, uint32_t permissions)
Set rdma permissions for doca_rdma. The value can be queried using doca_rdma_get_permissions()....
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_read_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, const struct doca_buf *src_buf, struct doca_buf *dst_buf, union doca_data user_data, struct doca_rdma_task_read **task)
This method allocates and initializes a read task.
DOCA_EXPERIMENTAL void doca_rdma_task_send_set_src_buf(struct doca_rdma_task_send *task, const struct doca_buf *src_buf)
This method sets the source buffer of a send task.
DOCA_EXPERIMENTAL void doca_rdma_task_write_set_src_buf(struct doca_rdma_task_write *task, const struct doca_buf *src_buf)
This method sets the source buffer of a write task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_write_as_task(struct doca_rdma_task_write *task)
This method converts a write task to a doca_task.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_fetch_add_set_rdma_connection(struct doca_rdma_task_atomic_fetch_add *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a atomic fetch and add task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_receive_as_task(struct doca_rdma_task_receive *task)
This method converts a receive task to a doca_task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_connection_request_timeout(struct doca_rdma *rdma, uint16_t timeout)
Set timeout property for doca_rdma. The value can be queried using doca_rdma_get_connection_request_t...
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_fetch_add_set_add_data(struct doca_rdma_task_atomic_fetch_add *task, uint64_t add_data)
This method sets the add data of an atomic fetch and add task.
void(* doca_rdma_connection_disconnection_cb_t)(struct doca_rdma_connection *rdma_connection, union doca_data connection_user_data, union doca_data ctx_user_data)
Function to execute on connection disconnection event.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_fetch_add_set_result_buf(struct doca_rdma_task_atomic_fetch_add *task, struct doca_buf *result_buf)
This method sets the result buffer of an atomic fetch and add task.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_write_imm_get_dst_buf(const struct doca_rdma_task_write_imm *task)
This method gets the destination buffer of a write with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_transport_type(const struct doca_rdma *rdma, enum doca_rdma_transport_type *transport_type)
Get transport_type property from doca_rdma. Returns the current transport_type set for the doca_rdma_...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_send_imm_set_conf(struct doca_rdma *rdma, doca_rdma_task_send_imm_completion_cb_t successful_task_completion_cb, doca_rdma_task_send_imm_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the send with immediate tasks configuration.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_fetch_add_set_dst_buf(struct doca_rdma_task_atomic_fetch_add *task, struct doca_buf *dst_buf)
This method sets the destination buffer of an atomic fetch and add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_sl(const struct doca_rdma *rdma, uint32_t *sl)
Get SL (service level) from doca_rdma. Get the current SL set for doca_rdma.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_send_queue_size(struct doca_rdma *rdma, uint32_t send_queue_size)
Set send queue size property for doca_rdma. The value can be queried using doca_rdma_get_send_queue_s...
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_receive_get_result_rdma_connection(const struct doca_rdma_task_receive *task)
This method gets the rdma connection of a receive task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_remote_net_sync_event_get_as_task(struct doca_rdma_task_remote_net_sync_event_get *task)
This method converts a remote_net_sync_event_get task to a doca_task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_write_set_conf(struct doca_rdma *rdma, doca_rdma_task_write_completion_cb_t successful_task_completion_cb, doca_rdma_task_write_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the write tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_dpa_handle(struct doca_rdma *rdma, doca_dpa_dev_rdma_t *dpa_rdma)
Retrieve the handle in the dpa memory space of a doca_rdma.
DOCA_EXPERIMENTAL doca_be32_t doca_rdma_task_send_imm_get_immediate_data(const struct doca_rdma_task_send_imm *task)
This method gets the immediate data of a send with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_get_id(const struct doca_rdma_connection *rdma_connection, uint32_t *connection_id)
Get connection ID from an rdma connection.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_max_num_connections(struct doca_rdma *rdma, uint16_t *max_num_connections)
Get maximum number of connections property for doca_rdma. Returns the current maximum number of conne...
DOCA_EXPERIMENTAL void doca_rdma_task_send_imm_set_rdma_connection(struct doca_rdma_task_send_imm *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a send with immediate task.
void(* doca_rdma_connection_failure_cb_t)(struct doca_rdma_connection *rdma_connection, union doca_data connection_user_data, union doca_data ctx_user_data)
Function to execute on connection failure event.
DOCA_EXPERIMENTAL const struct doca_buf * doca_rdma_task_write_imm_get_src_buf(const struct doca_rdma_task_write_imm *task)
This method gets the source buffer of a write with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_receive_set_conf(struct doca_rdma *rdma, doca_rdma_task_receive_completion_cb_t successful_task_completion_cb, doca_rdma_task_receive_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the receive tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_recv_queue_size(struct doca_rdma *rdma, uint32_t recv_queue_size)
Set recv queue size property for doca_rdma. The value can be queried using doca_rdma_get_recv_queue_s...
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_atomic_cmp_swp_get_rdma_connection(const struct doca_rdma_task_atomic_cmp_swp *task)
This method gets the rdma connection of a atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_atomic_cmp_swp_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, struct doca_buf *dst_buf, struct doca_buf *result_buf, uint64_t cmp_data, uint64_t swap_data, union doca_data user_data, struct doca_rdma_task_atomic_cmp_swp **task)
This method allocates and initializes an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_mtu(struct doca_rdma *rdma, enum doca_mtu_size mtu)
Set MTU for doca_rdma. The value can be queried using doca_rdma_get_mtu(). Can only be called before ...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_sl(struct doca_rdma *rdma, uint32_t sl)
Set SL (service level) for doca_rdma. The value can be queried using doca_rdma_get_sl()....
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_gid_index(const struct doca_rdma *rdma, uint32_t *gid_index)
Get GID index from doca_rdma. Get the current GID index set for doca_rdma.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_connection_request_timeout(const struct doca_rdma *rdma, uint16_t *timeout)
Get timeout property for doca_rdma. Returns the current timeout set for the connection resolve relate...
void(* doca_rdma_task_remote_net_sync_event_notify_set_completion_cb_t)(struct doca_rdma_task_remote_net_sync_event_notify_set *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a remote_net_sync_event_notify_set task.
void(* doca_rdma_task_send_imm_completion_cb_t)(struct doca_rdma_task_send_imm *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a send with immediate task.
DOCA_EXPERIMENTAL void doca_rdma_task_read_set_dst_buf(struct doca_rdma_task_read *task, struct doca_buf *dst_buf)
This method sets the destination buffer of a read task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_remote_net_sync_event_notify_add_set_conf(struct doca_rdma *rdma, doca_rdma_task_remote_net_sync_event_notify_add_completion_cb_t successful_task_completion_cb, doca_rdma_task_remote_net_sync_event_notify_add_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the remote_net_sync_event_notify_add tasks configuration.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_send_as_task(struct doca_rdma_task_send *task)
This method converts a send task to a doca_task.
void(* doca_rdma_task_send_completion_cb_t)(struct doca_rdma_task_send *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a send task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_send_imm_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_receive_allocate_init(struct doca_rdma *rdma, struct doca_buf *dst_buf, union doca_data user_data, struct doca_rdma_task_receive **task)
This method allocates and initializes a receive task.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_set_set_sync_event(struct doca_rdma_task_remote_net_sync_event_notify_set *task, struct doca_sync_event_remote_net *event)
This method sets the remote net sync event of a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_read_set_conf(struct doca_rdma *rdma, doca_rdma_task_read_completion_cb_t successful_task_completion_cb, doca_rdma_task_read_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the read tasks configuration.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_get_set_sync_event(struct doca_rdma_task_remote_net_sync_event_get *task, const struct doca_sync_event_remote_net *event)
This method sets the remote net sync event of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL void doca_rdma_task_write_set_rdma_connection(struct doca_rdma_task_write *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a write task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_grh_enabled(const struct doca_rdma *rdma, uint8_t *grh_enabled)
Get GRH setting from doca_rdma. Get the current GRH setting for doca_rdma.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_remote_net_sync_event_notify_set_set_conf(struct doca_rdma *rdma, doca_rdma_task_remote_net_sync_event_notify_set_completion_cb_t successful_task_completion_cb, doca_rdma_task_remote_net_sync_event_notify_set_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the remote_net_sync_event_notify_set tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_rnr_retry_count(struct doca_rdma *rdma, uint8_t rnr_retry_count)
Set the rnr retry count property for a context. The value can be queried using doca_rdma_get_rnr_retr...
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_remote_net_sync_event_get_get_rdma_connection(const struct doca_rdma_task_remote_net_sync_event_get *task)
This method gets the rdma connection of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_write_imm_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL void doca_rdma_task_send_set_rdma_connection(struct doca_rdma_task_send *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a send task.
void(* doca_rdma_task_remote_net_sync_event_get_completion_cb_t)(struct doca_rdma_task_remote_net_sync_event_get *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_remote_net_sync_event_notify_set_get_rdma_connection(const struct doca_rdma_task_remote_net_sync_event_notify_set *task)
This method gets the rdma connection of a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_atomic_cmp_swp_set_conf(struct doca_rdma *rdma, doca_rdma_task_atomic_cmp_swp_completion_cb_t successful_task_completion_cb, doca_rdma_task_atomic_cmp_swp_completion_cb_t error_task_completion_cb, uint32_t num_tasks)
This method sets the atomic compare and swap tasks configuration.
DOCA_EXPERIMENTAL void doca_rdma_task_write_imm_set_rdma_connection(struct doca_rdma_task_write_imm *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma connection of a write with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_addr_create(enum doca_rdma_addr_type addr_type, const char *address, uint16_t port, struct doca_rdma_addr **addr)
Set connection address object for doca_rdma. The object can be queried using doca_rdma_connection_get...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_max_num_connections(struct doca_rdma *rdma, uint16_t max_num_connections)
Set the maximum number of connections property for a context. The value can be queried using doca_rdm...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_remote_net_sync_event_get_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_rnr_retry_count(const struct doca_rdma *rdma, uint8_t *rnr_retry_count)
Get rnr retry count property for doca_rdma. Returns the current rnr retry count set for a context.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_receive_set_dst_buf_list_len(struct doca_rdma *rdma, uint32_t buf_list_len)
Set the maximal destination buffer list length property for receive tasks. After starting the DOCA RD...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_get_max_send_queue_size(const struct doca_devinfo *devinfo, uint32_t *max_send_queue_size)
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_get_max_recv_queue_size(const struct doca_devinfo *devinfo, uint32_t *max_recv_queue_size)
Get the maximal recv queue size for a specific device.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_export(struct doca_rdma *rdma, const void **local_rdma_conn_details, size_t *local_rdma_conn_details_size, struct doca_rdma_connection **rdma_connection)
Export doca_rdma connection details object The doca_rdma_conn_details are used in doca_rdma_connect()...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_send_queue_size(const struct doca_rdma *rdma, uint32_t *send_queue_size)
Get send queue size property from doca_rdma. Returns the current send_queue_size set for the doca_rdm...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_start_listen_to_port(struct doca_rdma *rdma, uint16_t port)
Start listening for a connection from a remote doca_rdma peer. Can be called when the ctx is in DOCA_...
DOCA_EXPERIMENTAL const struct doca_buf * doca_rdma_task_send_imm_get_src_buf(const struct doca_rdma_task_send_imm *task)
This method gets the source buffer of a send with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_get_max_send_buf_list_len(const struct doca_devinfo *devinfo, uint32_t *max_send_buf_list_len)
Get the maximal buffer list length property for buffers of tasks that are sent to the remote and in w...
DOCA_EXPERIMENTAL void doca_rdma_task_write_imm_set_src_buf(struct doca_rdma_task_write_imm *task, const struct doca_buf *src_buf)
This method sets the source buffer of a write with immediate task.
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_read_as_task(struct doca_rdma_task_read *task)
This method converts a read task to a doca_task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_disconnect(struct doca_rdma_connection *rdma_connection)
Finalize a connection with a remote doca_rdma peer. Can be called when the ctx is in DOCA_CTX_STATE_R...
DOCA_EXPERIMENTAL const struct doca_buf * doca_rdma_task_read_get_src_buf(const struct doca_rdma_task_read *task)
This method gets the source buffer of a read task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_receive_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_receive_get_dst_buf_list_len(const struct doca_rdma *rdma, uint32_t *buf_list_len)
Get the maximal destination buffer list length property for receive tasks. The returned value is the ...
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_cmp_swp_set_result_buf(struct doca_rdma_task_atomic_cmp_swp *task, struct doca_buf *result_buf)
This method sets the result buffer of an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_remote_net_sync_event_notify_set_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, struct doca_sync_event_remote_net *event, const struct doca_buf *src_buf, union doca_data user_data, struct doca_rdma_task_remote_net_sync_event_notify_set **task)
This method allocates and initializes a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL doca_be32_t doca_rdma_task_write_imm_get_immediate_data(const struct doca_rdma_task_write_imm *task)
This method gets the immediate data of a write with immediate task.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_set_set_src_buf(struct doca_rdma_task_remote_net_sync_event_notify_set *task, const struct doca_buf *src_buf)
This method sets the source buffer of a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL void doca_rdma_task_read_set_src_buf(struct doca_rdma_task_read *task, const struct doca_buf *src_buf)
This method sets the source buffer of a read task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_gid_index(struct doca_rdma *rdma, uint32_t gid_index)
Set GID index for doca_rdma. The value can be queried using doca_rdma_get_gid_index()....
DOCA_EXPERIMENTAL struct doca_task * doca_rdma_task_atomic_fetch_add_as_task(struct doca_rdma_task_atomic_fetch_add *task)
This method converts an atomic fetch and add task to a doca_task.
void(* doca_rdma_task_read_completion_cb_t)(struct doca_rdma_task_read *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a read task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_recv_queue_size(const struct doca_rdma *rdma, uint32_t *recv_queue_size)
Get recv queue size property from doca_rdma. Returns the current recv_queue_size set for the doca_rdm...
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_atomic_cmp_swp_get_dst_buf(const struct doca_rdma_task_atomic_cmp_swp *task)
This method gets the destination buffer of an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_reject(struct doca_rdma_connection *rdma_connection)
Reject an incoming connection request from remote doca_rdma peer. Can be called when the ctx is in DO...
DOCA_EXPERIMENTAL uint64_t doca_rdma_task_remote_net_sync_event_notify_add_get_add_data(const struct doca_rdma_task_remote_net_sync_event_notify_add *task)
This method gets the add data of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_permissions(struct doca_rdma *rdma, uint32_t *permissions)
Get permissions property from doca_rdma. Returns the current permissions set for the doca_rdma_contex...
void(* doca_rdma_connection_established_cb_t)(struct doca_rdma_connection *rdma_connection, union doca_data connection_user_data, union doca_data ctx_user_data)
Function to execute on connection established event.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_atomic_fetch_add_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_add_set_rdma_connection(struct doca_rdma_task_remote_net_sync_event_notify_add *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL void doca_rdma_task_send_imm_set_src_buf(struct doca_rdma_task_send_imm *task, const struct doca_buf *src_buf)
This method sets the source buffer of a send with immediate task.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_cmp_swp_set_dst_buf(struct doca_rdma_task_atomic_cmp_swp *task, struct doca_buf *dst_buf)
This method sets the destination buffer of an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_send_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, const struct doca_buf *src_buf, union doca_data user_data, struct doca_rdma_task_send **task)
This method allocates and initializes a send task.
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_set_set_rdma_connection(struct doca_rdma_task_remote_net_sync_event_notify_set *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a remote_net_sync_event_notify_set task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_accept(struct doca_rdma_connection *rdma_connection, void *private_data, uint8_t private_data_len)
Accept an incoming connection request from remote doca_rdma peer. Can be called when the ctx is in DO...
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_atomic_fetch_add_get_dst_buf(const struct doca_rdma_task_atomic_fetch_add *task)
This method gets the destination buffer of an atomic fetch and add task.
DOCA_EXPERIMENTAL uint64_t doca_rdma_task_atomic_cmp_swp_get_cmp_data(const struct doca_rdma_task_atomic_cmp_swp *task)
This method gets the compare data of an atomic compare and swap task.
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_atomic_fetch_add_get_rdma_connection(const struct doca_rdma_task_atomic_fetch_add *task)
This method gets the rdma connection of a atomic fetch and add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_max_send_buf_list_len(const struct doca_rdma *rdma, uint32_t *max_send_buf_list_len)
Get the maximum buffer list length property for local buffers of tasks that are sent to the remote an...
DOCA_EXPERIMENTAL struct doca_ctx * doca_rdma_as_ctx(struct doca_rdma *rdma)
Convert doca_rdma instance into a generalized context for use with doca core objects.
uint64_t doca_dpa_dev_rdma_t
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_add_set_add_data(struct doca_rdma_task_remote_net_sync_event_notify_add *task, uint64_t add_data)
This method sets the add data of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL void doca_rdma_task_receive_set_dst_buf(struct doca_rdma_task_receive *task, struct doca_buf *dst_buf)
This method sets the destination buffer of a receive task.
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_write_get_rdma_connection(const struct doca_rdma_task_write *task)
This method gets the rdma connection of a write task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_get_gid_table_size(const struct doca_devinfo *devinfo, uint32_t *gid_table_size)
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_write_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL uint32_t doca_rdma_task_receive_get_result_len(const struct doca_rdma_task_receive *task)
This method gets the length of data received by the task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connect(struct doca_rdma *rdma, const void *remote_rdma_conn_details, size_t remote_rdma_conn_details_size, struct doca_rdma_connection *rdma_connection)
Connect to remote doca_rdma peer. Can only be called when the ctx is in DOCA_CTX_STATE_STARTING state...
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_read_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_remote_net_sync_event_get_get_dst_buf(const struct doca_rdma_task_remote_net_sync_event_get *task)
This method gets the destination buffer of a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_create(struct doca_dev *dev, struct doca_rdma **rdma)
Create a DOCA RDMA instance.
DOCA_EXPERIMENTAL void doca_rdma_task_send_imm_set_immediate_data(struct doca_rdma_task_send_imm *task, doca_be32_t immediate_data)
This method sets the immediate data of a send with immediate task.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_atomic_fetch_add_get_result_buf(const struct doca_rdma_task_atomic_fetch_add *task)
This method gets the result buffer of an atomic fetch and add task.
DOCA_EXPERIMENTAL uint64_t doca_rdma_task_atomic_cmp_swp_get_swap_data(const struct doca_rdma_task_atomic_cmp_swp *task)
This method gets the swap data of an atomic compare and swap task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_send_is_supported(const struct doca_devinfo *devinfo)
DOCA_EXPERIMENTAL void doca_rdma_task_remote_net_sync_event_notify_add_set_sync_event(struct doca_rdma_task_remote_net_sync_event_notify_add *task, struct doca_sync_event_remote_net *event)
This method sets the remote sync event of a remote_net_sync_event_notify_add task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_write_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, const struct doca_buf *src_buf, struct doca_buf *dst_buf, union doca_data user_data, struct doca_rdma_task_write **task)
This method allocates and initializes a write task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_task_remote_net_sync_event_notify_add_is_supported(const struct doca_devinfo *devinfo)
void(* doca_rdma_task_write_imm_completion_cb_t)(struct doca_rdma_task_write_imm *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a write with immediate task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_connection_set_user_data(struct doca_rdma_connection *rdma_connection, union doca_data connection_user_data)
Set user data to include in each connection.
void(* doca_rdma_task_write_completion_cb_t)(struct doca_rdma_task_write *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on completion of a write task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_cap_get_max_message_size(const struct doca_devinfo *devinfo, uint32_t *max_message_size)
Get the maximal message size for a specific device.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_get_mtu(const struct doca_rdma *rdma, enum doca_mtu_size *mtu)
Get the MTU property from doca_rdma. Returns the current MTU set for the doca_rdma context.
DOCA_EXPERIMENTAL void doca_rdma_task_atomic_cmp_swp_set_rdma_connection(struct doca_rdma_task_atomic_cmp_swp *task, struct doca_rdma_connection *rdma_connection)
This method sets the rdma_connection of a atomic compare and swap task.
DOCA_EXPERIMENTAL uint32_t doca_rdma_task_read_get_result_len(const struct doca_rdma_task_read *task)
This method gets the length of data read by the task.
DOCA_EXPERIMENTAL struct doca_buf * doca_rdma_task_read_get_dst_buf(const struct doca_rdma_task_read *task)
This method gets the destination buffer of a read task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_task_remote_net_sync_event_get_allocate_init(struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, const struct doca_sync_event_remote_net *event, struct doca_buf *dst_buf, union doca_data user_data, struct doca_rdma_task_remote_net_sync_event_get **task)
This method allocates and initializes a remote_net_sync_event_get task.
DOCA_EXPERIMENTAL doca_error_t doca_rdma_set_max_send_buf_list_len(struct doca_rdma *rdma, uint32_t max_send_buf_list_len)
Set the maximum buffer list length property for local buffers of tasks that are sent to the remote an...
DOCA_EXPERIMENTAL const struct doca_rdma_connection * doca_rdma_task_write_imm_get_rdma_connection(const struct doca_rdma_task_write_imm *task)
This method gets the rdma connection of a write with immediate task.
@ DOCA_RDMA_OPCODE_RECV_WRITE_WITH_IMM
@ DOCA_RDMA_OPCODE_RECV_SEND
@ DOCA_RDMA_OPCODE_RECV_SEND_WITH_IMM
@ DOCA_RDMA_ADDR_TYPE_IPv6
@ DOCA_RDMA_ADDR_TYPE_IPv4
@ DOCA_RDMA_ADDR_TYPE_GID
@ DOCA_RDMA_TRANSPORT_TYPE_RC
@ DOCA_RDMA_TRANSPORT_TYPE_DC
doca_mtu_size
MTU size in bytes.
#define DOCA_GID_BYTE_LENGTH
Specifies the length of a GID (Global ID) in bytes.
uint8_t raw[DOCA_GID_BYTE_LENGTH]
Convenience type for representing opaque data.