What can I help you with?
API References for DOCA 3.0.0

3. Data Structures

FILE is the opaque structure that is passed around between the various standard IO functions.

[ Flex IO SDK host ]

Describes Flex IO thread affinity information.

Public Variables

uint32_t  id
enumflexio_affinity_type type

Variables

uint32_t flexio_affinity::id [inherited]

ID of the chosen resource (EU / DPA EU group). Reserved if affinity type none is set.

enumflexio_affinity_typeflexio_affinity::type [inherited]

Affinity type to use for a Flex IO thread (none, strict or group).

[ Flex IO SDK host ]

Describes process attributes for creating a Flex IO application. Note: FlexIO user should never use this structure.

Public Variables

size_t  app_bsize
const char * app_name
void * app_ptr
uint64_t  dpa_api_version
uint64_t * flexio_dev_versions
size_t  flexio_dev_versions_len_size
size_t  sig_bsize
void * sig_ptr

Variables

size_t flexio_app_attr::app_bsize [inherited]

DPA application size (bytes).

const char * flexio_app_attr::app_name [inherited]

DPA application name.

void * flexio_app_attr::app_ptr [inherited]

Pointer to a buffer holds the DPA application.

uint64_t flexio_app_attr::dpa_api_version [inherited]

RTOS version.

uint64_t * flexio_app_attr::flexio_dev_versions [inherited]

Array of flexio_dev_versions.

size_t flexio_app_attr::flexio_dev_versions_len_size [inherited]

Length of array of flexio_dev_versions.

size_t flexio_app_attr::sig_bsize [inherited]

DPA application signature buffer size (bytes). sig_bsize == 0 indicates no signature.

void * flexio_app_attr::sig_ptr [inherited]

Pointer to a buffer holds the signature of the application.

[ Flex IO SDK host ]

Describes attributes for selecting a Flex IO app.

Public Variables

const char * app_name
enumflexio_hw_model_id hw_model_id
ibv_context * ibv_ctx

Variables

const char * flexio_app_select_attr::app_name [inherited]

Application name to match.

enumflexio_hw_model_idflexio_app_select_attr::hw_model_id [inherited]

HW model ID to match.

ibv_context * flexio_app_select_attr::ibv_ctx [inherited]

IBV device for selecting default HW model.

[ Flex IO SDK host ]

Describes process attributes for creating a Flex IO command queue (async RPC).

Public Variables

int  batch_size
enumflexio_cmdq_state state
int  workers

Variables

int flexio_cmdq_attr::batch_size [inherited]

Number of tasks to be executed to completion by invoked thread.

enumflexio_cmdq_stateflexio_cmdq_attr::state [inherited]

Command queue initial state.

int flexio_cmdq_attr::workers [inherited]

Number of available workers, each worker can handle up to batch_size number of tasks in a single invocation.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO CQ.

Public Variables

uint8_t  always_armed
bool  cc
flexio_uintptr_t cq_dbr_daddr
uint16_t  cq_max_count
uint16_t  cq_period
enumflexio_cq_period_mode cq_period_mode
struct flexio_qmem cq_ring_qmem
enum flexio_cqe_comp_format  cqe_comp_format
enumflexio_cqe_comp_type cqe_comp_type
uint8_t  element_type
uint32_t  emulated_eqn
uint8_t  log_cq_depth
bool  no_arm
uint8_t  overrun_ignore
flexio_thread * thread
void * uar_base_addr
uint32_t  uar_id

Variables

uint8_t flexio_cq_attr::always_armed [inherited]

Indication to always arm for the created CQ

bool flexio_cq_attr::cc [inherited]

Indication to enable collapsed CQE for the created CQ.

flexio_uintptr_tflexio_cq_attr::cq_dbr_daddr [inherited]

DBR memory address for the created CQ.

uint16_t flexio_cq_attr::cq_max_count [inherited]

CQE moderation max count (number of CQEs before creating an event).

uint16_t flexio_cq_attr::cq_period [inherited]

CQE moderation period (number of usecs before creating an event).

enumflexio_cq_period_modeflexio_cq_attr::cq_period_mode [inherited]

CQE moderation period mode (by CQE or by event).

struct flexio_qmemflexio_cq_attr::cq_ring_qmem [inherited]

Ring memory info for the created CQ.

enum flexio_cqe_comp_format flexio_cq_attr::cqe_comp_format [inherited]

CQE compression mini CQE format.

enumflexio_cqe_comp_typeflexio_cq_attr::cqe_comp_type [inherited]

CQE compression type to use for the CQ.

uint8_t flexio_cq_attr::element_type [inherited]

Type of the element attached to the created CQ (thread, EQ, none, emulated EQ).

uint32_t flexio_cq_attr::emulated_eqn [inherited]

Emulated EQ number to attach to the created CQ

uint8_t flexio_cq_attr::log_cq_depth [inherited]

