3. Data Structures
Here are the data structures with brief descriptions:
- __FILE
- flexio_affinity
- flexio_app_attr
- flexio_app_select_attr
- flexio_cmdq_attr
- flexio_cq_attr
- flexio_dev_cqe64
- flexio_dev_eqe
- flexio_dev_mini_cqe64
- flexio_dev_process_tracer_ctx
- flexio_dev_sqe_seg
- flexio_dev_wqe_atomic_seg
- flexio_dev_wqe_ctrl_seg
- flexio_dev_wqe_datagram_seg
- flexio_dev_wqe_eth_seg
- flexio_dev_wqe_inline_data_seg
- flexio_dev_wqe_inline_send_data_seg
- flexio_dev_wqe_mem_ptr_send_data_seg
- flexio_dev_wqe_rcv_data_seg
- flexio_dev_wqe_rdma_seg
- flexio_dev_wqe_shared_receive_seg
- flexio_dev_wqe_transpose_seg
- flexio_dev_wqe_wait_on_data_data_seg
- flexio_dev_wqe_wait_on_data_seg
- flexio_event_handler_attr
- flexio_heap_mem_info
- flexio_mem
- flexio_mkey_attr
- flexio_msg_stream_attr_t
- flexio_outbox_attr
- flexio_process_attr
- flexio_qmem
- flexio_qp_attr
- flexio_qp_attr_opt_param_mask
- flexio_tracer_msg
- flexio_wq_attr
- flexio_wq_rq_attr
- flexio_wq_sq_attr
- spinlock_s
[ 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
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
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
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
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
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
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.