NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
DOCA Types
Collaboration diagram for DOCA Types:

Data Structures

union  doca_data
 Convenience type for representing opaque data. More...
 
struct  doca_gather_list
 Struct to represent a gather list. More...
 

Macros

#define doca_event_invalid_handle   INVALID_HANDLE_VALUE
 
#define DOCA_GID_BYTE_LENGTH   16
 Specifies the length of a GID (Global ID) in bytes. More...
 

Typedefs

typedef void * doca_event_handle_t
 
typedef doca_event_handle_t doca_notification_handle_t
 
typedef uint16_t doca_be16_t
 Declare DOCA endianity types. More...
 
typedef uint32_t doca_be32_t
 
typedef uint64_t doca_be64_t
 

Enumerations

enum  doca_access_flag {
  DOCA_ACCESS_FLAG_LOCAL_READ_ONLY = 0 , DOCA_ACCESS_FLAG_LOCAL_READ_WRITE = (1 << 0) , DOCA_ACCESS_FLAG_RDMA_READ = (1 << 1) , DOCA_ACCESS_FLAG_RDMA_WRITE = (1 << 2) ,
  DOCA_ACCESS_FLAG_RDMA_ATOMIC = (1 << 3) , DOCA_ACCESS_FLAG_PCI_READ_ONLY = (1 << 4) , DOCA_ACCESS_FLAG_PCI_READ_WRITE = (1 << 5) , DOCA_ACCESS_FLAG_PCI_RELAXED_ORDERING = (1 << 6)
}
 Specifies the permission level for DOCA buffer. More...
 
enum  doca_pci_func_type { DOCA_PCI_FUNC_TYPE_PF = 0 , DOCA_PCI_FUNC_TYPE_VF , DOCA_PCI_FUNC_TYPE_SF }
 Specifies the PCI function type for DOCA representor device. More...
 
enum  doca_gpu_mem_type { DOCA_GPU_MEM_TYPE_GPU = 0 , DOCA_GPU_MEM_TYPE_GPU_CPU = 1 , DOCA_GPU_MEM_TYPE_CPU_GPU = 2 }
 Type of memory the GPUNetIO library can allocate. More...
 
enum  doca_eth_wait_on_time_type { DOCA_ETH_WAIT_ON_TIME_TYPE_NONE = 0 , DOCA_ETH_WAIT_ON_TIME_TYPE_NATIVE = 1 , DOCA_ETH_WAIT_ON_TIME_TYPE_DPDK = 2 }
 Type of wait on time the network card can support. More...
 
enum  doca_mtu_size {
  DOCA_MTU_SIZE_256_BYTES = 0x0 , DOCA_MTU_SIZE_512_BYTES = 0x1 , DOCA_MTU_SIZE_1K_BYTES = 0x2 , DOCA_MTU_SIZE_2K_BYTES = 0x3 ,
  DOCA_MTU_SIZE_4K_BYTES = 0x4 , DOCA_MTU_SIZE_RAW_ETHERNET = 0x5
}
 MTU size in bytes. More...
 

Detailed Description

DOCA Types introduces types that are common for many libraries.

Macro Definition Documentation

◆ doca_event_invalid_handle

#define doca_event_invalid_handle   INVALID_HANDLE_VALUE

Represents invalid handle value

Definition at line 43 of file doca_types.h.

◆ DOCA_GID_BYTE_LENGTH

#define DOCA_GID_BYTE_LENGTH   16

Specifies the length of a GID (Global ID) in bytes.

Definition at line 49 of file doca_types.h.

Typedef Documentation

◆ doca_be16_t

typedef uint16_t doca_be16_t

Declare DOCA endianity types.

Unsigned 16-bit integer in Big Endian

Definition at line 120 of file doca_types.h.

◆ doca_be32_t

typedef uint32_t doca_be32_t

Unsigned 32-bit integer in Big Endian

Definition at line 121 of file doca_types.h.

◆ doca_be64_t

typedef uint64_t doca_be64_t

Unsigned 64-bit integer in Big Endian

Definition at line 122 of file doca_types.h.

◆ doca_event_handle_t

typedef void* doca_event_handle_t

Used for windows HANDLE or IOCompletionPort

Definition at line 42 of file doca_types.h.

◆ doca_notification_handle_t

Type alias used with progress engine

Definition at line 51 of file doca_types.h.

Enumeration Type Documentation

◆ doca_access_flag

Specifies the permission level for DOCA buffer.

Can be used with doca_mmap_set_permissions() to set permission level. A few notes: DOCA_ACCESS_FLAG_PCI_READ_ONLY and DOCA_ACCESS_FLAG_PCI_READ_WRITE are mutually exclusive Buffer can always be read locally by local device, regardless of set permissions local device - doca_dev running in the same process of the mmap remote device - doca_dev running on a different process on a remote machine DPU device - doca_dev running on a process on the DPU OS. This is only relevant when local process is running on HOST. In case local process is running on DPU the doca_dev is considered a local device.

Enumerator
DOCA_ACCESS_FLAG_LOCAL_READ_ONLY 
DOCA_ACCESS_FLAG_LOCAL_READ_WRITE 
DOCA_ACCESS_FLAG_RDMA_READ 
DOCA_ACCESS_FLAG_RDMA_WRITE 
DOCA_ACCESS_FLAG_RDMA_ATOMIC 
DOCA_ACCESS_FLAG_PCI_READ_ONLY 
DOCA_ACCESS_FLAG_PCI_READ_WRITE 

Allows reading buffer by device on same PCI but prevents write. See doca_mmap_export_pci()

DOCA_ACCESS_FLAG_PCI_RELAXED_ORDERING 

Allows reading and writing to buffer by a device on same PCI. See doca_mmap_export_pci()

Definition at line 81 of file doca_types.h.

◆ doca_eth_wait_on_time_type

Type of wait on time the network card can support.

Enumerator
DOCA_ETH_WAIT_ON_TIME_TYPE_NONE 
DOCA_ETH_WAIT_ON_TIME_TYPE_NATIVE 
DOCA_ETH_WAIT_ON_TIME_TYPE_DPDK 

Definition at line 142 of file doca_types.h.

◆ doca_gpu_mem_type

Type of memory the GPUNetIO library can allocate.

Enumerator
DOCA_GPU_MEM_TYPE_GPU 
DOCA_GPU_MEM_TYPE_GPU_CPU 
DOCA_GPU_MEM_TYPE_CPU_GPU 

Definition at line 129 of file doca_types.h.

◆ doca_mtu_size

MTU size in bytes.

Enumerator
DOCA_MTU_SIZE_256_BYTES 
DOCA_MTU_SIZE_512_BYTES 
DOCA_MTU_SIZE_1K_BYTES 
DOCA_MTU_SIZE_2K_BYTES 
DOCA_MTU_SIZE_4K_BYTES 
DOCA_MTU_SIZE_RAW_ETHERNET 

Definition at line 154 of file doca_types.h.

◆ doca_pci_func_type

Specifies the PCI function type for DOCA representor device.

Enumerator
DOCA_PCI_FUNC_TYPE_PF 
DOCA_PCI_FUNC_TYPE_VF 
DOCA_PCI_FUNC_TYPE_SF 

Definition at line 105 of file doca_types.h.