Log number of entries for the created CQ.

bool flexio_cq_attr::no_arm [inherited]

Indication to not arm the CQ on creation.

uint8_t flexio_cq_attr::overrun_ignore [inherited]

Indication to ignore overrun for the created CQ.

flexio_thread * flexio_cq_attr::thread [inherited]

Thread object to attach to the created CQ (only valid for element type thread).

void * flexio_cq_attr::uar_base_addr [inherited]

CQ UAR base address, relevant for devx UAR only, otherwise must be NULL.

uint32_t flexio_cq_attr::uar_id [inherited]

CQ UAR ID (devx UAR ID for host queues, otherwise flexio_uar).

[ Flex IO SDK dev queue types ]

Describes Flex IO dev CQE.

Public Variables

__be32  byte_cnt
__be16  csum_ok
uint8_t  hw_err_syndrome
__be32  imm_inval_pkey
uint8_t  op_own
__be32  qpn
uint8_t  qpn24[3]
__be32  rsvd00[5]
uint8_t  rsvd22[2]
__be32  rsvd24[2]
__be32  rsvd40
__be32  rsvd48
uint8_t  rsvd50
uint8_t  signature
uint8_t  sop_rdrop
__be32  srqn_uidx
uint8_t  syndrome
uint8_t  vendor_err_synd
__be16  wqe_counter

Variables

__be32 flexio_dev_cqe64::byte_cnt [inherited]

0Bh - Byte count.

__be16 flexio_dev_cqe64::csum_ok [inherited]

05h 16..31 - checksum ok bits.

uint8_t flexio_dev_cqe64::hw_err_syndrome [inherited]

0Dh 24..31 - HW error syndrome.

__be32 flexio_dev_cqe64::imm_inval_pkey [inherited]

09h - immediate / invalidate key / pkey

uint8_t flexio_dev_cqe64::op_own [inherited]

0Fh 0..0 - Ownership bit. 04..07 opcode

__be32 flexio_dev_cqe64::qpn [inherited]

0Eh - QPN.

uint8_t flexio_dev_cqe64::qpn24[3] [inherited]

0Eh 0..23 - qpn with 24 bits

__be32 flexio_dev_cqe64::rsvd00[5] [inherited]

00h..04h - Reserved.

uint8_t flexio_dev_cqe64::rsvd22[2] [inherited]

05h 0..15 - Reserved.

__be32 flexio_dev_cqe64::rsvd24[2] [inherited]

06h..07h - Reserved.

__be32 flexio_dev_cqe64::rsvd40 [inherited]

0Ah - Reserved.

__be32 flexio_dev_cqe64::rsvd48 [inherited]

0Ch - Reserved.

uint8_t flexio_dev_cqe64::rsvd50 [inherited]

0Dh 16..23 - reserved.

uint8_t flexio_dev_cqe64::signature [inherited]

0Fh 8..15 - Signature/validity.

uint8_t flexio_dev_cqe64::sop_rdrop [inherited]

0Eh 24..31 - send_wqe_opcode/rx_drop_counter

__be32 flexio_dev_cqe64::srqn_uidx [inherited]

08h - SRQ number or user index.

uint8_t flexio_dev_cqe64::syndrome [inherited]

0Dh 00..07 - syndrome.

uint8_t flexio_dev_cqe64::vendor_err_synd [inherited]

0Dh 08..15 - vendor error syndrome.

__be16 flexio_dev_cqe64::wqe_counter [inherited]

0Fh 16..31 - WQE counter.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev EQE.

Public Variables

__be32  cqn
flexio_dev_eqe::@15  event_data
uint8_t  owner
__be32  rsvd00[6]
uint8_t  rsvd00
uint8_t  rsvd02
__be16  rsvd3c
uint8_t  rsvd4[28]
uint8_t  signature
uint8_t  sub_type
uint8_t  type

Variables

__be32 flexio_dev_eqe::cqn [inherited]

18h 24 lsb - CQN.

flexio_dev_eqe::@15 flexio_dev_eqe::event_data [inherited]

20h - Event data.

uint8_t flexio_dev_eqe::owner [inherited]

3Fh - Owner.

__be32 flexio_dev_eqe::rsvd00[6] [inherited]

00h..17h - Reserved.

uint8_t flexio_dev_eqe::rsvd00 [inherited]

00h - Reserved.

uint8_t flexio_dev_eqe::rsvd02 [inherited]

02h - Reserved.

__be16 flexio_dev_eqe::rsvd3c [inherited]

3Ch - Reserved.

uint8_t flexio_dev_eqe::rsvd4[28] [inherited]

04h..1fh - Reserved.

uint8_t flexio_dev_eqe::signature [inherited]

3Eh - Signature.

uint8_t flexio_dev_eqe::sub_type [inherited]

03h - Sub type.

uint8_t flexio_dev_eqe::type [inherited]

