NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
rdma_common.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <doca_argp.h>
#include <doca_ctx.h>
#include <doca_error.h>
#include <doca_log.h>
#include "rdma_common.h"
Include dependency graph for rdma_common.c:

Go to the source code of this file.

Functions

 DOCA_LOG_REGISTER (RDMA::COMMON)
 
static doca_error_t device_address_callback (void *param, void *config)
 
static doca_error_t send_string_callback (void *param, void *config)
 
static doca_error_t read_string_callback (void *param, void *config)
 
static doca_error_t write_string_callback (void *param, void *config)
 
static doca_error_t local_descriptor_path_callback (void *param, void *config)
 
static doca_error_t remote_descriptor_path_callback (void *param, void *config)
 
static doca_error_t mmap_descriptor_path_callback (void *param, void *config)
 
static doca_error_t gid_index_param_callback (void *param, void *config)
 
doca_error_t register_rdma_send_string_param (void)
 
doca_error_t register_rdma_read_string_param (void)
 
doca_error_t register_rdma_write_string_param (void)
 
static doca_error_t num_connections_param_callback (void *param, void *config)
 
doca_error_t register_rdma_num_connections_param (void)
 
static doca_error_t transport_type_param_callback (void *param, void *config)
 
static doca_error_t use_rdma_cm_param_callback (void *param, void *config)
 
static doca_error_t cm_port_param_callback (void *param, void *config)
 
static doca_error_t cm_addr_param_callback (void *param, void *config)
 
static doca_error_t cm_addr_type_param_callback (void *param, void *config)
 
static doca_error_t register_rdma_cm_params (void)
 
doca_error_t register_rdma_common_params (void)
 
static doca_error_t open_doca_device (const char *device_name, task_check func, struct doca_dev **doca_device)
 
doca_error_t allocate_rdma_resources (struct rdma_config *cfg, const uint32_t mmap_permissions, const uint32_t rdma_permissions, task_check func, struct rdma_resources *resources)
 
doca_error_t delete_file (const char *file_path)
 
static doca_error_t clean_up_files (struct rdma_config *cfg)
 
static doca_error_t destroy_rdma_cm_resources (struct rdma_resources *resources)
 
doca_error_t destroy_rdma_resources (struct rdma_resources *resources, struct rdma_config *cfg)
 
doca_error_t write_file (const char *file_path, const char *string, size_t string_len)
 
doca_error_t read_file (const char *file_path, char **string, size_t *string_len)
 
doca_error_t rdma_cm_connect (struct rdma_resources *resources)
 
doca_error_t rdma_cm_disconnect (struct rdma_resources *resources)
 
doca_error_t send_msg (struct doca_rdma *rdma, struct doca_rdma_connection *rdma_connection, struct doca_mmap *mmap, struct doca_buf_inventory *buf_inv, void *msg, uint32_t msg_len, void *user_data)
 
doca_error_t recv_msg (struct doca_rdma *rdma, struct doca_mmap *mmap, struct doca_buf_inventory *buf_inv, void *msg, uint32_t msg_len, void *user_data)
 
doca_error_t rdma_requester_recv_data_from_rdma_responder (struct rdma_resources *resources)
 
doca_error_t rdma_responder_send_data_to_rdma_requester (struct rdma_resources *resources)
 
