API References for DOCA 3.1.0

3. Data Structures

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

[ 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::@3  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::@3 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 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 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 Oct 22, 2025