01h - EQE type.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev compressed CQE.

Public Variables

__be64  mini_cqe[7]
uint8_t  num_and_type
uint8_t  rsvd0[6]
uint8_t  validity_iteration_count

Variables

__be64 flexio_dev_mini_cqe64::mini_cqe[7] [inherited]

00h..37h mini cqe array.

uint8_t flexio_dev_mini_cqe64::num_and_type [inherited]

3fh..3fh no' of mini cqes, mini cqe format.

uint8_t flexio_dev_mini_cqe64::rsvd0[6] [inherited]

38h..3dh mini cqe 7.

uint8_t flexio_dev_mini_cqe64::validity_iteration_count [inherited]

3eh..3eh validity iteration count.

[ Flex IO SDK message stream ]

Describes Flex IO process trace context. This struct is used for managing different tracers for a DPA process.

Public Variables

flexio_tracer_streams_data [FLEXIO_MSG_DEV_MAX_STREAMS_AMOUNT] * tracer_ctx

Variables

flexio_tracer_streams_data [FLEXIO_MSG_DEV_MAX_STREAMS_AMOUNT] * flexio_dev_process_tracer_ctx::tracer_ctx [inherited]

< Process trace contexts.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev send WQE segments. Only one segment can be set at a given time.

Public Variables

struct flexio_dev_wqe_datagram_seg adres_vector
struct flexio_dev_wqe_atomic_seg atomic
struct flexio_dev_wqe_ctrl_seg ctrl
struct flexio_dev_wqe_eth_seg eth
struct flexio_dev_wqe_inline_data_seg inline_data
struct flexio_dev_wqe_inline_send_data_seg inline_send_data
struct flexio_dev_wqe_mem_ptr_send_data_seg mem_ptr_send_data
struct flexio_dev_wqe_rdma_seg rdma
struct flexio_dev_wqe_shared_receive_seg shared_receive
struct flexio_dev_wqe_transpose_seg transpose
struct flexio_dev_wqe_wait_on_data_seg wait_on_data
struct flexio_dev_wqe_wait_on_data_data_seg wait_on_data_data

Variables

struct flexio_dev_wqe_datagram_segflexio_dev_sqe_seg::adres_vector [inherited]

Datagram

struct flexio_dev_wqe_atomic_segflexio_dev_sqe_seg::atomic [inherited]

Atomic segment.

struct flexio_dev_wqe_ctrl_segflexio_dev_sqe_seg::ctrl [inherited]

Control segment.

struct flexio_dev_wqe_eth_segflexio_dev_sqe_seg::eth [inherited]

Ethernet segment.

struct flexio_dev_wqe_inline_data_segflexio_dev_sqe_seg::inline_data [inherited]

Inline data segment.

struct flexio_dev_wqe_inline_send_data_segflexio_dev_sqe_seg::inline_send_data [inherited]

Inline send data segment.

struct flexio_dev_wqe_mem_ptr_send_data_segflexio_dev_sqe_seg::mem_ptr_send_data [inherited]

Memory pointer send data segment.

struct flexio_dev_wqe_rdma_segflexio_dev_sqe_seg::rdma [inherited]

RDMA segment.

struct flexio_dev_wqe_shared_receive_segflexio_dev_sqe_seg::shared_receive [inherited]

Shared receive.

struct flexio_dev_wqe_transpose_segflexio_dev_sqe_seg::transpose [inherited]

Transpose segment.

struct flexio_dev_wqe_wait_on_data_segflexio_dev_sqe_seg::wait_on_data [inherited]

wait on data.

struct flexio_dev_wqe_wait_on_data_data_segflexio_dev_sqe_seg::wait_on_data_data [inherited]

wait on data, data.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE ATOMIC segment.

Public Variables

__be64  compare_data
__be64  swap_or_add_data

Variables

__be64 flexio_dev_wqe_atomic_seg::compare_data [inherited]

02h..03h - Compare operation data.

__be64 flexio_dev_wqe_atomic_seg::swap_or_add_data [inherited]

00h..01h - Swap or Add operation data.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE control segment.

Public Variables

__be32  general_id
__be32  idx_opcode
__be32  qpn_ds
__be32  signature_fm_ce_se

Variables

__be32 flexio_dev_wqe_ctrl_seg::general_id [inherited]

03h - Control general ID.

__be32 flexio_dev_wqe_ctrl_seg::idx_opcode [inherited]

00h - WQE index and opcode.

__be32 flexio_dev_wqe_ctrl_seg::qpn_ds [inherited]

01h - QPN and number of data segments.

__be32 flexio_dev_wqe_ctrl_seg::signature_fm_ce_se [inherited]

02h - Signature, fence mode, completion mode and solicited event.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE Address Vector (Datagram segment) (for UD packets). From infiniband/mlx5dv.h

Public Variables

