50 #define SLEEP(SECONDS) for (int i = 0; i < 1 + SECONDS * 30000; i++)
55 #define DEVICE_DEFAULT_NAME "NOT_SET"
60 #define SYNC_EVENT_MASK_FFS (0xFFFFFFFFFFFFFFFF)
65 #define RDMA_DEVICE_DEFAULT_GID_INDEX (1)
70 #define RDMA_DEFAULT_BUF_LIST_LEN (1)
75 #define DPA_RESOURCES_PATH_MAX_SIZE 1024
80 #define DPA_APP_KEY_MAX_SIZE 1024
207 struct doca_dev *doca_device,
208 struct doca_sync_event **wait_event);
220 struct doca_dev *doca_device,
221 struct doca_sync_event **comp_event,
253 struct doca_dpa *doca_dpa,
254 struct doca_sync_event *remote_net_event,
255 struct doca_sync_event_remote_net **remote_net_exported_event,
doca_error_t dpa_rdma_obj_destroy(struct dpa_rdma_obj *dpa_rdma_obj)
Destroy DPA RDMA.
doca_error_t export_doca_remote_net_sync_event_to_dpa(struct doca_dev *doca_device, struct doca_dpa *doca_dpa, struct doca_sync_event *remote_net_event, struct doca_sync_event_remote_net **remote_net_exported_event, doca_dpa_dev_sync_event_remote_net_t *remote_net_event_dpa_handle)
Create DOCA sync event to be published by a remote net and subscribed by the CPU.
doca_error_t dpa_notification_completion_obj_init(struct dpa_notification_completion_obj *notification_completion_obj)
Initialize DPA notification completion.
doca_error_t destroy_dpa_resources(struct dpa_resources *resources)
Destroy DOCA DPA resources.
doca_error_t dpa_rdma_obj_start(struct dpa_rdma_obj *dpa_rdma_obj)
Start DPA RDMA.
doca_error_t register_dpa_params(void)
Register the command line parameters for the sample.
doca_error_t dpa_thread_obj_init(struct dpa_thread_obj *dpa_thread_obj)
Initialize DPA thread.
doca_error_t dpa_notification_completion_obj_destroy(struct dpa_notification_completion_obj *notification_completion_obj)
Destroy DPA notification completion.
doca_error_t create_doca_dpa_wait_sync_event(struct doca_dpa *doca_dpa, struct doca_dev *doca_device, struct doca_sync_event **wait_event)
Create DOCA sync event to be published by the CPU and subscribed by the DPA.
doca_error_t doca_mmap_obj_destroy(struct doca_mmap_obj *doca_mmap_obj)
Destroy DOCA Mmap.
doca_error_t dpa_completion_obj_init(struct dpa_completion_obj *dpa_completion_obj)
Initialize DPA completion.
mmap_type
DOCA Mmap type definition.
doca_error_t allocate_dpa_resources(struct dpa_config *cfg, struct dpa_resources *resources)
Allocate DOCA DPA resources.
#define DPA_APP_KEY_MAX_SIZE
DPA application key size.
doca_error_t create_doca_remote_net_sync_event(struct doca_dev *doca_device, struct doca_sync_event **remote_net_event)
Create DOCA sync event to be published by a remote net and subscribed by the CPU.
doca_error_t dpa_rdma_obj_init(struct dpa_rdma_obj *dpa_rdma_obj)
Initialize DPA RDMA without starting it.
doca_error_t create_doca_dpa_completion_sync_event(struct doca_dpa *doca_dpa, struct doca_dev *doca_device, struct doca_sync_event **comp_event, doca_dpa_dev_sync_event_t *handle)
Create DOCA sync event to be published by the DPA and subscribed by the CPU.
doca_error_t doca_mmap_obj_init(struct doca_mmap_obj *doca_mmap_obj)
Initialize DOCA Mmap.
doca_error_t dpa_completion_obj_destroy(struct dpa_completion_obj *dpa_completion_obj)
Destroy DPA completion.
#define DPA_RESOURCES_PATH_MAX_SIZE
DPA resources file path size.
doca_error_t dpa_thread_obj_destroy(struct dpa_thread_obj *dpa_thread_obj)
Destroy DPA thread.
doca_error_t create_doca_dpa_kernel_sync_event(struct doca_dpa *doca_dpa, struct doca_sync_event **kernel_event)
Create DOCA sync event to be published and subscribed by the DPA.
struct rdma_resources resources
#define DOCA_DEVINFO_IBDEV_NAME_SIZE
Buffer size to hold Infiniband/RoCE device name. Including a null terminator.
uint64_t doca_dpa_dev_t
DPA context handle type definition.
void() doca_dpa_func_t(void)
Generic function pointer type.
uint64_t doca_dpa_dev_completion_t
DPA completion handle type definition.
uint64_t doca_dpa_dev_uintptr_t
DPA pointer type definition.
uint64_t doca_dpa_dev_notification_completion_t
DPA notification completion handle type definition.
enum doca_error doca_error_t
DOCA API return codes.
uint32_t doca_dpa_dev_mmap_t
Handle on the DPA for a doca_mmap instance.
uint64_t doca_dpa_dev_rdma_t
uint64_t doca_dpa_dev_sync_event_t
DOCA Sync Event DPA handle.
uint64_t doca_dpa_dev_sync_event_remote_net_t
DOCA Sync Event remote DPA handle.
const struct ip_frag_config * cfg
A struct that includes all the resources needed for DOCA Mmap.
struct doca_dev * doca_device
struct doca_dpa * doca_dpa
doca_dpa_dev_mmap_t dpa_mmap_handle
A struct that includes all the resources needed for DPA completion.
struct doca_dpa_thread * thread
doca_dpa_dev_completion_t handle
struct doca_dpa_completion * dpa_comp
struct doca_dpa * doca_dpa
char rdma_device_name[DOCA_DEVINFO_IBDEV_NAME_SIZE]
char dpa_resources_file[DPA_RESOURCES_PATH_MAX_SIZE]
char pf_device_name[DOCA_DEVINFO_IBDEV_NAME_SIZE]
char dpa_app_key[DPA_APP_KEY_MAX_SIZE]
A struct that includes all the resources needed for DPA notification completion.
struct doca_dpa_thread * thread
doca_dpa_dev_notification_completion_t handle
struct doca_dpa * doca_dpa
struct doca_dpa_notification_completion * notification_comp
A struct that includes all the resources needed for DPA RDMA.
struct doca_ctx * rdma_as_ctx
doca_dpa_dev_rdma_t dpa_rdma
struct doca_rdma_connection * connection
bool second_connection_needed
uint32_t max_connections_count
const void * connection2_details
struct doca_rdma_connection * connection2
struct doca_dev * doca_device
struct doca_dpa_completion * dpa_comp
struct doca_dpa * doca_dpa
const void * connection_details
A struct that includes all the resources needed for DPA.
struct doca_dpa * pf_dpa_ctx
struct doca_dpa_eu_affinity ** affinities
struct doca_dev * rdma_doca_device
struct doca_dev * pf_doca_device
struct doca_dpa * rdma_dpa_ctx
doca_dpa_dev_t rdma_dpa_ctx_handle
A struct that includes all the resources needed for DPA thread.
struct doca_dpa_thread * thread
doca_dpa_dev_uintptr_t tls_dev_ptr
struct doca_dpa * doca_dpa
struct doca_dpa_eu_affinity * affinity