void receive_task_completion_cb (struct doca_rdma_task_receive *task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void receive_task_error_cb (struct doca_rdma_task_receive *rdma_recv_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void send_task_completion_cb (struct doca_rdma_task_send *task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void send_task_error_cb (struct doca_rdma_task_send *rdma_send_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void rdma_cm_connect_request_cb (struct doca_rdma_connection *connection, union doca_data ctx_user_data)
 
void rdma_cm_connect_established_cb (struct doca_rdma_connection *connection, union doca_data connection_user_data, union doca_data ctx_user_data)
 
void rdma_cm_connect_failure_cb (struct doca_rdma_connection *connection, union doca_data connection_user_data, union doca_data ctx_user_data)
 
void rdma_cm_disconnect_cb (struct doca_rdma_connection *connection, union doca_data connection_user_data, union doca_data ctx_user_data)
 
doca_error_t set_default_config_value (struct rdma_config *cfg)
 
doca_error_t create_local_mmap (struct doca_mmap **mmap, const uint32_t mmap_permissions, void *data_buffer, size_t data_buffer_size, struct doca_dev *dev)
 
doca_error_t config_rdma_cm_callback_and_negotiation_task (struct rdma_resources *resources, bool need_send_task, bool need_recv_task)
 
void wait_for_enter (void)
 

Function Documentation

◆ allocate_rdma_resources()

doca_error_t allocate_rdma_resources ( struct rdma_config cfg,
const uint32_t  mmap_permissions,
const uint32_t  rdma_permissions,
task_check  func,
struct rdma_resources resources 
)

Definition at line 758 of file rdma_common.c.

◆ clean_up_files()

static doca_error_t clean_up_files ( struct rdma_config cfg)
static

Definition at line 926 of file rdma_common.c.

◆ cm_addr_param_callback()

static doca_error_t cm_addr_param_callback ( void *  param,
void *  config 
)
static

Definition at line 441 of file rdma_common.c.

◆ cm_addr_type_param_callback()

static doca_error_t cm_addr_type_param_callback ( void *  param,
void *  config 
)
static

Definition at line 465 of file rdma_common.c.

◆ cm_port_param_callback()

static doca_error_t cm_port_param_callback ( void *  param,
void *  config 
)
static

Definition at line 419 of file rdma_common.c.

◆ config_rdma_cm_callback_and_negotiation_task()

doca_error_t config_rdma_cm_callback_and_negotiation_task ( struct rdma_resources resources,
bool  need_send_task,
bool  need_recv_task 
)

Set send&recv task configuration they are used for transferring the mmap desc between client and server for non-sync-event task also used for transferring the sync-event desc between client and server for syn-event task

Definition at line 1720 of file rdma_common.c.

◆ create_local_mmap()

doca_error_t create_local_mmap ( struct doca_mmap **  mmap,
const uint32_t  mmap_permissions,
void *  data_buffer,
size_t  data_buffer_size,
struct doca_dev *  dev 
)

Definition at line 1665 of file rdma_common.c.

◆ delete_file()

doca_error_t delete_file ( const char *  file_path)

Definition at line 899 of file rdma_common.c.

◆ destroy_rdma_cm_resources()

static doca_error_t destroy_rdma_cm_resources ( struct rdma_resources resources)
static

Definition at line 963 of file rdma_common.c.

◆ destroy_rdma_resources()

doca_error_t destroy_rdma_resources ( struct rdma_resources resources,
struct rdma_config cfg 
)

Definition at line 1002 of file rdma_common.c.

◆ device_address_callback()

static doca_error_t device_address_callback ( void *  param,
void *  config 
)
static

Definition at line 47 of file rdma_common.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( RDMA::COMMON  )

◆ gid_index_param_callback()

static doca_error_t gid_index_param_callback ( void *  param,
void *  config 
)
static

Definition at line 216 of file rdma_common.c.

◆ local_descriptor_path_callback()

static doca_error_t local_descriptor_path_callback ( void *  param,
void *  config 
)
static

Definition at line 143 of file rdma_common.c.

◆ mmap_descriptor_path_callback()

static doca_error_t mmap_descriptor_path_callback ( void *  param,
void *  config 
)
static

Definition at line 192 of file rdma_common.c.

◆ num_connections_param_callback()

static doca_error_t num_connections_param_callback ( void *  param,
void *  config 
)
static

Definition at line 323 of file rdma_common.c.

◆ open_doca_device()

static doca_error_t open_doca_device ( const char *  device_name,
task_check  func,
struct doca_dev **  doca_device 
)
static

Definition at line 716 of file rdma_common.c.

◆ rdma_cm_connect()

doca_error_t rdma_cm_connect ( struct rdma_resources resources)

Definition at line 1172 of file rdma_common.c.

◆ rdma_cm_connect_established_cb()

void rdma_cm_connect_established_cb ( struct doca_rdma_connection *  connection,
union doca_data  connection_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1577 of file rdma_common.c.

◆ rdma_cm_connect_failure_cb()

void rdma_cm_connect_failure_cb ( struct doca_rdma_connection *  connection,
union doca_data  connection_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1604 of file rdma_common.c.

◆ rdma_cm_connect_request_cb()

void rdma_cm_connect_request_cb ( struct doca_rdma_connection *  connection,
union doca_data  ctx_user_data 
)

Definition at line 1556 of file rdma_common.c.

◆ rdma_cm_disconnect()

doca_error_t rdma_cm_disconnect ( struct rdma_resources resources)

Definition at line 1244 of file rdma_common.c.

◆ rdma_cm_disconnect_cb()

void rdma_cm_disconnect_cb ( struct doca_rdma_connection *  connection,
union doca_data  connection_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1622 of file rdma_common.c.

◆ rdma_requester_recv_data_from_rdma_responder()

doca_error_t rdma_requester_recv_data_from_rdma_responder ( struct rdma_resources resources)

Definition at line 1332 of file rdma_common.c.

◆ rdma_responder_send_data_to_rdma_requester()

doca_error_t rdma_responder_send_data_to_rdma_requester ( struct rdma_resources resources)

Definition at line 1387 of file rdma_common.c.

◆ read_file()

doca_error_t read_file ( const char *  file_path,
char **  string,
size_t string_len 
)

Definition at line 1119 of file rdma_common.c.

◆ read_string_callback()

static doca_error_t read_string_callback ( void *  param,
void *  config 
)
static

Definition at line 95 of file rdma_common.c.

◆ receive_task_completion_cb()

void receive_task_completion_cb ( struct doca_rdma_task_receive *  task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1477 of file rdma_common.c.

◆ receive_task_error_cb()

void receive_task_error_cb ( struct doca_rdma_task_receive *  rdma_recv_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1510 of file rdma_common.c.

◆ recv_msg()

doca_error_t recv_msg ( struct doca_rdma *  rdma,
struct doca_mmap *  mmap,
struct doca_buf_inventory *  buf_inv,
void *  msg,
uint32_t  msg_len,
void *  user_data 
)

Definition at line 1297 of file rdma_common.c.

◆ register_rdma_cm_params()

static doca_error_t register_rdma_cm_params ( void  )
static

Definition at line 498 of file rdma_common.c.

◆ register_rdma_common_params()

doca_error_t register_rdma_common_params ( void  )

Definition at line 580 of file rdma_common.c.

◆ register_rdma_num_connections_param()

doca_error_t register_rdma_num_connections_param ( void  )

Definition at line 338 of file rdma_common.c.

◆ register_rdma_read_string_param()

doca_error_t register_rdma_read_string_param ( void  )

Definition at line 260 of file rdma_common.c.

◆ register_rdma_send_string_param()

doca_error_t register_rdma_send_string_param ( void  )

Definition at line 232 of file rdma_common.c.

◆ register_rdma_write_string_param()

doca_error_t register_rdma_write_string_param ( void  )

Definition at line 288 of file rdma_common.c.

◆ remote_descriptor_path_callback()

static doca_error_t remote_descriptor_path_callback ( void *  param,
void *  config 
)
static

Definition at line 168 of file rdma_common.c.

◆ send_msg()

doca_error_t send_msg ( struct doca_rdma *  rdma,
struct doca_rdma_connection *  rdma_connection,
struct doca_mmap *  mmap,
struct doca_buf_inventory *  buf_inv,
void *  msg,
uint32_t  msg_len,
void *  user_data 
)

Definition at line 1262 of file rdma_common.c.

◆ send_string_callback()

static doca_error_t send_string_callback ( void *  param,
void *  config 
)
static

Definition at line 71 of file rdma_common.c.

◆ send_task_completion_cb()

void send_task_completion_cb ( struct doca_rdma_task_send *  task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1525 of file rdma_common.c.

◆ send_task_error_cb()

void send_task_error_cb ( struct doca_rdma_task_send *  rdma_send_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1541 of file rdma_common.c.

◆ set_default_config_value()

doca_error_t set_default_config_value ( struct rdma_config cfg)

Definition at line 1640 of file rdma_common.c.

◆ transport_type_param_callback()

static doca_error_t transport_type_param_callback ( void *  param,
void *  config 
)
static

Definition at line 376 of file rdma_common.c.

◆ use_rdma_cm_param_callback()

static doca_error_t use_rdma_cm_param_callback ( void *  param,
void *  config 
)
static

Definition at line 402 of file rdma_common.c.

◆ wait_for_enter()

void wait_for_enter ( void  )

Definition at line 1771 of file rdma_common.c.

◆ write_file()

doca_error_t write_file ( const char *  file_path,
const char *  string,
size_t  string_len 
)

Definition at line 1087 of file rdma_common.c.

◆ write_string_callback()

static doca_error_t write_string_callback ( void *  param,
void *  config 
)
static

Definition at line 119 of file rdma_common.c.