__be64  dc_key
__be32  ext_dqp_dct
uint8_t  fl_mlid
__be32  grh_gid_fl
uint8_t  hop_limit
__be32  qkey
__be32  reserved
uint8_t  reserved0[4]
uint8_t  rgid[16]
__be16  rlid_sport
uint8_t  rmac[6]
uint8_t  stat_rate_sl
uint8_t  tclass

Variables

__be64 flexio_dev_wqe_datagram_seg::dc_key [inherited]

0h - DC Access key

__be32 flexio_dev_wqe_datagram_seg::ext_dqp_dct [inherited]

08h 31 - Address Vector extension exist 23..0 - Destination QP number or DCT

uint8_t flexio_dev_wqe_datagram_seg::fl_mlid [inherited]

0Ch 23 - Force Loopback 22..16 - Source LID

__be32 flexio_dev_wqe_datagram_seg::grh_gid_fl [inherited]

1Ch 30 - GRH will be placed in the packet 27..20 source GID 19..0 Flow Label

uint8_t flexio_dev_wqe_datagram_seg::hop_limit [inherited]

1Bh - GRH Hop Limit

__be32 flexio_dev_wqe_datagram_seg::qkey [inherited]

0h - Queue key

__be32 flexio_dev_wqe_datagram_seg::reserved [inherited]

4h - Reserved

uint8_t flexio_dev_wqe_datagram_seg::reserved0[4] [inherited]

10h - Reserved

uint8_t flexio_dev_wqe_datagram_seg::rgid[16] [inherited]

20h..2Ch - Remote GID

__be16 flexio_dev_wqe_datagram_seg::rlid_sport [inherited]

Obsolete name, saved for BWC purposes. 0Ch 15..0 - Remote LID (for IB) udp_sport (for RoCE)

uint8_t flexio_dev_wqe_datagram_seg::rmac[6] [inherited]

14h..19h - Remote MAC

uint8_t flexio_dev_wqe_datagram_seg::stat_rate_sl [inherited]

0Ch 31..28 - Static rate 27..24 - Service Level

uint8_t flexio_dev_wqe_datagram_seg::tclass [inherited]

1Ah - GRH TClass

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE ethernet segment.

Public Variables

__be16  cs_swp_flags
__be16  inline_hdr_bsz
uint8_t  inline_hdrs[2]
__be16  mss
__be32  rsvd0
__be32  rsvd2

Variables

__be16 flexio_dev_wqe_eth_seg::cs_swp_flags [inherited]

01h 16..31 - CS and SWP flags.

__be16 flexio_dev_wqe_eth_seg::inline_hdr_bsz [inherited]

03h 16..31 - Inline headers size (bytes).

uint8_t flexio_dev_wqe_eth_seg::inline_hdrs[2] [inherited]

03h 0..15 - Inline headers (first two bytes).

__be16 flexio_dev_wqe_eth_seg::mss [inherited]

01h 0..15 - Max segment size.

__be32 flexio_dev_wqe_eth_seg::rsvd0 [inherited]

00h - Reserved.

__be32 flexio_dev_wqe_eth_seg::rsvd2 [inherited]

02h - Reserved.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE inline data segment.

Public Variables

uint8_t  inline_data[16]

Variables

uint8_t flexio_dev_wqe_inline_data_seg::inline_data[16] [inherited]

00h..03h - Inline data.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE inline send data segment.

Public Variables

__be32  byte_count
__be32  data_and_padding[3]

Variables

__be32 flexio_dev_wqe_inline_send_data_seg::byte_count [inherited]

00h - Byte count.

__be32 flexio_dev_wqe_inline_send_data_seg::data_and_padding[3] [inherited]

01h..03h - Data and padding array.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE memory pointer send data segment.

Public Variables

__be64  addr
__be32  byte_count
__be32  lkey

Variables

__be64 flexio_dev_wqe_mem_ptr_send_data_seg::addr [inherited]

02h..03h - Address.

__be32 flexio_dev_wqe_mem_ptr_send_data_seg::byte_count [inherited]

00h - Byte count.

__be32 flexio_dev_wqe_mem_ptr_send_data_seg::lkey [inherited]

01h - Local key.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE receive data segment.

Public Variables

__be64  addr
__be32  byte_count
__be32  lkey

Variables

__be64 flexio_dev_wqe_rcv_data_seg::addr [inherited]

02h..03h - Address.

__be32 flexio_dev_wqe_rcv_data_seg::byte_count [inherited]

00h - Byte count.

__be32 flexio_dev_wqe_rcv_data_seg::lkey [inherited]

01h - Local key.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE RDMA segment.

Public Variables

__be64  raddr
__be32  rkey
__be32  rsvd0

Variables

__be64 flexio_dev_wqe_rdma_seg::raddr [inherited]

00h..01h - Remote address.

__be32 flexio_dev_wqe_rdma_seg::rkey [inherited]

02h - Remote key.

__be32 flexio_dev_wqe_rdma_seg::rsvd0 [inherited]

03h - Reserved.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev shared receive WQE.

Public Variables

__be16  next_wqe_index
uint8_t  rsvd0[2]
uint8_t  rsvd1[11]
uint8_t  signature

Variables

__be16 flexio_dev_wqe_shared_receive_seg::next_wqe_index [inherited]

Index (pointer) in the WQE buffer to the next WQE to be executed.

uint8_t flexio_dev_wqe_shared_receive_seg::rsvd0[2] [inherited]

Reserved bits for memory alignment.

uint8_t flexio_dev_wqe_shared_receive_seg::rsvd1[11] [inherited]

Reserved bits for memory alignment.

uint8_t flexio_dev_wqe_shared_receive_seg::signature [inherited]

WQE signature.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev WQE transpose segment.

Public Variables

uint8_t  element_size
uint8_t  num_of_cols
uint8_t  num_of_rows
uint8_t  rsvd0[0x3]
uint8_t  rsvd1
uint8_t  rsvd2
uint8_t  rsvd4[0x8]

Variables

uint8_t flexio_dev_wqe_transpose_seg::element_size [inherited]

00h 0..7 - Matrix element size.

uint8_t flexio_dev_wqe_transpose_seg::num_of_cols [inherited]

01h 16..22 - Number of columns in matrix (7b).

uint8_t flexio_dev_wqe_transpose_seg::num_of_rows [inherited]

01h 0..6 - Number of rows in matrix (7b).

uint8_t flexio_dev_wqe_transpose_seg::rsvd0[0x3] [inherited]

00h 8..31 - Reserved.

uint8_t flexio_dev_wqe_transpose_seg::rsvd1 [inherited]

01h - Reserved.

uint8_t flexio_dev_wqe_transpose_seg::rsvd2 [inherited]

01h - Reserved.

uint8_t flexio_dev_wqe_transpose_seg::rsvd4[0x8] [inherited]

02h..03h - Reserved.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev wait on data WQE - data portion.

Public Variables

__be64  data
__be64  data_mask

Variables

__be64 flexio_dev_wqe_wait_on_data_data_seg::data [inherited]

0h..7h Actual data for comparison.

__be64 flexio_dev_wqe_wait_on_data_data_seg::data_mask [inherited]

8h..fh Mask for data.

[ Flex IO SDK dev queue types ]

Describes Flex IO dev wait on data WQE.

Public Variables

uint32_t  lkey
uint8_t  op_inv
uint8_t  rsvd0[0x3]
uint32_t  va_31_3_fail_act
uint32_t  va_63_32

Variables

uint32_t flexio_dev_wqe_wait_on_data_seg::lkey [inherited]

4h..7h lkey.

uint8_t flexio_dev_wqe_wait_on_data_seg::op_inv [inherited]

3h 0..3 Operation. 4..4 Invert.

uint8_t flexio_dev_wqe_wait_on_data_seg::rsvd0[0x3] [inherited]

0h 2h Reserved.

uint32_t flexio_dev_wqe_wait_on_data_seg::va_31_3_fail_act [inherited]

8h..fh 0..2 Fail operation. 3..31 bits 3..31 of the lkey address.

uint32_t flexio_dev_wqe_wait_on_data_seg::va_63_32 [inherited]

8h..bh bits 32..63 of the lkey address.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO event handler.

Public Variables

struct flexio_affinity affinity
uint64_t  arg
int  continuable
flexio_func_t*host_stub_func
const char * name
flexio_uintptr_t thread_local_storage_daddr

Variables

struct flexio_affinityflexio_event_handler_attr::affinity [inherited]

Thread's affinity information.

uint64_t flexio_event_handler_attr::arg [inherited]

Thread argument.

int flexio_event_handler_attr::continuable [inherited]

Thread continuable flag.

flexio_func_t* * flexio_event_handler_attr::host_stub_func [inherited]

Stub for the entry function of the thread.

const char * flexio_event_handler_attr::name [inherited]

Name of event handler.

flexio_uintptr_tflexio_event_handler_attr::thread_local_storage_daddr [inherited]

Address of the local storage buffer of the thread.

[ Flex IO SDK host ]

Describes process heap memory information

Public Variables

size_t  allocated
uint64_t  base_addr
size_t  requested
size_t  size

Variables

size_t flexio_heap_mem_info::allocated [inherited]

Process heap memory allocated in bytes.

uint64_t flexio_heap_mem_info::base_addr [inherited]

Process heap memory base address.

size_t flexio_heap_mem_info::requested [inherited]

Process heap memory requested in bytes.

size_t flexio_heap_mem_info::size [inherited]

Process heap memory size in bytes.

[ Flex IO SDK host ]

Describes memory address

Public Variables

flexio_uintptr_t daddr
uintptr_t  haddr
enumflexio_memtype mem_type

Variables

flexio_uintptr_tflexio_mem::daddr [inherited]

DPA address (only valid for memtype FLEXIO_MEMTYPE_DPA).

uintptr_t flexio_mem::haddr [inherited]

Host address (only valid for memtype FLEXIO_MEMTYPE_HOST).

enumflexio_memtypeflexio_mem::mem_type [inherited]

Type of memory to use (FLEXIO_MEMTYPE_DPA or FLEXIO_MEMTYPE_HOST).

[ Flex IO SDK host ]

Describes process attributes for creating a Flex IO MKey.

Public Variables

int  access
flexio_uintptr_t daddr
size_t  len
ibv_pd * pd

Variables

int flexio_mkey_attr::access [inherited]

access contains the access mask for the MKey (Expected values: IBV_ACCESS_REMOTE_WRITE, IBV_ACCESS_LOCAL_WRITE).

flexio_uintptr_tflexio_mkey_attr::daddr [inherited]

DPA address the MKey is created for.

size_t flexio_mkey_attr::len [inherited]

Length of the address space the MKey is created for.

ibv_pd * flexio_mkey_attr::pd [inherited]

IBV protection domain information for the created MKey.

[ Flex IO SDK host ]

Describes DPA msg thread attributes for messaging from the Device to the Host side.

Public Variables

size_t  data_bsize
flexio_msg_dev_level  level
struct flexio_affinity mgmt_affinity
const char * stream_name
enumflexio_msg_dev_sync_mode sync_mode
enumflexio_msg_transport tracer_mode
const * tracer_msg_formats
enumflexio_msg_transport transport_mode
flexio_uar * uar
void * user_cb_ctx

Variables

size_t flexio_msg_stream_attr_t::data_bsize [inherited]

Size of buffer, used for data transfer from Flex IO to HOST MUST be power of two and be at least 2Kb.

flexio_msg_dev_level flexio_msg_stream_attr_t::level [inherited]

Log level of the stream with the ranges between FLEXIO_MSG_DEV_NO_PRINT and FLEXIO_MSG_DEV_DEBUG. FLEXIO_MSG_DEV_ALWAYS_PRINT cannot be used.

struct flexio_affinityflexio_msg_stream_attr_t::mgmt_affinity [inherited]

EU affinity for stream management operations creation, modification and destruction Passing a nullified struct will set affinity type to 'NONE'.

const char * flexio_msg_stream_attr_t::stream_name [inherited]

The name of the stream.

enumflexio_msg_dev_sync_modeflexio_msg_stream_attr_t::sync_mode [inherited]

Select sync mode scheme.

enumflexio_msg_transportflexio_msg_stream_attr_t::tracer_mode [inherited]

deprecated name for backward compatibility only. Never use it

const * flexio_msg_stream_attr_t::tracer_msg_formats [inherited]

Tracer print format templates array, last entry must be NULL. Device message format ID is used as index to this array. Every message will be prefixed with timestamp (in micro seconds), sequential number (will show lost messages) and DPA thread ID (to split output from parallel threads)

enumflexio_msg_transportflexio_msg_stream_attr_t::transport_mode [inherited]

Transport mode.

flexio_uar * flexio_msg_stream_attr_t::uar [inherited]

Deprecated field. Value will be ignored. flexio_process UAR be used instead.

void * flexio_msg_stream_attr_t::user_cb_ctx [inherited]

User callback context, will be sent as the first argument for user message callback. User's message callback, that will be called by Flex IO for batch of reports. Memory, pointed by "reps", can't be accessed after return from the callback.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO outbox.

Public Variables

uint32_t  en_pcc
flexio_uar * uar

Variables

uint32_t flexio_outbox_attr::en_pcc [inherited]

Create outbox with support for CC operations.

flexio_uar * flexio_outbox_attr::uar [inherited]

Deprecated field. Value will be ignored. flexio_process UAR will be used instead.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO process.

Public Variables

int  en_pcc
const char * name
ibv_pd * pd

Variables

int flexio_process_attr::en_pcc [inherited]

Enable PCC configuration for the created process.

const char * flexio_process_attr::name [inherited]

Name of the process.

ibv_pd * flexio_process_attr::pd [inherited]

IBV protection domain information for the created process. Passing NULL will result in an internal PD being created and used for the process.

[ Flex IO SDK host ]

Describes queue memory, which may be either host memory or DPA memory

Public Variables

flexio_uintptr_t daddr
uint64_t  humem_offset
enumflexio_memtype memtype
uint32_t  umem_id

Variables

flexio_uintptr_tflexio_qmem::daddr [inherited]

DPA address of the queue memory (only valid for memtype FLEXIO_MEMTYPE_DPA).

uint64_t flexio_qmem::humem_offset [inherited]

Address offset in the umem of the queue memory (only valid for memtype FLEXIO_MEMTYPE_HOST).

enumflexio_memtypeflexio_qmem::memtype [inherited]

Type of memory to use (FLEXIO_MEMTYPE_DPA or FLEXIO_MEMTYPE_HOST).

uint32_t flexio_qmem::umem_id [inherited]

UMEM ID of the queue memory.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO QP.

Public Variables

uint8_t * dest_mac
uint8_t  fl
uint8_t  gid_table_index
uint8_t  grh
uint8_t  isolate_vl_tc
int  log_rq_depth
uint8_t  log_rra_max
int  log_sq_depth
uint8_t  log_sra_max
uint32_t  min_rnr_nak_timer
uint32_t  next_rcv_psn
uint32_t  next_send_psn
enumflexio_qp_state next_state
int  no_sq
int  ops_flag
enumflexio_qp_qpc_mtu path_mtu
ibv_pd * pd
uint32_t  q_key
int  qp_access_mask
struct flexio_qmem qp_wq_buff_qmem
struct flexio_qmem qp_wq_dbr_qmem
uint32_t  remote_qp_num
uint8_t  retry_count
ibv_gid  rgid_or_rip
uint16_t  rlid
uint32_t  rmpqn
uint32_t  rq_cqn
int  rq_type
uint32_t  sq_cqn
enumflexio_qp_transport_type transport_type
uint32_t  uar_id
uint16_t  udp_sport
uint32_t  user_index
uint8_t  vhca_port_num

Variables

uint8_t * flexio_qp_attr::dest_mac [inherited]

Destination MAC address to set for the modified QP

uint8_t flexio_qp_attr::fl [inherited]

Indication to enable force loopback for the modified QP.

uint8_t flexio_qp_attr::gid_table_index [inherited]

GID table index to set for the modified QP

uint8_t flexio_qp_attr::grh [inherited]

GRH to set for the modified QP.

uint8_t flexio_qp_attr::isolate_vl_tc [inherited]

When set, the QP will transmit on an isolated VL/TC if available.

int flexio_qp_attr::log_rq_depth [inherited]

Log number of entries of the QP's RQ.

uint8_t flexio_qp_attr::log_rra_max [inherited]

Log of the number of allowed outstanding RDMA read/atomic operations

int flexio_qp_attr::log_sq_depth [inherited]

Log number of entries of the QP's SQ.

uint8_t flexio_qp_attr::log_sra_max [inherited]

Log of the number of allowed outstanding RDMA read/atomic operations as requester

uint32_t flexio_qp_attr::min_rnr_nak_timer [inherited]

Minimal RNR NACK timer to set for the modified QP.

uint32_t flexio_qp_attr::next_rcv_psn [inherited]

Next receive PSN to set for the modified QP.

uint32_t flexio_qp_attr::next_send_psn [inherited]

Next send PSN to set for the modified QP.

enumflexio_qp_stateflexio_qp_attr::next_state [inherited]

QP state to move the QP to (reset, init, RTS, RTR).

int flexio_qp_attr::no_sq [inherited]

Indication to create the QP without an SQ.

int flexio_qp_attr::ops_flag [inherited]

deprecated. Ignored. For backward compatibility only

enumflexio_qp_qpc_mtuflexio_qp_attr::path_mtu [inherited]

Path MTU to set for the modified QP.

ibv_pd * flexio_qp_attr::pd [inherited]

IBV protection domain information for the created QP.

uint32_t flexio_qp_attr::q_key [inherited]

Q_Key to be validated against received datagram.

int flexio_qp_attr::qp_access_mask [inherited]

QP's access permission (Expected values: IBV_ACCESS_REMOTE_WRITE, IBV_ACCESS_REMOTE_READ, IBV_ACCESS_REMOTE_ATOMIC, IBV_ACCESS_LOCAL_WRITE).

struct flexio_qmemflexio_qp_attr::qp_wq_buff_qmem [inherited]

Ring memory info for the created QP's WQ.

struct flexio_qmemflexio_qp_attr::qp_wq_dbr_qmem [inherited]

DBR memory info for the created QP's WQ.

uint32_t flexio_qp_attr::remote_qp_num [inherited]

Remote QP number to set for the modified QP.

uint8_t flexio_qp_attr::retry_count [inherited]

Retry count to set for the modified QP.

ibv_gid flexio_qp_attr::rgid_or_rip [inherited]

Remote GID or remote IP to set for the modified QP.

uint16_t flexio_qp_attr::rlid [inherited]

Remote LID to set for the modified QP.

uint32_t flexio_qp_attr::rmpqn [inherited]

RMP queue number, relevant only if QP RQ is RMP.

uint32_t flexio_qp_attr::rq_cqn [inherited]

CQ number of the QP's RQ. Not relevant for RMP

int flexio_qp_attr::rq_type [inherited]

QP's RQ type (regular, RMP, zero-RQ)

uint32_t flexio_qp_attr::sq_cqn [inherited]

CQ number of the QP's SQ.

enumflexio_qp_transport_typeflexio_qp_attr::transport_type [inherited]

transport type

uint32_t flexio_qp_attr::uar_id [inherited]

QP UAR ID.

uint16_t flexio_qp_attr::udp_sport [inherited]

UDP port to set for the modified QP.

uint32_t flexio_qp_attr::user_index [inherited]

User defined user_index for the created QP.

uint8_t flexio_qp_attr::vhca_port_num [inherited]

VHCA port number to set for the modified QP.

[ Flex IO SDK host ]

Describes QP modify operation mask.

Public Variables

bool  min_rnr_nak_timer
bool  qp_access_mask

Variables

bool flexio_qp_attr_opt_param_mask::min_rnr_nak_timer [inherited]

Indication to modify the QP's min_rnr_nak_timer field.

bool flexio_qp_attr_opt_param_mask::qp_access_mask [inherited]

Indication to modify the QP's qp_access_mask field.

[ Flex IO SDK message stream ]

Describes Flex IO trace message. This struct is used to communicate the tracer raw data from device to host.

Public Variables

uint64_t  arg0
uint64_t  arg1
uint64_t  arg2
uint64_t  arg3
uint64_t  arg4
uint64_t  arg5

Variables

uint64_t flexio_tracer_msg::arg0 [inherited]

Argument 0 for trace string format.

uint64_t flexio_tracer_msg::arg1 [inherited]

Argument 1 for trace string format.

uint64_t flexio_tracer_msg::arg2 [inherited]

Argument 2 for trace string format.

uint64_t flexio_tracer_msg::arg3 [inherited]

Argument 3 for trace string format.

uint64_t flexio_tracer_msg::arg4 [inherited]

Argument 4 for trace string format.

uint64_t flexio_tracer_msg::arg5 [inherited]

Argument 5 for trace string format.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO WQ.

Public Variables

uint8_t  log_wq_depth
uint8_t  log_wq_stride
ibv_pd * pd
struct flexio_wq_rq_attr rq
struct flexio_wq_sq_attr sq
uint32_t  uar_id
uint32_t  user_index
struct flexio_qmem wq_dbr_qmem
struct flexio_qmem wq_ring_qmem

Variables

uint8_t flexio_wq_attr::log_wq_depth [inherited]

Log number of entries for the created WQ.

uint8_t flexio_wq_attr::log_wq_stride [inherited]

Log size of entry for the created WQ. If this parameter is not provided, it will be set to default value 4.

ibv_pd * flexio_wq_attr::pd [inherited]

IBV protection domain struct to use for creating the WQ.

struct flexio_wq_rq_attrflexio_wq_attr::rq [inherited]

RQ attributes (used only for RQs).

struct flexio_wq_sq_attrflexio_wq_attr::sq [inherited]

SQ attributes (used only for SQs).

uint32_t flexio_wq_attr::uar_id [inherited]

WQ UAR ID.

uint32_t flexio_wq_attr::user_index [inherited]

User defined user_index for the created WQ.

struct flexio_qmemflexio_wq_attr::wq_dbr_qmem [inherited]

DBR memory address for the created WQ.

struct flexio_qmemflexio_wq_attr::wq_ring_qmem [inherited]

Ring memory info for the created WQ.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO RQ.

Public Variables

enumflexio_wq_end_pad_mode end_pad_mode
flexio_transport_domain * td
uint8_t  vlan_strip_disable
enumflexio_wq_type wq_type

Variables

enumflexio_wq_end_pad_modeflexio_wq_rq_attr::end_pad_mode [inherited]

RQ's WQ end padding mode.

flexio_transport_domain * flexio_wq_rq_attr::td [inherited]

TD (transport domain) object created for the RQ. If null, a TD object will be created on RQ creation. TD is used for TIR creation.

uint8_t flexio_wq_rq_attr::vlan_strip_disable [inherited]

When set, the RQ vlan strip is disables.

enumflexio_wq_typeflexio_wq_rq_attr::wq_type [inherited]

RQ's WQ type.

[ Flex IO SDK host ]

Describes attributes for creating a Flex IO SQ.

Public Variables

uint8_t  allow_multi_pkt_send_wqe
flexio_sq_tis * tis

Variables

uint8_t flexio_wq_sq_attr::allow_multi_pkt_send_wqe [inherited]

Indication enable multi packet send WQE for the created SQ.

flexio_sq_tis * flexio_wq_sq_attr::tis [inherited]

TIS (transport interface send) object created for the SQ. If null, a TIS object will be created on SQ creation.

[ Flex IO SDK dev ]

Describes Flex IO dev spinlock.

Public Variables

uint32_t  locked

Variables

uint32_t spinlock_s::locked [inherited]

Indication for spinlock lock state.

© Copyright 2025, NVIDIA. Last updated on May 5, 2025.