mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-04 13:02:09 +08:00
3213 lines
173 KiB
Python
3213 lines
173 KiB
Python
# mypy: disable-error-code="empty-body"
|
|
from __future__ import annotations
|
|
import ctypes
|
|
from typing import Annotated, Literal, TypeAlias
|
|
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
|
from tinygrad.runtime.support import c
|
|
dll = c.DLL('ib', 'ibverbs', use_errno=True)
|
|
@c.record
|
|
class union_ibv_gid(c.Struct):
|
|
SIZE = 16
|
|
raw: Annotated[c.Array[uint8_t, Literal[16]], 0]
|
|
_global: Annotated[union_ibv_gid_global, 0]
|
|
uint8_t: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
|
@c.record
|
|
class union_ibv_gid_global(c.Struct):
|
|
SIZE = 16
|
|
subnet_prefix: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
interface_id: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
__be64: TypeAlias = Annotated[int, ctypes.c_uint64]
|
|
class enum_ibv_gid_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_GID_TYPE_IB = enum_ibv_gid_type.define('IBV_GID_TYPE_IB', 0)
|
|
IBV_GID_TYPE_ROCE_V1 = enum_ibv_gid_type.define('IBV_GID_TYPE_ROCE_V1', 1)
|
|
IBV_GID_TYPE_ROCE_V2 = enum_ibv_gid_type.define('IBV_GID_TYPE_ROCE_V2', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_gid_entry(c.Struct):
|
|
SIZE = 32
|
|
gid: Annotated[union_ibv_gid, 0]
|
|
gid_index: Annotated[uint32_t, 16]
|
|
port_num: Annotated[uint32_t, 20]
|
|
gid_type: Annotated[uint32_t, 24]
|
|
ndev_ifindex: Annotated[uint32_t, 28]
|
|
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
|
class enum_ibv_node_type(Annotated[int, ctypes.c_int32], c.Enum): pass
|
|
IBV_NODE_UNKNOWN = enum_ibv_node_type.define('IBV_NODE_UNKNOWN', -1)
|
|
IBV_NODE_CA = enum_ibv_node_type.define('IBV_NODE_CA', 1)
|
|
IBV_NODE_SWITCH = enum_ibv_node_type.define('IBV_NODE_SWITCH', 2)
|
|
IBV_NODE_ROUTER = enum_ibv_node_type.define('IBV_NODE_ROUTER', 3)
|
|
IBV_NODE_RNIC = enum_ibv_node_type.define('IBV_NODE_RNIC', 4)
|
|
IBV_NODE_USNIC = enum_ibv_node_type.define('IBV_NODE_USNIC', 5)
|
|
IBV_NODE_USNIC_UDP = enum_ibv_node_type.define('IBV_NODE_USNIC_UDP', 6)
|
|
IBV_NODE_UNSPECIFIED = enum_ibv_node_type.define('IBV_NODE_UNSPECIFIED', 7)
|
|
|
|
class enum_ibv_transport_type(Annotated[int, ctypes.c_int32], c.Enum): pass
|
|
IBV_TRANSPORT_UNKNOWN = enum_ibv_transport_type.define('IBV_TRANSPORT_UNKNOWN', -1)
|
|
IBV_TRANSPORT_IB = enum_ibv_transport_type.define('IBV_TRANSPORT_IB', 0)
|
|
IBV_TRANSPORT_IWARP = enum_ibv_transport_type.define('IBV_TRANSPORT_IWARP', 1)
|
|
IBV_TRANSPORT_USNIC = enum_ibv_transport_type.define('IBV_TRANSPORT_USNIC', 2)
|
|
IBV_TRANSPORT_USNIC_UDP = enum_ibv_transport_type.define('IBV_TRANSPORT_USNIC_UDP', 3)
|
|
IBV_TRANSPORT_UNSPECIFIED = enum_ibv_transport_type.define('IBV_TRANSPORT_UNSPECIFIED', 4)
|
|
|
|
class enum_ibv_device_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_DEVICE_RESIZE_MAX_WR = enum_ibv_device_cap_flags.define('IBV_DEVICE_RESIZE_MAX_WR', 1)
|
|
IBV_DEVICE_BAD_PKEY_CNTR = enum_ibv_device_cap_flags.define('IBV_DEVICE_BAD_PKEY_CNTR', 2)
|
|
IBV_DEVICE_BAD_QKEY_CNTR = enum_ibv_device_cap_flags.define('IBV_DEVICE_BAD_QKEY_CNTR', 4)
|
|
IBV_DEVICE_RAW_MULTI = enum_ibv_device_cap_flags.define('IBV_DEVICE_RAW_MULTI', 8)
|
|
IBV_DEVICE_AUTO_PATH_MIG = enum_ibv_device_cap_flags.define('IBV_DEVICE_AUTO_PATH_MIG', 16)
|
|
IBV_DEVICE_CHANGE_PHY_PORT = enum_ibv_device_cap_flags.define('IBV_DEVICE_CHANGE_PHY_PORT', 32)
|
|
IBV_DEVICE_UD_AV_PORT_ENFORCE = enum_ibv_device_cap_flags.define('IBV_DEVICE_UD_AV_PORT_ENFORCE', 64)
|
|
IBV_DEVICE_CURR_QP_STATE_MOD = enum_ibv_device_cap_flags.define('IBV_DEVICE_CURR_QP_STATE_MOD', 128)
|
|
IBV_DEVICE_SHUTDOWN_PORT = enum_ibv_device_cap_flags.define('IBV_DEVICE_SHUTDOWN_PORT', 256)
|
|
IBV_DEVICE_INIT_TYPE = enum_ibv_device_cap_flags.define('IBV_DEVICE_INIT_TYPE', 512)
|
|
IBV_DEVICE_PORT_ACTIVE_EVENT = enum_ibv_device_cap_flags.define('IBV_DEVICE_PORT_ACTIVE_EVENT', 1024)
|
|
IBV_DEVICE_SYS_IMAGE_GUID = enum_ibv_device_cap_flags.define('IBV_DEVICE_SYS_IMAGE_GUID', 2048)
|
|
IBV_DEVICE_RC_RNR_NAK_GEN = enum_ibv_device_cap_flags.define('IBV_DEVICE_RC_RNR_NAK_GEN', 4096)
|
|
IBV_DEVICE_SRQ_RESIZE = enum_ibv_device_cap_flags.define('IBV_DEVICE_SRQ_RESIZE', 8192)
|
|
IBV_DEVICE_N_NOTIFY_CQ = enum_ibv_device_cap_flags.define('IBV_DEVICE_N_NOTIFY_CQ', 16384)
|
|
IBV_DEVICE_MEM_WINDOW = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_WINDOW', 131072)
|
|
IBV_DEVICE_UD_IP_CSUM = enum_ibv_device_cap_flags.define('IBV_DEVICE_UD_IP_CSUM', 262144)
|
|
IBV_DEVICE_XRC = enum_ibv_device_cap_flags.define('IBV_DEVICE_XRC', 1048576)
|
|
IBV_DEVICE_MEM_MGT_EXTENSIONS = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_MGT_EXTENSIONS', 2097152)
|
|
IBV_DEVICE_MEM_WINDOW_TYPE_2A = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_WINDOW_TYPE_2A', 8388608)
|
|
IBV_DEVICE_MEM_WINDOW_TYPE_2B = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_WINDOW_TYPE_2B', 16777216)
|
|
IBV_DEVICE_RC_IP_CSUM = enum_ibv_device_cap_flags.define('IBV_DEVICE_RC_IP_CSUM', 33554432)
|
|
IBV_DEVICE_RAW_IP_CSUM = enum_ibv_device_cap_flags.define('IBV_DEVICE_RAW_IP_CSUM', 67108864)
|
|
IBV_DEVICE_MANAGED_FLOW_STEERING = enum_ibv_device_cap_flags.define('IBV_DEVICE_MANAGED_FLOW_STEERING', 536870912)
|
|
|
|
class enum_ibv_fork_status(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FORK_DISABLED = enum_ibv_fork_status.define('IBV_FORK_DISABLED', 0)
|
|
IBV_FORK_ENABLED = enum_ibv_fork_status.define('IBV_FORK_ENABLED', 1)
|
|
IBV_FORK_UNNEEDED = enum_ibv_fork_status.define('IBV_FORK_UNNEEDED', 2)
|
|
|
|
class enum_ibv_atomic_cap(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_ATOMIC_NONE = enum_ibv_atomic_cap.define('IBV_ATOMIC_NONE', 0)
|
|
IBV_ATOMIC_HCA = enum_ibv_atomic_cap.define('IBV_ATOMIC_HCA', 1)
|
|
IBV_ATOMIC_GLOB = enum_ibv_atomic_cap.define('IBV_ATOMIC_GLOB', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_alloc_dm_attr(c.Struct):
|
|
SIZE = 16
|
|
length: Annotated[size_t, 0]
|
|
log_align_req: Annotated[uint32_t, 8]
|
|
comp_mask: Annotated[uint32_t, 12]
|
|
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
|
class enum_ibv_dm_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_DM_MASK_HANDLE = enum_ibv_dm_mask.define('IBV_DM_MASK_HANDLE', 1)
|
|
|
|
@c.record
|
|
class struct_ibv_dm(c.Struct):
|
|
SIZE = 32
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
memcpy_to_dm: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_dm], uint64_t, ctypes.c_void_p, size_t]], 8]
|
|
memcpy_from_dm: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [ctypes.c_void_p, c.POINTER[struct_ibv_dm], uint64_t, size_t]], 16]
|
|
comp_mask: Annotated[uint32_t, 24]
|
|
handle: Annotated[uint32_t, 28]
|
|
@c.record
|
|
class struct_ibv_context(c.Struct):
|
|
SIZE = 328
|
|
device: Annotated[c.POINTER[struct_ibv_device], 0]
|
|
ops: Annotated[struct_ibv_context_ops, 8]
|
|
cmd_fd: Annotated[Annotated[int, ctypes.c_int32], 264]
|
|
async_fd: Annotated[Annotated[int, ctypes.c_int32], 268]
|
|
num_comp_vectors: Annotated[Annotated[int, ctypes.c_int32], 272]
|
|
mutex: Annotated[pthread_mutex_t, 280]
|
|
abi_compat: Annotated[ctypes.c_void_p, 320]
|
|
@c.record
|
|
class struct_ibv_device(c.Struct):
|
|
SIZE = 664
|
|
_ops: Annotated[struct__ibv_device_ops, 0]
|
|
node_type: Annotated[enum_ibv_node_type, 16]
|
|
transport_type: Annotated[enum_ibv_transport_type, 20]
|
|
name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 24]
|
|
dev_name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 88]
|
|
dev_path: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[256]], 152]
|
|
ibdev_path: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[256]], 408]
|
|
@c.record
|
|
class struct__ibv_device_ops(c.Struct):
|
|
SIZE = 16
|
|
_dummy1: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_context], [c.POINTER[struct_ibv_device], Annotated[int, ctypes.c_int32]]], 0]
|
|
_dummy2: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_context]]], 8]
|
|
@c.record
|
|
class struct_ibv_context_ops(c.Struct):
|
|
SIZE = 256
|
|
_compat_query_device: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_device_attr]]], 0]
|
|
_compat_query_port: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], uint8_t, c.POINTER[struct__compat_ibv_port_attr]]], 8]
|
|
_compat_alloc_pd: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 16]
|
|
_compat_dealloc_pd: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 24]
|
|
_compat_reg_mr: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 32]
|
|
_compat_rereg_mr: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 40]
|
|
_compat_dereg_mr: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 48]
|
|
alloc_mw: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_mw], [c.POINTER[struct_ibv_pd], enum_ibv_mw_type]], 56]
|
|
bind_mw: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_mw], c.POINTER[struct_ibv_mw_bind]]], 64]
|
|
dealloc_mw: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_mw]]], 72]
|
|
_compat_create_cq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 80]
|
|
poll_cq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq], Annotated[int, ctypes.c_int32], c.POINTER[struct_ibv_wc]]], 88]
|
|
req_notify_cq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq], Annotated[int, ctypes.c_int32]]], 96]
|
|
_compat_cq_event: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 104]
|
|
_compat_resize_cq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 112]
|
|
_compat_destroy_cq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 120]
|
|
_compat_create_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 128]
|
|
_compat_modify_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 136]
|
|
_compat_query_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 144]
|
|
_compat_destroy_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 152]
|
|
post_srq_recv: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_srq], c.POINTER[struct_ibv_recv_wr], c.POINTER[c.POINTER[struct_ibv_recv_wr]]]], 160]
|
|
_compat_create_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 168]
|
|
_compat_query_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 176]
|
|
_compat_modify_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 184]
|
|
_compat_destroy_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 192]
|
|
post_send: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_send_wr], c.POINTER[c.POINTER[struct_ibv_send_wr]]]], 200]
|
|
post_recv: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_recv_wr], c.POINTER[c.POINTER[struct_ibv_recv_wr]]]], 208]
|
|
_compat_create_ah: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 216]
|
|
_compat_destroy_ah: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 224]
|
|
_compat_attach_mcast: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 232]
|
|
_compat_detach_mcast: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 240]
|
|
_compat_async_event: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 248]
|
|
@c.record
|
|
class struct_ibv_device_attr(c.Struct):
|
|
SIZE = 232
|
|
fw_ver: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 0]
|
|
node_guid: Annotated[Annotated[int, ctypes.c_uint64], 64]
|
|
sys_image_guid: Annotated[Annotated[int, ctypes.c_uint64], 72]
|
|
max_mr_size: Annotated[uint64_t, 80]
|
|
page_size_cap: Annotated[uint64_t, 88]
|
|
vendor_id: Annotated[uint32_t, 96]
|
|
vendor_part_id: Annotated[uint32_t, 100]
|
|
hw_ver: Annotated[uint32_t, 104]
|
|
max_qp: Annotated[Annotated[int, ctypes.c_int32], 108]
|
|
max_qp_wr: Annotated[Annotated[int, ctypes.c_int32], 112]
|
|
device_cap_flags: Annotated[Annotated[int, ctypes.c_uint32], 116]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_int32], 120]
|
|
max_sge_rd: Annotated[Annotated[int, ctypes.c_int32], 124]
|
|
max_cq: Annotated[Annotated[int, ctypes.c_int32], 128]
|
|
max_cqe: Annotated[Annotated[int, ctypes.c_int32], 132]
|
|
max_mr: Annotated[Annotated[int, ctypes.c_int32], 136]
|
|
max_pd: Annotated[Annotated[int, ctypes.c_int32], 140]
|
|
max_qp_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 144]
|
|
max_ee_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 148]
|
|
max_res_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 152]
|
|
max_qp_init_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 156]
|
|
max_ee_init_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 160]
|
|
atomic_cap: Annotated[enum_ibv_atomic_cap, 164]
|
|
max_ee: Annotated[Annotated[int, ctypes.c_int32], 168]
|
|
max_rdd: Annotated[Annotated[int, ctypes.c_int32], 172]
|
|
max_mw: Annotated[Annotated[int, ctypes.c_int32], 176]
|
|
max_raw_ipv6_qp: Annotated[Annotated[int, ctypes.c_int32], 180]
|
|
max_raw_ethy_qp: Annotated[Annotated[int, ctypes.c_int32], 184]
|
|
max_mcast_grp: Annotated[Annotated[int, ctypes.c_int32], 188]
|
|
max_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_int32], 192]
|
|
max_total_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_int32], 196]
|
|
max_ah: Annotated[Annotated[int, ctypes.c_int32], 200]
|
|
max_fmr: Annotated[Annotated[int, ctypes.c_int32], 204]
|
|
max_map_per_fmr: Annotated[Annotated[int, ctypes.c_int32], 208]
|
|
max_srq: Annotated[Annotated[int, ctypes.c_int32], 212]
|
|
max_srq_wr: Annotated[Annotated[int, ctypes.c_int32], 216]
|
|
max_srq_sge: Annotated[Annotated[int, ctypes.c_int32], 220]
|
|
max_pkeys: Annotated[uint16_t, 224]
|
|
local_ca_ack_delay: Annotated[uint8_t, 226]
|
|
phys_port_cnt: Annotated[uint8_t, 227]
|
|
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
|
uint16_t: TypeAlias = Annotated[int, ctypes.c_uint16]
|
|
class struct__compat_ibv_port_attr(ctypes.Structure): pass
|
|
@c.record
|
|
class struct_ibv_mw(c.Struct):
|
|
SIZE = 32
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 8]
|
|
rkey: Annotated[uint32_t, 16]
|
|
handle: Annotated[uint32_t, 20]
|
|
type: Annotated[enum_ibv_mw_type, 24]
|
|
@c.record
|
|
class struct_ibv_pd(c.Struct):
|
|
SIZE = 16
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
handle: Annotated[uint32_t, 8]
|
|
class enum_ibv_mw_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_MW_TYPE_1 = enum_ibv_mw_type.define('IBV_MW_TYPE_1', 1)
|
|
IBV_MW_TYPE_2 = enum_ibv_mw_type.define('IBV_MW_TYPE_2', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_qp(c.Struct):
|
|
SIZE = 160
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
qp_context: Annotated[ctypes.c_void_p, 8]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 16]
|
|
send_cq: Annotated[c.POINTER[struct_ibv_cq], 24]
|
|
recv_cq: Annotated[c.POINTER[struct_ibv_cq], 32]
|
|
srq: Annotated[c.POINTER[struct_ibv_srq], 40]
|
|
handle: Annotated[uint32_t, 48]
|
|
qp_num: Annotated[uint32_t, 52]
|
|
state: Annotated[enum_ibv_qp_state, 56]
|
|
qp_type: Annotated[enum_ibv_qp_type, 60]
|
|
mutex: Annotated[pthread_mutex_t, 64]
|
|
cond: Annotated[pthread_cond_t, 104]
|
|
events_completed: Annotated[uint32_t, 152]
|
|
@c.record
|
|
class struct_ibv_cq(c.Struct):
|
|
SIZE = 128
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
channel: Annotated[c.POINTER[struct_ibv_comp_channel], 8]
|
|
cq_context: Annotated[ctypes.c_void_p, 16]
|
|
handle: Annotated[uint32_t, 24]
|
|
cqe: Annotated[Annotated[int, ctypes.c_int32], 28]
|
|
mutex: Annotated[pthread_mutex_t, 32]
|
|
cond: Annotated[pthread_cond_t, 72]
|
|
comp_events_completed: Annotated[uint32_t, 120]
|
|
async_events_completed: Annotated[uint32_t, 124]
|
|
@c.record
|
|
class struct_ibv_comp_channel(c.Struct):
|
|
SIZE = 16
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
fd: Annotated[Annotated[int, ctypes.c_int32], 8]
|
|
refcnt: Annotated[Annotated[int, ctypes.c_int32], 12]
|
|
@c.record
|
|
class pthread_mutex_t(c.Struct):
|
|
SIZE = 40
|
|
__data: Annotated[struct___pthread_mutex_s, 0]
|
|
__size: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[40]], 0]
|
|
__align: Annotated[Annotated[int, ctypes.c_int64], 0]
|
|
@c.record
|
|
class struct___pthread_mutex_s(c.Struct):
|
|
SIZE = 40
|
|
__lock: Annotated[Annotated[int, ctypes.c_int32], 0]
|
|
__count: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
__owner: Annotated[Annotated[int, ctypes.c_int32], 8]
|
|
__nusers: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
__kind: Annotated[Annotated[int, ctypes.c_int32], 16]
|
|
__spins: Annotated[Annotated[int, ctypes.c_int16], 20]
|
|
__elision: Annotated[Annotated[int, ctypes.c_int16], 22]
|
|
__list: Annotated[struct___pthread_internal_list, 24]
|
|
@c.record
|
|
class struct___pthread_internal_list(c.Struct):
|
|
SIZE = 16
|
|
__prev: Annotated[c.POINTER[struct___pthread_internal_list], 0]
|
|
__next: Annotated[c.POINTER[struct___pthread_internal_list], 8]
|
|
__pthread_list_t: TypeAlias = struct___pthread_internal_list
|
|
@c.record
|
|
class pthread_cond_t(c.Struct):
|
|
SIZE = 48
|
|
__data: Annotated[struct___pthread_cond_s, 0]
|
|
__size: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[48]], 0]
|
|
__align: Annotated[Annotated[int, ctypes.c_int64], 0]
|
|
@c.record
|
|
class struct___pthread_cond_s(c.Struct):
|
|
SIZE = 48
|
|
__wseq: Annotated[__atomic_wide_counter, 0]
|
|
__g1_start: Annotated[__atomic_wide_counter, 8]
|
|
__g_refs: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 16]
|
|
__g_size: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 24]
|
|
__g1_orig_size: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
__wrefs: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
__g_signals: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 40]
|
|
@c.record
|
|
class __atomic_wide_counter(c.Struct):
|
|
SIZE = 8
|
|
__value64: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
__value32: Annotated[__atomic_wide_counter___value32, 0]
|
|
@c.record
|
|
class __atomic_wide_counter___value32(c.Struct):
|
|
SIZE = 8
|
|
__low: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
__high: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ibv_srq(c.Struct):
|
|
SIZE = 128
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
srq_context: Annotated[ctypes.c_void_p, 8]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 16]
|
|
handle: Annotated[uint32_t, 24]
|
|
mutex: Annotated[pthread_mutex_t, 32]
|
|
cond: Annotated[pthread_cond_t, 72]
|
|
events_completed: Annotated[uint32_t, 120]
|
|
class enum_ibv_qp_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QPS_RESET = enum_ibv_qp_state.define('IBV_QPS_RESET', 0)
|
|
IBV_QPS_INIT = enum_ibv_qp_state.define('IBV_QPS_INIT', 1)
|
|
IBV_QPS_RTR = enum_ibv_qp_state.define('IBV_QPS_RTR', 2)
|
|
IBV_QPS_RTS = enum_ibv_qp_state.define('IBV_QPS_RTS', 3)
|
|
IBV_QPS_SQD = enum_ibv_qp_state.define('IBV_QPS_SQD', 4)
|
|
IBV_QPS_SQE = enum_ibv_qp_state.define('IBV_QPS_SQE', 5)
|
|
IBV_QPS_ERR = enum_ibv_qp_state.define('IBV_QPS_ERR', 6)
|
|
IBV_QPS_UNKNOWN = enum_ibv_qp_state.define('IBV_QPS_UNKNOWN', 7)
|
|
|
|
class enum_ibv_qp_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QPT_RC = enum_ibv_qp_type.define('IBV_QPT_RC', 2)
|
|
IBV_QPT_UC = enum_ibv_qp_type.define('IBV_QPT_UC', 3)
|
|
IBV_QPT_UD = enum_ibv_qp_type.define('IBV_QPT_UD', 4)
|
|
IBV_QPT_RAW_PACKET = enum_ibv_qp_type.define('IBV_QPT_RAW_PACKET', 8)
|
|
IBV_QPT_XRC_SEND = enum_ibv_qp_type.define('IBV_QPT_XRC_SEND', 9)
|
|
IBV_QPT_XRC_RECV = enum_ibv_qp_type.define('IBV_QPT_XRC_RECV', 10)
|
|
IBV_QPT_DRIVER = enum_ibv_qp_type.define('IBV_QPT_DRIVER', 255)
|
|
|
|
@c.record
|
|
class struct_ibv_mw_bind(c.Struct):
|
|
SIZE = 48
|
|
wr_id: Annotated[uint64_t, 0]
|
|
send_flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
bind_info: Annotated[struct_ibv_mw_bind_info, 16]
|
|
@c.record
|
|
class struct_ibv_mw_bind_info(c.Struct):
|
|
SIZE = 32
|
|
mr: Annotated[c.POINTER[struct_ibv_mr], 0]
|
|
addr: Annotated[uint64_t, 8]
|
|
length: Annotated[uint64_t, 16]
|
|
mw_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
@c.record
|
|
class struct_ibv_mr(c.Struct):
|
|
SIZE = 48
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 8]
|
|
addr: Annotated[ctypes.c_void_p, 16]
|
|
length: Annotated[size_t, 24]
|
|
handle: Annotated[uint32_t, 32]
|
|
lkey: Annotated[uint32_t, 36]
|
|
rkey: Annotated[uint32_t, 40]
|
|
@c.record
|
|
class struct_ibv_wc(c.Struct):
|
|
SIZE = 48
|
|
wr_id: Annotated[uint64_t, 0]
|
|
status: Annotated[enum_ibv_wc_status, 8]
|
|
opcode: Annotated[enum_ibv_wc_opcode, 12]
|
|
vendor_err: Annotated[uint32_t, 16]
|
|
byte_len: Annotated[uint32_t, 20]
|
|
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
invalidated_rkey: Annotated[uint32_t, 24]
|
|
qp_num: Annotated[uint32_t, 28]
|
|
src_qp: Annotated[uint32_t, 32]
|
|
wc_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
pkey_index: Annotated[uint16_t, 40]
|
|
slid: Annotated[uint16_t, 42]
|
|
sl: Annotated[uint8_t, 44]
|
|
dlid_path_bits: Annotated[uint8_t, 45]
|
|
class enum_ibv_wc_status(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WC_SUCCESS = enum_ibv_wc_status.define('IBV_WC_SUCCESS', 0)
|
|
IBV_WC_LOC_LEN_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_LEN_ERR', 1)
|
|
IBV_WC_LOC_QP_OP_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_QP_OP_ERR', 2)
|
|
IBV_WC_LOC_EEC_OP_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_EEC_OP_ERR', 3)
|
|
IBV_WC_LOC_PROT_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_PROT_ERR', 4)
|
|
IBV_WC_WR_FLUSH_ERR = enum_ibv_wc_status.define('IBV_WC_WR_FLUSH_ERR', 5)
|
|
IBV_WC_MW_BIND_ERR = enum_ibv_wc_status.define('IBV_WC_MW_BIND_ERR', 6)
|
|
IBV_WC_BAD_RESP_ERR = enum_ibv_wc_status.define('IBV_WC_BAD_RESP_ERR', 7)
|
|
IBV_WC_LOC_ACCESS_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_ACCESS_ERR', 8)
|
|
IBV_WC_REM_INV_REQ_ERR = enum_ibv_wc_status.define('IBV_WC_REM_INV_REQ_ERR', 9)
|
|
IBV_WC_REM_ACCESS_ERR = enum_ibv_wc_status.define('IBV_WC_REM_ACCESS_ERR', 10)
|
|
IBV_WC_REM_OP_ERR = enum_ibv_wc_status.define('IBV_WC_REM_OP_ERR', 11)
|
|
IBV_WC_RETRY_EXC_ERR = enum_ibv_wc_status.define('IBV_WC_RETRY_EXC_ERR', 12)
|
|
IBV_WC_RNR_RETRY_EXC_ERR = enum_ibv_wc_status.define('IBV_WC_RNR_RETRY_EXC_ERR', 13)
|
|
IBV_WC_LOC_RDD_VIOL_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_RDD_VIOL_ERR', 14)
|
|
IBV_WC_REM_INV_RD_REQ_ERR = enum_ibv_wc_status.define('IBV_WC_REM_INV_RD_REQ_ERR', 15)
|
|
IBV_WC_REM_ABORT_ERR = enum_ibv_wc_status.define('IBV_WC_REM_ABORT_ERR', 16)
|
|
IBV_WC_INV_EECN_ERR = enum_ibv_wc_status.define('IBV_WC_INV_EECN_ERR', 17)
|
|
IBV_WC_INV_EEC_STATE_ERR = enum_ibv_wc_status.define('IBV_WC_INV_EEC_STATE_ERR', 18)
|
|
IBV_WC_FATAL_ERR = enum_ibv_wc_status.define('IBV_WC_FATAL_ERR', 19)
|
|
IBV_WC_RESP_TIMEOUT_ERR = enum_ibv_wc_status.define('IBV_WC_RESP_TIMEOUT_ERR', 20)
|
|
IBV_WC_GENERAL_ERR = enum_ibv_wc_status.define('IBV_WC_GENERAL_ERR', 21)
|
|
IBV_WC_TM_ERR = enum_ibv_wc_status.define('IBV_WC_TM_ERR', 22)
|
|
IBV_WC_TM_RNDV_INCOMPLETE = enum_ibv_wc_status.define('IBV_WC_TM_RNDV_INCOMPLETE', 23)
|
|
|
|
class enum_ibv_wc_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WC_SEND = enum_ibv_wc_opcode.define('IBV_WC_SEND', 0)
|
|
IBV_WC_RDMA_WRITE = enum_ibv_wc_opcode.define('IBV_WC_RDMA_WRITE', 1)
|
|
IBV_WC_RDMA_READ = enum_ibv_wc_opcode.define('IBV_WC_RDMA_READ', 2)
|
|
IBV_WC_COMP_SWAP = enum_ibv_wc_opcode.define('IBV_WC_COMP_SWAP', 3)
|
|
IBV_WC_FETCH_ADD = enum_ibv_wc_opcode.define('IBV_WC_FETCH_ADD', 4)
|
|
IBV_WC_BIND_MW = enum_ibv_wc_opcode.define('IBV_WC_BIND_MW', 5)
|
|
IBV_WC_LOCAL_INV = enum_ibv_wc_opcode.define('IBV_WC_LOCAL_INV', 6)
|
|
IBV_WC_TSO = enum_ibv_wc_opcode.define('IBV_WC_TSO', 7)
|
|
IBV_WC_FLUSH = enum_ibv_wc_opcode.define('IBV_WC_FLUSH', 8)
|
|
IBV_WC_ATOMIC_WRITE = enum_ibv_wc_opcode.define('IBV_WC_ATOMIC_WRITE', 9)
|
|
IBV_WC_RECV = enum_ibv_wc_opcode.define('IBV_WC_RECV', 128)
|
|
IBV_WC_RECV_RDMA_WITH_IMM = enum_ibv_wc_opcode.define('IBV_WC_RECV_RDMA_WITH_IMM', 129)
|
|
IBV_WC_TM_ADD = enum_ibv_wc_opcode.define('IBV_WC_TM_ADD', 130)
|
|
IBV_WC_TM_DEL = enum_ibv_wc_opcode.define('IBV_WC_TM_DEL', 131)
|
|
IBV_WC_TM_SYNC = enum_ibv_wc_opcode.define('IBV_WC_TM_SYNC', 132)
|
|
IBV_WC_TM_RECV = enum_ibv_wc_opcode.define('IBV_WC_TM_RECV', 133)
|
|
IBV_WC_TM_NO_TAG = enum_ibv_wc_opcode.define('IBV_WC_TM_NO_TAG', 134)
|
|
IBV_WC_DRIVER1 = enum_ibv_wc_opcode.define('IBV_WC_DRIVER1', 135)
|
|
IBV_WC_DRIVER2 = enum_ibv_wc_opcode.define('IBV_WC_DRIVER2', 136)
|
|
IBV_WC_DRIVER3 = enum_ibv_wc_opcode.define('IBV_WC_DRIVER3', 137)
|
|
|
|
__be32: TypeAlias = Annotated[int, ctypes.c_uint32]
|
|
@c.record
|
|
class struct_ibv_recv_wr(c.Struct):
|
|
SIZE = 32
|
|
wr_id: Annotated[uint64_t, 0]
|
|
next: Annotated[c.POINTER[struct_ibv_recv_wr], 8]
|
|
sg_list: Annotated[c.POINTER[struct_ibv_sge], 16]
|
|
num_sge: Annotated[Annotated[int, ctypes.c_int32], 24]
|
|
@c.record
|
|
class struct_ibv_sge(c.Struct):
|
|
SIZE = 16
|
|
addr: Annotated[uint64_t, 0]
|
|
length: Annotated[uint32_t, 8]
|
|
lkey: Annotated[uint32_t, 12]
|
|
@c.record
|
|
class struct_ibv_send_wr(c.Struct):
|
|
SIZE = 128
|
|
wr_id: Annotated[uint64_t, 0]
|
|
next: Annotated[c.POINTER[struct_ibv_send_wr], 8]
|
|
sg_list: Annotated[c.POINTER[struct_ibv_sge], 16]
|
|
num_sge: Annotated[Annotated[int, ctypes.c_int32], 24]
|
|
opcode: Annotated[enum_ibv_wr_opcode, 28]
|
|
send_flags: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
invalidate_rkey: Annotated[uint32_t, 36]
|
|
wr: Annotated[struct_ibv_send_wr_wr, 40]
|
|
qp_type: Annotated[struct_ibv_send_wr_qp_type, 72]
|
|
bind_mw: Annotated[struct_ibv_send_wr_bind_mw, 80]
|
|
tso: Annotated[struct_ibv_send_wr_tso, 80]
|
|
class enum_ibv_wr_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WR_RDMA_WRITE = enum_ibv_wr_opcode.define('IBV_WR_RDMA_WRITE', 0)
|
|
IBV_WR_RDMA_WRITE_WITH_IMM = enum_ibv_wr_opcode.define('IBV_WR_RDMA_WRITE_WITH_IMM', 1)
|
|
IBV_WR_SEND = enum_ibv_wr_opcode.define('IBV_WR_SEND', 2)
|
|
IBV_WR_SEND_WITH_IMM = enum_ibv_wr_opcode.define('IBV_WR_SEND_WITH_IMM', 3)
|
|
IBV_WR_RDMA_READ = enum_ibv_wr_opcode.define('IBV_WR_RDMA_READ', 4)
|
|
IBV_WR_ATOMIC_CMP_AND_SWP = enum_ibv_wr_opcode.define('IBV_WR_ATOMIC_CMP_AND_SWP', 5)
|
|
IBV_WR_ATOMIC_FETCH_AND_ADD = enum_ibv_wr_opcode.define('IBV_WR_ATOMIC_FETCH_AND_ADD', 6)
|
|
IBV_WR_LOCAL_INV = enum_ibv_wr_opcode.define('IBV_WR_LOCAL_INV', 7)
|
|
IBV_WR_BIND_MW = enum_ibv_wr_opcode.define('IBV_WR_BIND_MW', 8)
|
|
IBV_WR_SEND_WITH_INV = enum_ibv_wr_opcode.define('IBV_WR_SEND_WITH_INV', 9)
|
|
IBV_WR_TSO = enum_ibv_wr_opcode.define('IBV_WR_TSO', 10)
|
|
IBV_WR_DRIVER1 = enum_ibv_wr_opcode.define('IBV_WR_DRIVER1', 11)
|
|
IBV_WR_FLUSH = enum_ibv_wr_opcode.define('IBV_WR_FLUSH', 14)
|
|
IBV_WR_ATOMIC_WRITE = enum_ibv_wr_opcode.define('IBV_WR_ATOMIC_WRITE', 15)
|
|
|
|
@c.record
|
|
class struct_ibv_send_wr_wr(c.Struct):
|
|
SIZE = 32
|
|
rdma: Annotated[struct_ibv_send_wr_wr_rdma, 0]
|
|
atomic: Annotated[struct_ibv_send_wr_wr_atomic, 0]
|
|
ud: Annotated[struct_ibv_send_wr_wr_ud, 0]
|
|
@c.record
|
|
class struct_ibv_send_wr_wr_rdma(c.Struct):
|
|
SIZE = 16
|
|
remote_addr: Annotated[uint64_t, 0]
|
|
rkey: Annotated[uint32_t, 8]
|
|
@c.record
|
|
class struct_ibv_send_wr_wr_atomic(c.Struct):
|
|
SIZE = 32
|
|
remote_addr: Annotated[uint64_t, 0]
|
|
compare_add: Annotated[uint64_t, 8]
|
|
swap: Annotated[uint64_t, 16]
|
|
rkey: Annotated[uint32_t, 24]
|
|
@c.record
|
|
class struct_ibv_send_wr_wr_ud(c.Struct):
|
|
SIZE = 16
|
|
ah: Annotated[c.POINTER[struct_ibv_ah], 0]
|
|
remote_qpn: Annotated[uint32_t, 8]
|
|
remote_qkey: Annotated[uint32_t, 12]
|
|
@c.record
|
|
class struct_ibv_ah(c.Struct):
|
|
SIZE = 24
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 8]
|
|
handle: Annotated[uint32_t, 16]
|
|
@c.record
|
|
class struct_ibv_send_wr_qp_type(c.Struct):
|
|
SIZE = 4
|
|
xrc: Annotated[struct_ibv_send_wr_qp_type_xrc, 0]
|
|
@c.record
|
|
class struct_ibv_send_wr_qp_type_xrc(c.Struct):
|
|
SIZE = 4
|
|
remote_srqn: Annotated[uint32_t, 0]
|
|
@c.record
|
|
class struct_ibv_send_wr_bind_mw(c.Struct):
|
|
SIZE = 48
|
|
mw: Annotated[c.POINTER[struct_ibv_mw], 0]
|
|
rkey: Annotated[uint32_t, 8]
|
|
bind_info: Annotated[struct_ibv_mw_bind_info, 16]
|
|
@c.record
|
|
class struct_ibv_send_wr_tso(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[ctypes.c_void_p, 0]
|
|
hdr_sz: Annotated[uint16_t, 8]
|
|
mss: Annotated[uint16_t, 10]
|
|
@c.record
|
|
class struct_ibv_query_device_ex_input(c.Struct):
|
|
SIZE = 4
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
class enum_ibv_odp_transport_cap_bits(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_ODP_SUPPORT_SEND = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_SEND', 1)
|
|
IBV_ODP_SUPPORT_RECV = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_RECV', 2)
|
|
IBV_ODP_SUPPORT_WRITE = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_WRITE', 4)
|
|
IBV_ODP_SUPPORT_READ = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_READ', 8)
|
|
IBV_ODP_SUPPORT_ATOMIC = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_ATOMIC', 16)
|
|
IBV_ODP_SUPPORT_SRQ_RECV = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_SRQ_RECV', 32)
|
|
|
|
@c.record
|
|
class struct_ibv_odp_caps(c.Struct):
|
|
SIZE = 24
|
|
general_caps: Annotated[uint64_t, 0]
|
|
per_transport_caps: Annotated[struct_ibv_odp_caps_per_transport_caps, 8]
|
|
@c.record
|
|
class struct_ibv_odp_caps_per_transport_caps(c.Struct):
|
|
SIZE = 12
|
|
rc_odp_caps: Annotated[uint32_t, 0]
|
|
uc_odp_caps: Annotated[uint32_t, 4]
|
|
ud_odp_caps: Annotated[uint32_t, 8]
|
|
class enum_ibv_odp_general_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_ODP_SUPPORT = enum_ibv_odp_general_caps.define('IBV_ODP_SUPPORT', 1)
|
|
IBV_ODP_SUPPORT_IMPLICIT = enum_ibv_odp_general_caps.define('IBV_ODP_SUPPORT_IMPLICIT', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_tso_caps(c.Struct):
|
|
SIZE = 8
|
|
max_tso: Annotated[uint32_t, 0]
|
|
supported_qpts: Annotated[uint32_t, 4]
|
|
class enum_ibv_rx_hash_function_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_RX_HASH_FUNC_TOEPLITZ = enum_ibv_rx_hash_function_flags.define('IBV_RX_HASH_FUNC_TOEPLITZ', 1)
|
|
|
|
class enum_ibv_rx_hash_fields(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_RX_HASH_SRC_IPV4 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_IPV4', 1)
|
|
IBV_RX_HASH_DST_IPV4 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_IPV4', 2)
|
|
IBV_RX_HASH_SRC_IPV6 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_IPV6', 4)
|
|
IBV_RX_HASH_DST_IPV6 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_IPV6', 8)
|
|
IBV_RX_HASH_SRC_PORT_TCP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_PORT_TCP', 16)
|
|
IBV_RX_HASH_DST_PORT_TCP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_PORT_TCP', 32)
|
|
IBV_RX_HASH_SRC_PORT_UDP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_PORT_UDP', 64)
|
|
IBV_RX_HASH_DST_PORT_UDP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_PORT_UDP', 128)
|
|
IBV_RX_HASH_IPSEC_SPI = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_IPSEC_SPI', 256)
|
|
IBV_RX_HASH_INNER = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_INNER', 2147483648)
|
|
|
|
@c.record
|
|
class struct_ibv_rss_caps(c.Struct):
|
|
SIZE = 32
|
|
supported_qpts: Annotated[uint32_t, 0]
|
|
max_rwq_indirection_tables: Annotated[uint32_t, 4]
|
|
max_rwq_indirection_table_size: Annotated[uint32_t, 8]
|
|
rx_hash_fields_mask: Annotated[uint64_t, 16]
|
|
rx_hash_function: Annotated[uint8_t, 24]
|
|
@c.record
|
|
class struct_ibv_packet_pacing_caps(c.Struct):
|
|
SIZE = 12
|
|
qp_rate_limit_min: Annotated[uint32_t, 0]
|
|
qp_rate_limit_max: Annotated[uint32_t, 4]
|
|
supported_qpts: Annotated[uint32_t, 8]
|
|
class enum_ibv_raw_packet_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_RAW_PACKET_CAP_CVLAN_STRIPPING = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_CVLAN_STRIPPING', 1)
|
|
IBV_RAW_PACKET_CAP_SCATTER_FCS = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_SCATTER_FCS', 2)
|
|
IBV_RAW_PACKET_CAP_IP_CSUM = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_IP_CSUM', 4)
|
|
IBV_RAW_PACKET_CAP_DELAY_DROP = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_DELAY_DROP', 8)
|
|
|
|
class enum_ibv_tm_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_TM_CAP_RC = enum_ibv_tm_cap_flags.define('IBV_TM_CAP_RC', 1)
|
|
|
|
@c.record
|
|
class struct_ibv_tm_caps(c.Struct):
|
|
SIZE = 20
|
|
max_rndv_hdr_size: Annotated[uint32_t, 0]
|
|
max_num_tags: Annotated[uint32_t, 4]
|
|
flags: Annotated[uint32_t, 8]
|
|
max_ops: Annotated[uint32_t, 12]
|
|
max_sge: Annotated[uint32_t, 16]
|
|
@c.record
|
|
class struct_ibv_cq_moderation_caps(c.Struct):
|
|
SIZE = 4
|
|
max_cq_count: Annotated[uint16_t, 0]
|
|
max_cq_period: Annotated[uint16_t, 2]
|
|
class enum_ibv_pci_atomic_op_size(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_PCI_ATOMIC_OPERATION_4_BYTE_SIZE_SUP = enum_ibv_pci_atomic_op_size.define('IBV_PCI_ATOMIC_OPERATION_4_BYTE_SIZE_SUP', 1)
|
|
IBV_PCI_ATOMIC_OPERATION_8_BYTE_SIZE_SUP = enum_ibv_pci_atomic_op_size.define('IBV_PCI_ATOMIC_OPERATION_8_BYTE_SIZE_SUP', 2)
|
|
IBV_PCI_ATOMIC_OPERATION_16_BYTE_SIZE_SUP = enum_ibv_pci_atomic_op_size.define('IBV_PCI_ATOMIC_OPERATION_16_BYTE_SIZE_SUP', 4)
|
|
|
|
@c.record
|
|
class struct_ibv_pci_atomic_caps(c.Struct):
|
|
SIZE = 6
|
|
fetch_add: Annotated[uint16_t, 0]
|
|
swap: Annotated[uint16_t, 2]
|
|
compare_swap: Annotated[uint16_t, 4]
|
|
@c.record
|
|
class struct_ibv_device_attr_ex(c.Struct):
|
|
SIZE = 400
|
|
orig_attr: Annotated[struct_ibv_device_attr, 0]
|
|
comp_mask: Annotated[uint32_t, 232]
|
|
odp_caps: Annotated[struct_ibv_odp_caps, 240]
|
|
completion_timestamp_mask: Annotated[uint64_t, 264]
|
|
hca_core_clock: Annotated[uint64_t, 272]
|
|
device_cap_flags_ex: Annotated[uint64_t, 280]
|
|
tso_caps: Annotated[struct_ibv_tso_caps, 288]
|
|
rss_caps: Annotated[struct_ibv_rss_caps, 296]
|
|
max_wq_type_rq: Annotated[uint32_t, 328]
|
|
packet_pacing_caps: Annotated[struct_ibv_packet_pacing_caps, 332]
|
|
raw_packet_caps: Annotated[uint32_t, 344]
|
|
tm_caps: Annotated[struct_ibv_tm_caps, 348]
|
|
cq_mod_caps: Annotated[struct_ibv_cq_moderation_caps, 368]
|
|
max_dm_size: Annotated[uint64_t, 376]
|
|
pci_atomic_caps: Annotated[struct_ibv_pci_atomic_caps, 384]
|
|
xrc_odp_caps: Annotated[uint32_t, 392]
|
|
phys_port_cnt_ex: Annotated[uint32_t, 396]
|
|
class enum_ibv_mtu(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_MTU_256 = enum_ibv_mtu.define('IBV_MTU_256', 1)
|
|
IBV_MTU_512 = enum_ibv_mtu.define('IBV_MTU_512', 2)
|
|
IBV_MTU_1024 = enum_ibv_mtu.define('IBV_MTU_1024', 3)
|
|
IBV_MTU_2048 = enum_ibv_mtu.define('IBV_MTU_2048', 4)
|
|
IBV_MTU_4096 = enum_ibv_mtu.define('IBV_MTU_4096', 5)
|
|
|
|
class enum_ibv_port_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_PORT_NOP = enum_ibv_port_state.define('IBV_PORT_NOP', 0)
|
|
IBV_PORT_DOWN = enum_ibv_port_state.define('IBV_PORT_DOWN', 1)
|
|
IBV_PORT_INIT = enum_ibv_port_state.define('IBV_PORT_INIT', 2)
|
|
IBV_PORT_ARMED = enum_ibv_port_state.define('IBV_PORT_ARMED', 3)
|
|
IBV_PORT_ACTIVE = enum_ibv_port_state.define('IBV_PORT_ACTIVE', 4)
|
|
IBV_PORT_ACTIVE_DEFER = enum_ibv_port_state.define('IBV_PORT_ACTIVE_DEFER', 5)
|
|
|
|
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_LINK_LAYER_UNSPECIFIED = _anonenum0.define('IBV_LINK_LAYER_UNSPECIFIED', 0)
|
|
IBV_LINK_LAYER_INFINIBAND = _anonenum0.define('IBV_LINK_LAYER_INFINIBAND', 1)
|
|
IBV_LINK_LAYER_ETHERNET = _anonenum0.define('IBV_LINK_LAYER_ETHERNET', 2)
|
|
|
|
class enum_ibv_port_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_PORT_SM = enum_ibv_port_cap_flags.define('IBV_PORT_SM', 2)
|
|
IBV_PORT_NOTICE_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_NOTICE_SUP', 4)
|
|
IBV_PORT_TRAP_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_TRAP_SUP', 8)
|
|
IBV_PORT_OPT_IPD_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_OPT_IPD_SUP', 16)
|
|
IBV_PORT_AUTO_MIGR_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_AUTO_MIGR_SUP', 32)
|
|
IBV_PORT_SL_MAP_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_SL_MAP_SUP', 64)
|
|
IBV_PORT_MKEY_NVRAM = enum_ibv_port_cap_flags.define('IBV_PORT_MKEY_NVRAM', 128)
|
|
IBV_PORT_PKEY_NVRAM = enum_ibv_port_cap_flags.define('IBV_PORT_PKEY_NVRAM', 256)
|
|
IBV_PORT_LED_INFO_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_LED_INFO_SUP', 512)
|
|
IBV_PORT_SYS_IMAGE_GUID_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_SYS_IMAGE_GUID_SUP', 2048)
|
|
IBV_PORT_PKEY_SW_EXT_PORT_TRAP_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_PKEY_SW_EXT_PORT_TRAP_SUP', 4096)
|
|
IBV_PORT_EXTENDED_SPEEDS_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_EXTENDED_SPEEDS_SUP', 16384)
|
|
IBV_PORT_CAP_MASK2_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CAP_MASK2_SUP', 32768)
|
|
IBV_PORT_CM_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CM_SUP', 65536)
|
|
IBV_PORT_SNMP_TUNNEL_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_SNMP_TUNNEL_SUP', 131072)
|
|
IBV_PORT_REINIT_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_REINIT_SUP', 262144)
|
|
IBV_PORT_DEVICE_MGMT_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_DEVICE_MGMT_SUP', 524288)
|
|
IBV_PORT_VENDOR_CLASS_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_VENDOR_CLASS_SUP', 1048576)
|
|
IBV_PORT_DR_NOTICE_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_DR_NOTICE_SUP', 2097152)
|
|
IBV_PORT_CAP_MASK_NOTICE_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CAP_MASK_NOTICE_SUP', 4194304)
|
|
IBV_PORT_BOOT_MGMT_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_BOOT_MGMT_SUP', 8388608)
|
|
IBV_PORT_LINK_LATENCY_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_LINK_LATENCY_SUP', 16777216)
|
|
IBV_PORT_CLIENT_REG_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CLIENT_REG_SUP', 33554432)
|
|
IBV_PORT_IP_BASED_GIDS = enum_ibv_port_cap_flags.define('IBV_PORT_IP_BASED_GIDS', 67108864)
|
|
|
|
class enum_ibv_port_cap_flags2(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_PORT_SET_NODE_DESC_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_SET_NODE_DESC_SUP', 1)
|
|
IBV_PORT_INFO_EXT_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_INFO_EXT_SUP', 2)
|
|
IBV_PORT_VIRT_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_VIRT_SUP', 4)
|
|
IBV_PORT_SWITCH_PORT_STATE_TABLE_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_SWITCH_PORT_STATE_TABLE_SUP', 8)
|
|
IBV_PORT_LINK_WIDTH_2X_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_WIDTH_2X_SUP', 16)
|
|
IBV_PORT_LINK_SPEED_HDR_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_SPEED_HDR_SUP', 32)
|
|
IBV_PORT_LINK_SPEED_NDR_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_SPEED_NDR_SUP', 1024)
|
|
IBV_PORT_LINK_SPEED_XDR_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_SPEED_XDR_SUP', 4096)
|
|
|
|
@c.record
|
|
class struct_ibv_port_attr(c.Struct):
|
|
SIZE = 56
|
|
state: Annotated[enum_ibv_port_state, 0]
|
|
max_mtu: Annotated[enum_ibv_mtu, 4]
|
|
active_mtu: Annotated[enum_ibv_mtu, 8]
|
|
gid_tbl_len: Annotated[Annotated[int, ctypes.c_int32], 12]
|
|
port_cap_flags: Annotated[uint32_t, 16]
|
|
max_msg_sz: Annotated[uint32_t, 20]
|
|
bad_pkey_cntr: Annotated[uint32_t, 24]
|
|
qkey_viol_cntr: Annotated[uint32_t, 28]
|
|
pkey_tbl_len: Annotated[uint16_t, 32]
|
|
lid: Annotated[uint16_t, 34]
|
|
sm_lid: Annotated[uint16_t, 36]
|
|
lmc: Annotated[uint8_t, 38]
|
|
max_vl_num: Annotated[uint8_t, 39]
|
|
sm_sl: Annotated[uint8_t, 40]
|
|
subnet_timeout: Annotated[uint8_t, 41]
|
|
init_type_reply: Annotated[uint8_t, 42]
|
|
active_width: Annotated[uint8_t, 43]
|
|
active_speed: Annotated[uint8_t, 44]
|
|
phys_state: Annotated[uint8_t, 45]
|
|
link_layer: Annotated[uint8_t, 46]
|
|
flags: Annotated[uint8_t, 47]
|
|
port_cap_flags2: Annotated[uint16_t, 48]
|
|
active_speed_ex: Annotated[uint32_t, 52]
|
|
class enum_ibv_event_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_EVENT_CQ_ERR = enum_ibv_event_type.define('IBV_EVENT_CQ_ERR', 0)
|
|
IBV_EVENT_QP_FATAL = enum_ibv_event_type.define('IBV_EVENT_QP_FATAL', 1)
|
|
IBV_EVENT_QP_REQ_ERR = enum_ibv_event_type.define('IBV_EVENT_QP_REQ_ERR', 2)
|
|
IBV_EVENT_QP_ACCESS_ERR = enum_ibv_event_type.define('IBV_EVENT_QP_ACCESS_ERR', 3)
|
|
IBV_EVENT_COMM_EST = enum_ibv_event_type.define('IBV_EVENT_COMM_EST', 4)
|
|
IBV_EVENT_SQ_DRAINED = enum_ibv_event_type.define('IBV_EVENT_SQ_DRAINED', 5)
|
|
IBV_EVENT_PATH_MIG = enum_ibv_event_type.define('IBV_EVENT_PATH_MIG', 6)
|
|
IBV_EVENT_PATH_MIG_ERR = enum_ibv_event_type.define('IBV_EVENT_PATH_MIG_ERR', 7)
|
|
IBV_EVENT_DEVICE_FATAL = enum_ibv_event_type.define('IBV_EVENT_DEVICE_FATAL', 8)
|
|
IBV_EVENT_PORT_ACTIVE = enum_ibv_event_type.define('IBV_EVENT_PORT_ACTIVE', 9)
|
|
IBV_EVENT_PORT_ERR = enum_ibv_event_type.define('IBV_EVENT_PORT_ERR', 10)
|
|
IBV_EVENT_LID_CHANGE = enum_ibv_event_type.define('IBV_EVENT_LID_CHANGE', 11)
|
|
IBV_EVENT_PKEY_CHANGE = enum_ibv_event_type.define('IBV_EVENT_PKEY_CHANGE', 12)
|
|
IBV_EVENT_SM_CHANGE = enum_ibv_event_type.define('IBV_EVENT_SM_CHANGE', 13)
|
|
IBV_EVENT_SRQ_ERR = enum_ibv_event_type.define('IBV_EVENT_SRQ_ERR', 14)
|
|
IBV_EVENT_SRQ_LIMIT_REACHED = enum_ibv_event_type.define('IBV_EVENT_SRQ_LIMIT_REACHED', 15)
|
|
IBV_EVENT_QP_LAST_WQE_REACHED = enum_ibv_event_type.define('IBV_EVENT_QP_LAST_WQE_REACHED', 16)
|
|
IBV_EVENT_CLIENT_REREGISTER = enum_ibv_event_type.define('IBV_EVENT_CLIENT_REREGISTER', 17)
|
|
IBV_EVENT_GID_CHANGE = enum_ibv_event_type.define('IBV_EVENT_GID_CHANGE', 18)
|
|
IBV_EVENT_WQ_FATAL = enum_ibv_event_type.define('IBV_EVENT_WQ_FATAL', 19)
|
|
|
|
@c.record
|
|
class struct_ibv_async_event(c.Struct):
|
|
SIZE = 16
|
|
element: Annotated[struct_ibv_async_event_element, 0]
|
|
event_type: Annotated[enum_ibv_event_type, 8]
|
|
@c.record
|
|
class struct_ibv_async_event_element(c.Struct):
|
|
SIZE = 8
|
|
cq: Annotated[c.POINTER[struct_ibv_cq], 0]
|
|
qp: Annotated[c.POINTER[struct_ibv_qp], 0]
|
|
srq: Annotated[c.POINTER[struct_ibv_srq], 0]
|
|
wq: Annotated[c.POINTER[struct_ibv_wq], 0]
|
|
port_num: Annotated[Annotated[int, ctypes.c_int32], 0]
|
|
@c.record
|
|
class struct_ibv_wq(c.Struct):
|
|
SIZE = 152
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
wq_context: Annotated[ctypes.c_void_p, 8]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 16]
|
|
cq: Annotated[c.POINTER[struct_ibv_cq], 24]
|
|
wq_num: Annotated[uint32_t, 32]
|
|
handle: Annotated[uint32_t, 36]
|
|
state: Annotated[enum_ibv_wq_state, 40]
|
|
wq_type: Annotated[enum_ibv_wq_type, 44]
|
|
post_recv: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_wq], c.POINTER[struct_ibv_recv_wr], c.POINTER[c.POINTER[struct_ibv_recv_wr]]]], 48]
|
|
mutex: Annotated[pthread_mutex_t, 56]
|
|
cond: Annotated[pthread_cond_t, 96]
|
|
events_completed: Annotated[uint32_t, 144]
|
|
comp_mask: Annotated[uint32_t, 148]
|
|
class enum_ibv_wq_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WQS_RESET = enum_ibv_wq_state.define('IBV_WQS_RESET', 0)
|
|
IBV_WQS_RDY = enum_ibv_wq_state.define('IBV_WQS_RDY', 1)
|
|
IBV_WQS_ERR = enum_ibv_wq_state.define('IBV_WQS_ERR', 2)
|
|
IBV_WQS_UNKNOWN = enum_ibv_wq_state.define('IBV_WQS_UNKNOWN', 3)
|
|
|
|
class enum_ibv_wq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WQT_RQ = enum_ibv_wq_type.define('IBV_WQT_RQ', 0)
|
|
|
|
@dll.bind
|
|
def ibv_wc_status_str(status:enum_ibv_wc_status) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
|
class _anonenum1(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WC_IP_CSUM_OK_SHIFT = _anonenum1.define('IBV_WC_IP_CSUM_OK_SHIFT', 2)
|
|
|
|
class enum_ibv_create_cq_wc_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WC_EX_WITH_BYTE_LEN = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_BYTE_LEN', 1)
|
|
IBV_WC_EX_WITH_IMM = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_IMM', 2)
|
|
IBV_WC_EX_WITH_QP_NUM = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_QP_NUM', 4)
|
|
IBV_WC_EX_WITH_SRC_QP = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_SRC_QP', 8)
|
|
IBV_WC_EX_WITH_SLID = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_SLID', 16)
|
|
IBV_WC_EX_WITH_SL = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_SL', 32)
|
|
IBV_WC_EX_WITH_DLID_PATH_BITS = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_DLID_PATH_BITS', 64)
|
|
IBV_WC_EX_WITH_COMPLETION_TIMESTAMP = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_COMPLETION_TIMESTAMP', 128)
|
|
IBV_WC_EX_WITH_CVLAN = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_CVLAN', 256)
|
|
IBV_WC_EX_WITH_FLOW_TAG = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_FLOW_TAG', 512)
|
|
IBV_WC_EX_WITH_TM_INFO = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_TM_INFO', 1024)
|
|
IBV_WC_EX_WITH_COMPLETION_TIMESTAMP_WALLCLOCK = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_COMPLETION_TIMESTAMP_WALLCLOCK', 2048)
|
|
|
|
class _anonenum2(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WC_STANDARD_FLAGS = _anonenum2.define('IBV_WC_STANDARD_FLAGS', 127)
|
|
|
|
class _anonenum3(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_CREATE_CQ_SUP_WC_FLAGS = _anonenum3.define('IBV_CREATE_CQ_SUP_WC_FLAGS', 4095)
|
|
|
|
class enum_ibv_wc_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WC_GRH = enum_ibv_wc_flags.define('IBV_WC_GRH', 1)
|
|
IBV_WC_WITH_IMM = enum_ibv_wc_flags.define('IBV_WC_WITH_IMM', 2)
|
|
IBV_WC_IP_CSUM_OK = enum_ibv_wc_flags.define('IBV_WC_IP_CSUM_OK', 4)
|
|
IBV_WC_WITH_INV = enum_ibv_wc_flags.define('IBV_WC_WITH_INV', 8)
|
|
IBV_WC_TM_SYNC_REQ = enum_ibv_wc_flags.define('IBV_WC_TM_SYNC_REQ', 16)
|
|
IBV_WC_TM_MATCH = enum_ibv_wc_flags.define('IBV_WC_TM_MATCH', 32)
|
|
IBV_WC_TM_DATA_VALID = enum_ibv_wc_flags.define('IBV_WC_TM_DATA_VALID', 64)
|
|
|
|
class enum_ibv_access_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_ACCESS_LOCAL_WRITE = enum_ibv_access_flags.define('IBV_ACCESS_LOCAL_WRITE', 1)
|
|
IBV_ACCESS_REMOTE_WRITE = enum_ibv_access_flags.define('IBV_ACCESS_REMOTE_WRITE', 2)
|
|
IBV_ACCESS_REMOTE_READ = enum_ibv_access_flags.define('IBV_ACCESS_REMOTE_READ', 4)
|
|
IBV_ACCESS_REMOTE_ATOMIC = enum_ibv_access_flags.define('IBV_ACCESS_REMOTE_ATOMIC', 8)
|
|
IBV_ACCESS_MW_BIND = enum_ibv_access_flags.define('IBV_ACCESS_MW_BIND', 16)
|
|
IBV_ACCESS_ZERO_BASED = enum_ibv_access_flags.define('IBV_ACCESS_ZERO_BASED', 32)
|
|
IBV_ACCESS_ON_DEMAND = enum_ibv_access_flags.define('IBV_ACCESS_ON_DEMAND', 64)
|
|
IBV_ACCESS_HUGETLB = enum_ibv_access_flags.define('IBV_ACCESS_HUGETLB', 128)
|
|
IBV_ACCESS_FLUSH_GLOBAL = enum_ibv_access_flags.define('IBV_ACCESS_FLUSH_GLOBAL', 256)
|
|
IBV_ACCESS_FLUSH_PERSISTENT = enum_ibv_access_flags.define('IBV_ACCESS_FLUSH_PERSISTENT', 512)
|
|
IBV_ACCESS_RELAXED_ORDERING = enum_ibv_access_flags.define('IBV_ACCESS_RELAXED_ORDERING', 1048576)
|
|
|
|
@c.record
|
|
class struct_ibv_td_init_attr(c.Struct):
|
|
SIZE = 4
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
@c.record
|
|
class struct_ibv_td(c.Struct):
|
|
SIZE = 8
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
class enum_ibv_xrcd_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_XRCD_INIT_ATTR_FD = enum_ibv_xrcd_init_attr_mask.define('IBV_XRCD_INIT_ATTR_FD', 1)
|
|
IBV_XRCD_INIT_ATTR_OFLAGS = enum_ibv_xrcd_init_attr_mask.define('IBV_XRCD_INIT_ATTR_OFLAGS', 2)
|
|
IBV_XRCD_INIT_ATTR_RESERVED = enum_ibv_xrcd_init_attr_mask.define('IBV_XRCD_INIT_ATTR_RESERVED', 4)
|
|
|
|
@c.record
|
|
class struct_ibv_xrcd_init_attr(c.Struct):
|
|
SIZE = 12
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
|
oflags: Annotated[Annotated[int, ctypes.c_int32], 8]
|
|
@c.record
|
|
class struct_ibv_xrcd(c.Struct):
|
|
SIZE = 8
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
class enum_ibv_rereg_mr_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_REREG_MR_CHANGE_TRANSLATION = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_CHANGE_TRANSLATION', 1)
|
|
IBV_REREG_MR_CHANGE_PD = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_CHANGE_PD', 2)
|
|
IBV_REREG_MR_CHANGE_ACCESS = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_CHANGE_ACCESS', 4)
|
|
IBV_REREG_MR_FLAGS_SUPPORTED = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_FLAGS_SUPPORTED', 7)
|
|
|
|
@c.record
|
|
class struct_ibv_global_route(c.Struct):
|
|
SIZE = 24
|
|
dgid: Annotated[union_ibv_gid, 0]
|
|
flow_label: Annotated[uint32_t, 16]
|
|
sgid_index: Annotated[uint8_t, 20]
|
|
hop_limit: Annotated[uint8_t, 21]
|
|
traffic_class: Annotated[uint8_t, 22]
|
|
@c.record
|
|
class struct_ibv_grh(c.Struct):
|
|
SIZE = 40
|
|
version_tclass_flow: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
paylen: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
next_hdr: Annotated[uint8_t, 6]
|
|
hop_limit: Annotated[uint8_t, 7]
|
|
sgid: Annotated[union_ibv_gid, 8]
|
|
dgid: Annotated[union_ibv_gid, 24]
|
|
__be16: TypeAlias = Annotated[int, ctypes.c_uint16]
|
|
class enum_ibv_rate(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_RATE_MAX = enum_ibv_rate.define('IBV_RATE_MAX', 0)
|
|
IBV_RATE_2_5_GBPS = enum_ibv_rate.define('IBV_RATE_2_5_GBPS', 2)
|
|
IBV_RATE_5_GBPS = enum_ibv_rate.define('IBV_RATE_5_GBPS', 5)
|
|
IBV_RATE_10_GBPS = enum_ibv_rate.define('IBV_RATE_10_GBPS', 3)
|
|
IBV_RATE_20_GBPS = enum_ibv_rate.define('IBV_RATE_20_GBPS', 6)
|
|
IBV_RATE_30_GBPS = enum_ibv_rate.define('IBV_RATE_30_GBPS', 4)
|
|
IBV_RATE_40_GBPS = enum_ibv_rate.define('IBV_RATE_40_GBPS', 7)
|
|
IBV_RATE_60_GBPS = enum_ibv_rate.define('IBV_RATE_60_GBPS', 8)
|
|
IBV_RATE_80_GBPS = enum_ibv_rate.define('IBV_RATE_80_GBPS', 9)
|
|
IBV_RATE_120_GBPS = enum_ibv_rate.define('IBV_RATE_120_GBPS', 10)
|
|
IBV_RATE_14_GBPS = enum_ibv_rate.define('IBV_RATE_14_GBPS', 11)
|
|
IBV_RATE_56_GBPS = enum_ibv_rate.define('IBV_RATE_56_GBPS', 12)
|
|
IBV_RATE_112_GBPS = enum_ibv_rate.define('IBV_RATE_112_GBPS', 13)
|
|
IBV_RATE_168_GBPS = enum_ibv_rate.define('IBV_RATE_168_GBPS', 14)
|
|
IBV_RATE_25_GBPS = enum_ibv_rate.define('IBV_RATE_25_GBPS', 15)
|
|
IBV_RATE_100_GBPS = enum_ibv_rate.define('IBV_RATE_100_GBPS', 16)
|
|
IBV_RATE_200_GBPS = enum_ibv_rate.define('IBV_RATE_200_GBPS', 17)
|
|
IBV_RATE_300_GBPS = enum_ibv_rate.define('IBV_RATE_300_GBPS', 18)
|
|
IBV_RATE_28_GBPS = enum_ibv_rate.define('IBV_RATE_28_GBPS', 19)
|
|
IBV_RATE_50_GBPS = enum_ibv_rate.define('IBV_RATE_50_GBPS', 20)
|
|
IBV_RATE_400_GBPS = enum_ibv_rate.define('IBV_RATE_400_GBPS', 21)
|
|
IBV_RATE_600_GBPS = enum_ibv_rate.define('IBV_RATE_600_GBPS', 22)
|
|
IBV_RATE_800_GBPS = enum_ibv_rate.define('IBV_RATE_800_GBPS', 23)
|
|
IBV_RATE_1200_GBPS = enum_ibv_rate.define('IBV_RATE_1200_GBPS', 24)
|
|
|
|
@dll.bind
|
|
def ibv_rate_to_mult(rate:enum_ibv_rate) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def mult_to_ibv_rate(mult:Annotated[int, ctypes.c_int32]) -> enum_ibv_rate: ...
|
|
@dll.bind
|
|
def ibv_rate_to_mbps(rate:enum_ibv_rate) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def mbps_to_ibv_rate(mbps:Annotated[int, ctypes.c_int32]) -> enum_ibv_rate: ...
|
|
@c.record
|
|
class struct_ibv_ah_attr(c.Struct):
|
|
SIZE = 32
|
|
grh: Annotated[struct_ibv_global_route, 0]
|
|
dlid: Annotated[uint16_t, 24]
|
|
sl: Annotated[uint8_t, 26]
|
|
src_path_bits: Annotated[uint8_t, 27]
|
|
static_rate: Annotated[uint8_t, 28]
|
|
is_global: Annotated[uint8_t, 29]
|
|
port_num: Annotated[uint8_t, 30]
|
|
class enum_ibv_srq_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_SRQ_MAX_WR = enum_ibv_srq_attr_mask.define('IBV_SRQ_MAX_WR', 1)
|
|
IBV_SRQ_LIMIT = enum_ibv_srq_attr_mask.define('IBV_SRQ_LIMIT', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_srq_attr(c.Struct):
|
|
SIZE = 12
|
|
max_wr: Annotated[uint32_t, 0]
|
|
max_sge: Annotated[uint32_t, 4]
|
|
srq_limit: Annotated[uint32_t, 8]
|
|
@c.record
|
|
class struct_ibv_srq_init_attr(c.Struct):
|
|
SIZE = 24
|
|
srq_context: Annotated[ctypes.c_void_p, 0]
|
|
attr: Annotated[struct_ibv_srq_attr, 8]
|
|
class enum_ibv_srq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_SRQT_BASIC = enum_ibv_srq_type.define('IBV_SRQT_BASIC', 0)
|
|
IBV_SRQT_XRC = enum_ibv_srq_type.define('IBV_SRQT_XRC', 1)
|
|
IBV_SRQT_TM = enum_ibv_srq_type.define('IBV_SRQT_TM', 2)
|
|
|
|
class enum_ibv_srq_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_SRQ_INIT_ATTR_TYPE = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_TYPE', 1)
|
|
IBV_SRQ_INIT_ATTR_PD = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_PD', 2)
|
|
IBV_SRQ_INIT_ATTR_XRCD = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_XRCD', 4)
|
|
IBV_SRQ_INIT_ATTR_CQ = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_CQ', 8)
|
|
IBV_SRQ_INIT_ATTR_TM = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_TM', 16)
|
|
IBV_SRQ_INIT_ATTR_RESERVED = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_RESERVED', 32)
|
|
|
|
@c.record
|
|
class struct_ibv_tm_cap(c.Struct):
|
|
SIZE = 8
|
|
max_num_tags: Annotated[uint32_t, 0]
|
|
max_ops: Annotated[uint32_t, 4]
|
|
@c.record
|
|
class struct_ibv_srq_init_attr_ex(c.Struct):
|
|
SIZE = 64
|
|
srq_context: Annotated[ctypes.c_void_p, 0]
|
|
attr: Annotated[struct_ibv_srq_attr, 8]
|
|
comp_mask: Annotated[uint32_t, 20]
|
|
srq_type: Annotated[enum_ibv_srq_type, 24]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 32]
|
|
xrcd: Annotated[c.POINTER[struct_ibv_xrcd], 40]
|
|
cq: Annotated[c.POINTER[struct_ibv_cq], 48]
|
|
tm_cap: Annotated[struct_ibv_tm_cap, 56]
|
|
class enum_ibv_wq_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WQ_INIT_ATTR_FLAGS = enum_ibv_wq_init_attr_mask.define('IBV_WQ_INIT_ATTR_FLAGS', 1)
|
|
IBV_WQ_INIT_ATTR_RESERVED = enum_ibv_wq_init_attr_mask.define('IBV_WQ_INIT_ATTR_RESERVED', 2)
|
|
|
|
class enum_ibv_wq_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WQ_FLAGS_CVLAN_STRIPPING = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_CVLAN_STRIPPING', 1)
|
|
IBV_WQ_FLAGS_SCATTER_FCS = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_SCATTER_FCS', 2)
|
|
IBV_WQ_FLAGS_DELAY_DROP = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_DELAY_DROP', 4)
|
|
IBV_WQ_FLAGS_PCI_WRITE_END_PADDING = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 8)
|
|
IBV_WQ_FLAGS_RESERVED = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_RESERVED', 16)
|
|
|
|
@c.record
|
|
class struct_ibv_wq_init_attr(c.Struct):
|
|
SIZE = 48
|
|
wq_context: Annotated[ctypes.c_void_p, 0]
|
|
wq_type: Annotated[enum_ibv_wq_type, 8]
|
|
max_wr: Annotated[uint32_t, 12]
|
|
max_sge: Annotated[uint32_t, 16]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 24]
|
|
cq: Annotated[c.POINTER[struct_ibv_cq], 32]
|
|
comp_mask: Annotated[uint32_t, 40]
|
|
create_flags: Annotated[uint32_t, 44]
|
|
class enum_ibv_wq_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WQ_ATTR_STATE = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_STATE', 1)
|
|
IBV_WQ_ATTR_CURR_STATE = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_CURR_STATE', 2)
|
|
IBV_WQ_ATTR_FLAGS = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_FLAGS', 4)
|
|
IBV_WQ_ATTR_RESERVED = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_RESERVED', 8)
|
|
|
|
@c.record
|
|
class struct_ibv_wq_attr(c.Struct):
|
|
SIZE = 20
|
|
attr_mask: Annotated[uint32_t, 0]
|
|
wq_state: Annotated[enum_ibv_wq_state, 4]
|
|
curr_wq_state: Annotated[enum_ibv_wq_state, 8]
|
|
flags: Annotated[uint32_t, 12]
|
|
flags_mask: Annotated[uint32_t, 16]
|
|
@c.record
|
|
class struct_ibv_rwq_ind_table(c.Struct):
|
|
SIZE = 24
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
ind_tbl_handle: Annotated[Annotated[int, ctypes.c_int32], 8]
|
|
ind_tbl_num: Annotated[Annotated[int, ctypes.c_int32], 12]
|
|
comp_mask: Annotated[uint32_t, 16]
|
|
class enum_ibv_ind_table_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_CREATE_IND_TABLE_RESERVED = enum_ibv_ind_table_init_attr_mask.define('IBV_CREATE_IND_TABLE_RESERVED', 1)
|
|
|
|
@c.record
|
|
class struct_ibv_rwq_ind_table_init_attr(c.Struct):
|
|
SIZE = 24
|
|
log_ind_tbl_size: Annotated[uint32_t, 0]
|
|
ind_tbl: Annotated[c.POINTER[c.POINTER[struct_ibv_wq]], 8]
|
|
comp_mask: Annotated[uint32_t, 16]
|
|
@c.record
|
|
class struct_ibv_qp_cap(c.Struct):
|
|
SIZE = 20
|
|
max_send_wr: Annotated[uint32_t, 0]
|
|
max_recv_wr: Annotated[uint32_t, 4]
|
|
max_send_sge: Annotated[uint32_t, 8]
|
|
max_recv_sge: Annotated[uint32_t, 12]
|
|
max_inline_data: Annotated[uint32_t, 16]
|
|
@c.record
|
|
class struct_ibv_qp_init_attr(c.Struct):
|
|
SIZE = 64
|
|
qp_context: Annotated[ctypes.c_void_p, 0]
|
|
send_cq: Annotated[c.POINTER[struct_ibv_cq], 8]
|
|
recv_cq: Annotated[c.POINTER[struct_ibv_cq], 16]
|
|
srq: Annotated[c.POINTER[struct_ibv_srq], 24]
|
|
cap: Annotated[struct_ibv_qp_cap, 32]
|
|
qp_type: Annotated[enum_ibv_qp_type, 52]
|
|
sq_sig_all: Annotated[Annotated[int, ctypes.c_int32], 56]
|
|
class enum_ibv_qp_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QP_INIT_ATTR_PD = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_PD', 1)
|
|
IBV_QP_INIT_ATTR_XRCD = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_XRCD', 2)
|
|
IBV_QP_INIT_ATTR_CREATE_FLAGS = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_CREATE_FLAGS', 4)
|
|
IBV_QP_INIT_ATTR_MAX_TSO_HEADER = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_MAX_TSO_HEADER', 8)
|
|
IBV_QP_INIT_ATTR_IND_TABLE = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_IND_TABLE', 16)
|
|
IBV_QP_INIT_ATTR_RX_HASH = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_RX_HASH', 32)
|
|
IBV_QP_INIT_ATTR_SEND_OPS_FLAGS = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_SEND_OPS_FLAGS', 64)
|
|
|
|
class enum_ibv_qp_create_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QP_CREATE_BLOCK_SELF_MCAST_LB = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_BLOCK_SELF_MCAST_LB', 2)
|
|
IBV_QP_CREATE_SCATTER_FCS = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_SCATTER_FCS', 256)
|
|
IBV_QP_CREATE_CVLAN_STRIPPING = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_CVLAN_STRIPPING', 512)
|
|
IBV_QP_CREATE_SOURCE_QPN = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_SOURCE_QPN', 1024)
|
|
IBV_QP_CREATE_PCI_WRITE_END_PADDING = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_PCI_WRITE_END_PADDING', 2048)
|
|
|
|
class enum_ibv_qp_create_send_ops_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QP_EX_WITH_RDMA_WRITE = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_RDMA_WRITE', 1)
|
|
IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM', 2)
|
|
IBV_QP_EX_WITH_SEND = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_SEND', 4)
|
|
IBV_QP_EX_WITH_SEND_WITH_IMM = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_SEND_WITH_IMM', 8)
|
|
IBV_QP_EX_WITH_RDMA_READ = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_RDMA_READ', 16)
|
|
IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP', 32)
|
|
IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD', 64)
|
|
IBV_QP_EX_WITH_LOCAL_INV = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_LOCAL_INV', 128)
|
|
IBV_QP_EX_WITH_BIND_MW = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_BIND_MW', 256)
|
|
IBV_QP_EX_WITH_SEND_WITH_INV = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_SEND_WITH_INV', 512)
|
|
IBV_QP_EX_WITH_TSO = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_TSO', 1024)
|
|
IBV_QP_EX_WITH_FLUSH = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_FLUSH', 2048)
|
|
IBV_QP_EX_WITH_ATOMIC_WRITE = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_ATOMIC_WRITE', 4096)
|
|
|
|
@c.record
|
|
class struct_ibv_rx_hash_conf(c.Struct):
|
|
SIZE = 24
|
|
rx_hash_function: Annotated[uint8_t, 0]
|
|
rx_hash_key_len: Annotated[uint8_t, 1]
|
|
rx_hash_key: Annotated[c.POINTER[uint8_t], 8]
|
|
rx_hash_fields_mask: Annotated[uint64_t, 16]
|
|
@c.record
|
|
class struct_ibv_qp_init_attr_ex(c.Struct):
|
|
SIZE = 136
|
|
qp_context: Annotated[ctypes.c_void_p, 0]
|
|
send_cq: Annotated[c.POINTER[struct_ibv_cq], 8]
|
|
recv_cq: Annotated[c.POINTER[struct_ibv_cq], 16]
|
|
srq: Annotated[c.POINTER[struct_ibv_srq], 24]
|
|
cap: Annotated[struct_ibv_qp_cap, 32]
|
|
qp_type: Annotated[enum_ibv_qp_type, 52]
|
|
sq_sig_all: Annotated[Annotated[int, ctypes.c_int32], 56]
|
|
comp_mask: Annotated[uint32_t, 60]
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 64]
|
|
xrcd: Annotated[c.POINTER[struct_ibv_xrcd], 72]
|
|
create_flags: Annotated[uint32_t, 80]
|
|
max_tso_header: Annotated[uint16_t, 84]
|
|
rwq_ind_tbl: Annotated[c.POINTER[struct_ibv_rwq_ind_table], 88]
|
|
rx_hash_conf: Annotated[struct_ibv_rx_hash_conf, 96]
|
|
source_qpn: Annotated[uint32_t, 120]
|
|
send_ops_flags: Annotated[uint64_t, 128]
|
|
class enum_ibv_qp_open_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QP_OPEN_ATTR_NUM = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_NUM', 1)
|
|
IBV_QP_OPEN_ATTR_XRCD = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_XRCD', 2)
|
|
IBV_QP_OPEN_ATTR_CONTEXT = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_CONTEXT', 4)
|
|
IBV_QP_OPEN_ATTR_TYPE = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_TYPE', 8)
|
|
IBV_QP_OPEN_ATTR_RESERVED = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_RESERVED', 16)
|
|
|
|
@c.record
|
|
class struct_ibv_qp_open_attr(c.Struct):
|
|
SIZE = 32
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
qp_num: Annotated[uint32_t, 4]
|
|
xrcd: Annotated[c.POINTER[struct_ibv_xrcd], 8]
|
|
qp_context: Annotated[ctypes.c_void_p, 16]
|
|
qp_type: Annotated[enum_ibv_qp_type, 24]
|
|
class enum_ibv_qp_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QP_STATE = enum_ibv_qp_attr_mask.define('IBV_QP_STATE', 1)
|
|
IBV_QP_CUR_STATE = enum_ibv_qp_attr_mask.define('IBV_QP_CUR_STATE', 2)
|
|
IBV_QP_EN_SQD_ASYNC_NOTIFY = enum_ibv_qp_attr_mask.define('IBV_QP_EN_SQD_ASYNC_NOTIFY', 4)
|
|
IBV_QP_ACCESS_FLAGS = enum_ibv_qp_attr_mask.define('IBV_QP_ACCESS_FLAGS', 8)
|
|
IBV_QP_PKEY_INDEX = enum_ibv_qp_attr_mask.define('IBV_QP_PKEY_INDEX', 16)
|
|
IBV_QP_PORT = enum_ibv_qp_attr_mask.define('IBV_QP_PORT', 32)
|
|
IBV_QP_QKEY = enum_ibv_qp_attr_mask.define('IBV_QP_QKEY', 64)
|
|
IBV_QP_AV = enum_ibv_qp_attr_mask.define('IBV_QP_AV', 128)
|
|
IBV_QP_PATH_MTU = enum_ibv_qp_attr_mask.define('IBV_QP_PATH_MTU', 256)
|
|
IBV_QP_TIMEOUT = enum_ibv_qp_attr_mask.define('IBV_QP_TIMEOUT', 512)
|
|
IBV_QP_RETRY_CNT = enum_ibv_qp_attr_mask.define('IBV_QP_RETRY_CNT', 1024)
|
|
IBV_QP_RNR_RETRY = enum_ibv_qp_attr_mask.define('IBV_QP_RNR_RETRY', 2048)
|
|
IBV_QP_RQ_PSN = enum_ibv_qp_attr_mask.define('IBV_QP_RQ_PSN', 4096)
|
|
IBV_QP_MAX_QP_RD_ATOMIC = enum_ibv_qp_attr_mask.define('IBV_QP_MAX_QP_RD_ATOMIC', 8192)
|
|
IBV_QP_ALT_PATH = enum_ibv_qp_attr_mask.define('IBV_QP_ALT_PATH', 16384)
|
|
IBV_QP_MIN_RNR_TIMER = enum_ibv_qp_attr_mask.define('IBV_QP_MIN_RNR_TIMER', 32768)
|
|
IBV_QP_SQ_PSN = enum_ibv_qp_attr_mask.define('IBV_QP_SQ_PSN', 65536)
|
|
IBV_QP_MAX_DEST_RD_ATOMIC = enum_ibv_qp_attr_mask.define('IBV_QP_MAX_DEST_RD_ATOMIC', 131072)
|
|
IBV_QP_PATH_MIG_STATE = enum_ibv_qp_attr_mask.define('IBV_QP_PATH_MIG_STATE', 262144)
|
|
IBV_QP_CAP = enum_ibv_qp_attr_mask.define('IBV_QP_CAP', 524288)
|
|
IBV_QP_DEST_QPN = enum_ibv_qp_attr_mask.define('IBV_QP_DEST_QPN', 1048576)
|
|
IBV_QP_RATE_LIMIT = enum_ibv_qp_attr_mask.define('IBV_QP_RATE_LIMIT', 33554432)
|
|
|
|
class enum_ibv_query_qp_data_in_order_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS = enum_ibv_query_qp_data_in_order_flags.define('IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS', 1)
|
|
|
|
class enum_ibv_query_qp_data_in_order_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_QUERY_QP_DATA_IN_ORDER_WHOLE_MSG = enum_ibv_query_qp_data_in_order_caps.define('IBV_QUERY_QP_DATA_IN_ORDER_WHOLE_MSG', 1)
|
|
IBV_QUERY_QP_DATA_IN_ORDER_ALIGNED_128_BYTES = enum_ibv_query_qp_data_in_order_caps.define('IBV_QUERY_QP_DATA_IN_ORDER_ALIGNED_128_BYTES', 2)
|
|
|
|
class enum_ibv_mig_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_MIG_MIGRATED = enum_ibv_mig_state.define('IBV_MIG_MIGRATED', 0)
|
|
IBV_MIG_REARM = enum_ibv_mig_state.define('IBV_MIG_REARM', 1)
|
|
IBV_MIG_ARMED = enum_ibv_mig_state.define('IBV_MIG_ARMED', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_qp_attr(c.Struct):
|
|
SIZE = 144
|
|
qp_state: Annotated[enum_ibv_qp_state, 0]
|
|
cur_qp_state: Annotated[enum_ibv_qp_state, 4]
|
|
path_mtu: Annotated[enum_ibv_mtu, 8]
|
|
path_mig_state: Annotated[enum_ibv_mig_state, 12]
|
|
qkey: Annotated[uint32_t, 16]
|
|
rq_psn: Annotated[uint32_t, 20]
|
|
sq_psn: Annotated[uint32_t, 24]
|
|
dest_qp_num: Annotated[uint32_t, 28]
|
|
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
cap: Annotated[struct_ibv_qp_cap, 36]
|
|
ah_attr: Annotated[struct_ibv_ah_attr, 56]
|
|
alt_ah_attr: Annotated[struct_ibv_ah_attr, 88]
|
|
pkey_index: Annotated[uint16_t, 120]
|
|
alt_pkey_index: Annotated[uint16_t, 122]
|
|
en_sqd_async_notify: Annotated[uint8_t, 124]
|
|
sq_draining: Annotated[uint8_t, 125]
|
|
max_rd_atomic: Annotated[uint8_t, 126]
|
|
max_dest_rd_atomic: Annotated[uint8_t, 127]
|
|
min_rnr_timer: Annotated[uint8_t, 128]
|
|
port_num: Annotated[uint8_t, 129]
|
|
timeout: Annotated[uint8_t, 130]
|
|
retry_cnt: Annotated[uint8_t, 131]
|
|
rnr_retry: Annotated[uint8_t, 132]
|
|
alt_port_num: Annotated[uint8_t, 133]
|
|
alt_timeout: Annotated[uint8_t, 134]
|
|
rate_limit: Annotated[uint32_t, 136]
|
|
@c.record
|
|
class struct_ibv_qp_rate_limit_attr(c.Struct):
|
|
SIZE = 16
|
|
rate_limit: Annotated[uint32_t, 0]
|
|
max_burst_sz: Annotated[uint32_t, 4]
|
|
typical_pkt_sz: Annotated[uint16_t, 8]
|
|
comp_mask: Annotated[uint32_t, 12]
|
|
@dll.bind
|
|
def ibv_wr_opcode_str(opcode:enum_ibv_wr_opcode) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
|
class enum_ibv_send_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_SEND_FENCE = enum_ibv_send_flags.define('IBV_SEND_FENCE', 1)
|
|
IBV_SEND_SIGNALED = enum_ibv_send_flags.define('IBV_SEND_SIGNALED', 2)
|
|
IBV_SEND_SOLICITED = enum_ibv_send_flags.define('IBV_SEND_SOLICITED', 4)
|
|
IBV_SEND_INLINE = enum_ibv_send_flags.define('IBV_SEND_INLINE', 8)
|
|
IBV_SEND_IP_CSUM = enum_ibv_send_flags.define('IBV_SEND_IP_CSUM', 16)
|
|
|
|
class enum_ibv_placement_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FLUSH_GLOBAL = enum_ibv_placement_type.define('IBV_FLUSH_GLOBAL', 1)
|
|
IBV_FLUSH_PERSISTENT = enum_ibv_placement_type.define('IBV_FLUSH_PERSISTENT', 2)
|
|
|
|
class enum_ibv_selectivity_level(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FLUSH_RANGE = enum_ibv_selectivity_level.define('IBV_FLUSH_RANGE', 0)
|
|
IBV_FLUSH_MR = enum_ibv_selectivity_level.define('IBV_FLUSH_MR', 1)
|
|
|
|
@c.record
|
|
class struct_ibv_data_buf(c.Struct):
|
|
SIZE = 16
|
|
addr: Annotated[ctypes.c_void_p, 0]
|
|
length: Annotated[size_t, 8]
|
|
class enum_ibv_ops_wr_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_WR_TAG_ADD = enum_ibv_ops_wr_opcode.define('IBV_WR_TAG_ADD', 0)
|
|
IBV_WR_TAG_DEL = enum_ibv_ops_wr_opcode.define('IBV_WR_TAG_DEL', 1)
|
|
IBV_WR_TAG_SYNC = enum_ibv_ops_wr_opcode.define('IBV_WR_TAG_SYNC', 2)
|
|
|
|
class enum_ibv_ops_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_OPS_SIGNALED = enum_ibv_ops_flags.define('IBV_OPS_SIGNALED', 1)
|
|
IBV_OPS_TM_SYNC = enum_ibv_ops_flags.define('IBV_OPS_TM_SYNC', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_ops_wr(c.Struct):
|
|
SIZE = 72
|
|
wr_id: Annotated[uint64_t, 0]
|
|
next: Annotated[c.POINTER[struct_ibv_ops_wr], 8]
|
|
opcode: Annotated[enum_ibv_ops_wr_opcode, 16]
|
|
flags: Annotated[Annotated[int, ctypes.c_int32], 20]
|
|
tm: Annotated[struct_ibv_ops_wr_tm, 24]
|
|
@c.record
|
|
class struct_ibv_ops_wr_tm(c.Struct):
|
|
SIZE = 48
|
|
unexpected_cnt: Annotated[uint32_t, 0]
|
|
handle: Annotated[uint32_t, 4]
|
|
add: Annotated[struct_ibv_ops_wr_tm_add, 8]
|
|
@c.record
|
|
class struct_ibv_ops_wr_tm_add(c.Struct):
|
|
SIZE = 40
|
|
recv_wr_id: Annotated[uint64_t, 0]
|
|
sg_list: Annotated[c.POINTER[struct_ibv_sge], 8]
|
|
num_sge: Annotated[Annotated[int, ctypes.c_int32], 16]
|
|
tag: Annotated[uint64_t, 24]
|
|
mask: Annotated[uint64_t, 32]
|
|
@c.record
|
|
class struct_ibv_qp_ex(c.Struct):
|
|
SIZE = 360
|
|
qp_base: Annotated[struct_ibv_qp, 0]
|
|
comp_mask: Annotated[uint64_t, 160]
|
|
wr_id: Annotated[uint64_t, 168]
|
|
wr_flags: Annotated[Annotated[int, ctypes.c_uint32], 176]
|
|
wr_atomic_cmp_swp: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, uint64_t, uint64_t]], 184]
|
|
wr_atomic_fetch_add: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, uint64_t]], 192]
|
|
wr_bind_mw: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], c.POINTER[struct_ibv_mw], uint32_t, c.POINTER[struct_ibv_mw_bind_info]]], 200]
|
|
wr_local_inv: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t]], 208]
|
|
wr_rdma_read: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t]], 216]
|
|
wr_rdma_write: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t]], 224]
|
|
wr_rdma_write_imm: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, Annotated[int, ctypes.c_uint32]]], 232]
|
|
wr_send: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex]]], 240]
|
|
wr_send_imm: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], Annotated[int, ctypes.c_uint32]]], 248]
|
|
wr_send_inv: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t]], 256]
|
|
wr_send_tso: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], ctypes.c_void_p, uint16_t, uint16_t]], 264]
|
|
wr_set_ud_addr: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], c.POINTER[struct_ibv_ah], uint32_t, uint32_t]], 272]
|
|
wr_set_xrc_srqn: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t]], 280]
|
|
wr_set_inline_data: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], ctypes.c_void_p, size_t]], 288]
|
|
wr_set_inline_data_list: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], size_t, c.POINTER[struct_ibv_data_buf]]], 296]
|
|
wr_set_sge: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, uint32_t]], 304]
|
|
wr_set_sge_list: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], size_t, c.POINTER[struct_ibv_sge]]], 312]
|
|
wr_start: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex]]], 320]
|
|
wr_complete: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp_ex]]], 328]
|
|
wr_abort: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex]]], 336]
|
|
wr_atomic_write: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, ctypes.c_void_p]], 344]
|
|
wr_flush: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, size_t, uint8_t, uint8_t]], 352]
|
|
@dll.bind
|
|
def ibv_qp_to_qp_ex(qp:c.POINTER[struct_ibv_qp]) -> c.POINTER[struct_ibv_qp_ex]: ...
|
|
@c.record
|
|
class struct_ibv_ece(c.Struct):
|
|
SIZE = 12
|
|
vendor_id: Annotated[uint32_t, 0]
|
|
options: Annotated[uint32_t, 4]
|
|
comp_mask: Annotated[uint32_t, 8]
|
|
@c.record
|
|
class struct_ibv_poll_cq_attr(c.Struct):
|
|
SIZE = 4
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
@c.record
|
|
class struct_ibv_wc_tm_info(c.Struct):
|
|
SIZE = 16
|
|
tag: Annotated[uint64_t, 0]
|
|
priv: Annotated[uint32_t, 8]
|
|
@c.record
|
|
class struct_ibv_cq_ex(c.Struct):
|
|
SIZE = 288
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
channel: Annotated[c.POINTER[struct_ibv_comp_channel], 8]
|
|
cq_context: Annotated[ctypes.c_void_p, 16]
|
|
handle: Annotated[uint32_t, 24]
|
|
cqe: Annotated[Annotated[int, ctypes.c_int32], 28]
|
|
mutex: Annotated[pthread_mutex_t, 32]
|
|
cond: Annotated[pthread_cond_t, 72]
|
|
comp_events_completed: Annotated[uint32_t, 120]
|
|
async_events_completed: Annotated[uint32_t, 124]
|
|
comp_mask: Annotated[uint32_t, 128]
|
|
status: Annotated[enum_ibv_wc_status, 132]
|
|
wr_id: Annotated[uint64_t, 136]
|
|
start_poll: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq_ex], c.POINTER[struct_ibv_poll_cq_attr]]], 144]
|
|
next_poll: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq_ex]]], 152]
|
|
end_poll: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_cq_ex]]], 160]
|
|
read_opcode: Annotated[c.CFUNCTYPE[enum_ibv_wc_opcode, [c.POINTER[struct_ibv_cq_ex]]], 168]
|
|
read_vendor_err: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 176]
|
|
read_byte_len: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 184]
|
|
read_imm_data: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_uint32], [c.POINTER[struct_ibv_cq_ex]]], 192]
|
|
read_qp_num: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 200]
|
|
read_src_qp: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 208]
|
|
read_wc_flags: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_uint32], [c.POINTER[struct_ibv_cq_ex]]], 216]
|
|
read_slid: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 224]
|
|
read_sl: Annotated[c.CFUNCTYPE[uint8_t, [c.POINTER[struct_ibv_cq_ex]]], 232]
|
|
read_dlid_path_bits: Annotated[c.CFUNCTYPE[uint8_t, [c.POINTER[struct_ibv_cq_ex]]], 240]
|
|
read_completion_ts: Annotated[c.CFUNCTYPE[uint64_t, [c.POINTER[struct_ibv_cq_ex]]], 248]
|
|
read_cvlan: Annotated[c.CFUNCTYPE[uint16_t, [c.POINTER[struct_ibv_cq_ex]]], 256]
|
|
read_flow_tag: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 264]
|
|
read_tm_info: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_cq_ex], c.POINTER[struct_ibv_wc_tm_info]]], 272]
|
|
read_completion_wallclock_ns: Annotated[c.CFUNCTYPE[uint64_t, [c.POINTER[struct_ibv_cq_ex]]], 280]
|
|
class enum_ibv_cq_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_CQ_ATTR_MODERATE = enum_ibv_cq_attr_mask.define('IBV_CQ_ATTR_MODERATE', 1)
|
|
IBV_CQ_ATTR_RESERVED = enum_ibv_cq_attr_mask.define('IBV_CQ_ATTR_RESERVED', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_moderate_cq(c.Struct):
|
|
SIZE = 4
|
|
cq_count: Annotated[uint16_t, 0]
|
|
cq_period: Annotated[uint16_t, 2]
|
|
@c.record
|
|
class struct_ibv_modify_cq_attr(c.Struct):
|
|
SIZE = 8
|
|
attr_mask: Annotated[uint32_t, 0]
|
|
moderate: Annotated[struct_ibv_moderate_cq, 4]
|
|
class enum_ibv_flow_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FLOW_ATTR_FLAGS_DONT_TRAP = enum_ibv_flow_flags.define('IBV_FLOW_ATTR_FLAGS_DONT_TRAP', 2)
|
|
IBV_FLOW_ATTR_FLAGS_EGRESS = enum_ibv_flow_flags.define('IBV_FLOW_ATTR_FLAGS_EGRESS', 4)
|
|
|
|
class enum_ibv_flow_attr_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FLOW_ATTR_NORMAL = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_NORMAL', 0)
|
|
IBV_FLOW_ATTR_ALL_DEFAULT = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_ALL_DEFAULT', 1)
|
|
IBV_FLOW_ATTR_MC_DEFAULT = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_MC_DEFAULT', 2)
|
|
IBV_FLOW_ATTR_SNIFFER = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_SNIFFER', 3)
|
|
|
|
class enum_ibv_flow_spec_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FLOW_SPEC_ETH = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ETH', 32)
|
|
IBV_FLOW_SPEC_IPV4 = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_IPV4', 48)
|
|
IBV_FLOW_SPEC_IPV6 = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_IPV6', 49)
|
|
IBV_FLOW_SPEC_IPV4_EXT = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_IPV4_EXT', 50)
|
|
IBV_FLOW_SPEC_ESP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ESP', 52)
|
|
IBV_FLOW_SPEC_TCP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_TCP', 64)
|
|
IBV_FLOW_SPEC_UDP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_UDP', 65)
|
|
IBV_FLOW_SPEC_VXLAN_TUNNEL = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_VXLAN_TUNNEL', 80)
|
|
IBV_FLOW_SPEC_GRE = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_GRE', 81)
|
|
IBV_FLOW_SPEC_MPLS = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_MPLS', 96)
|
|
IBV_FLOW_SPEC_INNER = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_INNER', 256)
|
|
IBV_FLOW_SPEC_ACTION_TAG = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_TAG', 4096)
|
|
IBV_FLOW_SPEC_ACTION_DROP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_DROP', 4097)
|
|
IBV_FLOW_SPEC_ACTION_HANDLE = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_HANDLE', 4098)
|
|
IBV_FLOW_SPEC_ACTION_COUNT = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_COUNT', 4099)
|
|
|
|
@c.record
|
|
class struct_ibv_flow_eth_filter(c.Struct):
|
|
SIZE = 16
|
|
dst_mac: Annotated[c.Array[uint8_t, Literal[6]], 0]
|
|
src_mac: Annotated[c.Array[uint8_t, Literal[6]], 6]
|
|
ether_type: Annotated[uint16_t, 12]
|
|
vlan_tag: Annotated[uint16_t, 14]
|
|
@c.record
|
|
class struct_ibv_flow_spec_eth(c.Struct):
|
|
SIZE = 40
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_eth_filter, 6]
|
|
mask: Annotated[struct_ibv_flow_eth_filter, 22]
|
|
@c.record
|
|
class struct_ibv_flow_ipv4_filter(c.Struct):
|
|
SIZE = 8
|
|
src_ip: Annotated[uint32_t, 0]
|
|
dst_ip: Annotated[uint32_t, 4]
|
|
@c.record
|
|
class struct_ibv_flow_spec_ipv4(c.Struct):
|
|
SIZE = 24
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_ipv4_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_ipv4_filter, 16]
|
|
@c.record
|
|
class struct_ibv_flow_ipv4_ext_filter(c.Struct):
|
|
SIZE = 12
|
|
src_ip: Annotated[uint32_t, 0]
|
|
dst_ip: Annotated[uint32_t, 4]
|
|
proto: Annotated[uint8_t, 8]
|
|
tos: Annotated[uint8_t, 9]
|
|
ttl: Annotated[uint8_t, 10]
|
|
flags: Annotated[uint8_t, 11]
|
|
@c.record
|
|
class struct_ibv_flow_spec_ipv4_ext(c.Struct):
|
|
SIZE = 32
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_ipv4_ext_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_ipv4_ext_filter, 20]
|
|
@c.record
|
|
class struct_ibv_flow_ipv6_filter(c.Struct):
|
|
SIZE = 40
|
|
src_ip: Annotated[c.Array[uint8_t, Literal[16]], 0]
|
|
dst_ip: Annotated[c.Array[uint8_t, Literal[16]], 16]
|
|
flow_label: Annotated[uint32_t, 32]
|
|
next_hdr: Annotated[uint8_t, 36]
|
|
traffic_class: Annotated[uint8_t, 37]
|
|
hop_limit: Annotated[uint8_t, 38]
|
|
@c.record
|
|
class struct_ibv_flow_spec_ipv6(c.Struct):
|
|
SIZE = 88
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_ipv6_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_ipv6_filter, 48]
|
|
@c.record
|
|
class struct_ibv_flow_esp_filter(c.Struct):
|
|
SIZE = 8
|
|
spi: Annotated[uint32_t, 0]
|
|
seq: Annotated[uint32_t, 4]
|
|
@c.record
|
|
class struct_ibv_flow_spec_esp(c.Struct):
|
|
SIZE = 24
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_esp_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_esp_filter, 16]
|
|
@c.record
|
|
class struct_ibv_flow_tcp_udp_filter(c.Struct):
|
|
SIZE = 4
|
|
dst_port: Annotated[uint16_t, 0]
|
|
src_port: Annotated[uint16_t, 2]
|
|
@c.record
|
|
class struct_ibv_flow_spec_tcp_udp(c.Struct):
|
|
SIZE = 16
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_tcp_udp_filter, 6]
|
|
mask: Annotated[struct_ibv_flow_tcp_udp_filter, 10]
|
|
@c.record
|
|
class struct_ibv_flow_gre_filter(c.Struct):
|
|
SIZE = 8
|
|
c_ks_res0_ver: Annotated[uint16_t, 0]
|
|
protocol: Annotated[uint16_t, 2]
|
|
key: Annotated[uint32_t, 4]
|
|
@c.record
|
|
class struct_ibv_flow_spec_gre(c.Struct):
|
|
SIZE = 24
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_gre_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_gre_filter, 16]
|
|
@c.record
|
|
class struct_ibv_flow_mpls_filter(c.Struct):
|
|
SIZE = 4
|
|
label: Annotated[uint32_t, 0]
|
|
@c.record
|
|
class struct_ibv_flow_spec_mpls(c.Struct):
|
|
SIZE = 16
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_mpls_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_mpls_filter, 12]
|
|
@c.record
|
|
class struct_ibv_flow_tunnel_filter(c.Struct):
|
|
SIZE = 4
|
|
tunnel_id: Annotated[uint32_t, 0]
|
|
@c.record
|
|
class struct_ibv_flow_spec_tunnel(c.Struct):
|
|
SIZE = 16
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
val: Annotated[struct_ibv_flow_tunnel_filter, 8]
|
|
mask: Annotated[struct_ibv_flow_tunnel_filter, 12]
|
|
@c.record
|
|
class struct_ibv_flow_spec_action_tag(c.Struct):
|
|
SIZE = 12
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
tag_id: Annotated[uint32_t, 8]
|
|
@c.record
|
|
class struct_ibv_flow_spec_action_drop(c.Struct):
|
|
SIZE = 8
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
@c.record
|
|
class struct_ibv_flow_spec_action_handle(c.Struct):
|
|
SIZE = 16
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
action: Annotated[c.POINTER[struct_ibv_flow_action], 8]
|
|
@c.record
|
|
class struct_ibv_flow_action(c.Struct):
|
|
SIZE = 8
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
@c.record
|
|
class struct_ibv_flow_spec_counter_action(c.Struct):
|
|
SIZE = 16
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
counters: Annotated[c.POINTER[struct_ibv_counters], 8]
|
|
@c.record
|
|
class struct_ibv_counters(c.Struct):
|
|
SIZE = 8
|
|
context: Annotated[c.POINTER[struct_ibv_context], 0]
|
|
@c.record
|
|
class struct_ibv_flow_spec(c.Struct):
|
|
SIZE = 88
|
|
hdr: Annotated[struct_ibv_flow_spec_hdr, 0]
|
|
eth: Annotated[struct_ibv_flow_spec_eth, 0]
|
|
ipv4: Annotated[struct_ibv_flow_spec_ipv4, 0]
|
|
tcp_udp: Annotated[struct_ibv_flow_spec_tcp_udp, 0]
|
|
ipv4_ext: Annotated[struct_ibv_flow_spec_ipv4_ext, 0]
|
|
ipv6: Annotated[struct_ibv_flow_spec_ipv6, 0]
|
|
esp: Annotated[struct_ibv_flow_spec_esp, 0]
|
|
tunnel: Annotated[struct_ibv_flow_spec_tunnel, 0]
|
|
gre: Annotated[struct_ibv_flow_spec_gre, 0]
|
|
mpls: Annotated[struct_ibv_flow_spec_mpls, 0]
|
|
flow_tag: Annotated[struct_ibv_flow_spec_action_tag, 0]
|
|
drop: Annotated[struct_ibv_flow_spec_action_drop, 0]
|
|
handle: Annotated[struct_ibv_flow_spec_action_handle, 0]
|
|
flow_count: Annotated[struct_ibv_flow_spec_counter_action, 0]
|
|
@c.record
|
|
class struct_ibv_flow_spec_hdr(c.Struct):
|
|
SIZE = 8
|
|
type: Annotated[enum_ibv_flow_spec_type, 0]
|
|
size: Annotated[uint16_t, 4]
|
|
@c.record
|
|
class struct_ibv_flow_attr(c.Struct):
|
|
SIZE = 20
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
type: Annotated[enum_ibv_flow_attr_type, 4]
|
|
size: Annotated[uint16_t, 8]
|
|
priority: Annotated[uint16_t, 10]
|
|
num_of_specs: Annotated[uint8_t, 12]
|
|
port: Annotated[uint8_t, 13]
|
|
flags: Annotated[uint32_t, 16]
|
|
@c.record
|
|
class struct_ibv_flow(c.Struct):
|
|
SIZE = 24
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
context: Annotated[c.POINTER[struct_ibv_context], 8]
|
|
handle: Annotated[uint32_t, 16]
|
|
class enum_ibv_flow_action_esp_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_FLOW_ACTION_ESP_MASK_ESN = enum_ibv_flow_action_esp_mask.define('IBV_FLOW_ACTION_ESP_MASK_ESN', 1)
|
|
|
|
@c.record
|
|
class struct_ibv_flow_action_esp_attr(c.Struct):
|
|
SIZE = 56
|
|
esp_attr: Annotated[c.POINTER[struct_ib_uverbs_flow_action_esp], 0]
|
|
keymat_proto: Annotated[enum_ib_uverbs_flow_action_esp_keymat, 8]
|
|
keymat_len: Annotated[uint16_t, 12]
|
|
keymat_ptr: Annotated[ctypes.c_void_p, 16]
|
|
replay_proto: Annotated[enum_ib_uverbs_flow_action_esp_replay, 24]
|
|
replay_len: Annotated[uint16_t, 28]
|
|
replay_ptr: Annotated[ctypes.c_void_p, 32]
|
|
esp_encap: Annotated[c.POINTER[struct_ib_uverbs_flow_action_esp_encap], 40]
|
|
comp_mask: Annotated[uint32_t, 48]
|
|
esn: Annotated[uint32_t, 52]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_action_esp(c.Struct):
|
|
SIZE = 24
|
|
spi: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
seq: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
tfc_pad: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
hard_limit_pkts: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
|
__u32: TypeAlias = Annotated[int, ctypes.c_uint32]
|
|
__u64: TypeAlias = Annotated[int, ctypes.c_uint64]
|
|
class enum_ib_uverbs_flow_action_esp_keymat(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM = enum_ib_uverbs_flow_action_esp_keymat.define('IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM', 0)
|
|
|
|
class enum_ib_uverbs_flow_action_esp_replay(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE = enum_ib_uverbs_flow_action_esp_replay.define('IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE', 0)
|
|
IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP = enum_ib_uverbs_flow_action_esp_replay.define('IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP', 1)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_flow_action_esp_encap(c.Struct):
|
|
SIZE = 24
|
|
val_ptr: Annotated[ctypes.c_void_p, 0]
|
|
val_ptr_data_u64: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
next_ptr: Annotated[c.POINTER[struct_ib_uverbs_flow_action_esp_encap], 8]
|
|
next_ptr_data_u64: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
len: Annotated[Annotated[int, ctypes.c_uint16], 16]
|
|
type: Annotated[Annotated[int, ctypes.c_uint16], 18]
|
|
__u16: TypeAlias = Annotated[int, ctypes.c_uint16]
|
|
class _anonenum4(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_SYSFS_NAME_MAX = _anonenum4.define('IBV_SYSFS_NAME_MAX', 64)
|
|
IBV_SYSFS_PATH_MAX = _anonenum4.define('IBV_SYSFS_PATH_MAX', 256)
|
|
|
|
class enum_ibv_cq_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_CQ_INIT_ATTR_MASK_FLAGS = enum_ibv_cq_init_attr_mask.define('IBV_CQ_INIT_ATTR_MASK_FLAGS', 1)
|
|
IBV_CQ_INIT_ATTR_MASK_PD = enum_ibv_cq_init_attr_mask.define('IBV_CQ_INIT_ATTR_MASK_PD', 2)
|
|
|
|
class enum_ibv_create_cq_attr_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_CREATE_CQ_ATTR_SINGLE_THREADED = enum_ibv_create_cq_attr_flags.define('IBV_CREATE_CQ_ATTR_SINGLE_THREADED', 1)
|
|
IBV_CREATE_CQ_ATTR_IGNORE_OVERRUN = enum_ibv_create_cq_attr_flags.define('IBV_CREATE_CQ_ATTR_IGNORE_OVERRUN', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_cq_init_attr_ex(c.Struct):
|
|
SIZE = 56
|
|
cqe: Annotated[uint32_t, 0]
|
|
cq_context: Annotated[ctypes.c_void_p, 8]
|
|
channel: Annotated[c.POINTER[struct_ibv_comp_channel], 16]
|
|
comp_vector: Annotated[uint32_t, 24]
|
|
wc_flags: Annotated[uint64_t, 32]
|
|
comp_mask: Annotated[uint32_t, 40]
|
|
flags: Annotated[uint32_t, 44]
|
|
parent_domain: Annotated[c.POINTER[struct_ibv_pd], 48]
|
|
class enum_ibv_parent_domain_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_PARENT_DOMAIN_INIT_ATTR_ALLOCATORS = enum_ibv_parent_domain_init_attr_mask.define('IBV_PARENT_DOMAIN_INIT_ATTR_ALLOCATORS', 1)
|
|
IBV_PARENT_DOMAIN_INIT_ATTR_PD_CONTEXT = enum_ibv_parent_domain_init_attr_mask.define('IBV_PARENT_DOMAIN_INIT_ATTR_PD_CONTEXT', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_parent_domain_init_attr(c.Struct):
|
|
SIZE = 48
|
|
pd: Annotated[c.POINTER[struct_ibv_pd], 0]
|
|
td: Annotated[c.POINTER[struct_ibv_td], 8]
|
|
comp_mask: Annotated[uint32_t, 16]
|
|
alloc: Annotated[c.CFUNCTYPE[ctypes.c_void_p, [c.POINTER[struct_ibv_pd], ctypes.c_void_p, size_t, size_t, uint64_t]], 24]
|
|
free: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_pd], ctypes.c_void_p, ctypes.c_void_p, uint64_t]], 32]
|
|
pd_context: Annotated[ctypes.c_void_p, 40]
|
|
@c.record
|
|
class struct_ibv_counters_init_attr(c.Struct):
|
|
SIZE = 4
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
class enum_ibv_counter_description(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_COUNTER_PACKETS = enum_ibv_counter_description.define('IBV_COUNTER_PACKETS', 0)
|
|
IBV_COUNTER_BYTES = enum_ibv_counter_description.define('IBV_COUNTER_BYTES', 1)
|
|
|
|
@c.record
|
|
class struct_ibv_counter_attach_attr(c.Struct):
|
|
SIZE = 12
|
|
counter_desc: Annotated[enum_ibv_counter_description, 0]
|
|
index: Annotated[uint32_t, 4]
|
|
comp_mask: Annotated[uint32_t, 8]
|
|
class enum_ibv_read_counters_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_READ_COUNTERS_ATTR_PREFER_CACHED = enum_ibv_read_counters_flags.define('IBV_READ_COUNTERS_ATTR_PREFER_CACHED', 1)
|
|
|
|
class enum_ibv_values_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IBV_VALUES_MASK_RAW_CLOCK = enum_ibv_values_mask.define('IBV_VALUES_MASK_RAW_CLOCK', 1)
|
|
IBV_VALUES_MASK_RESERVED = enum_ibv_values_mask.define('IBV_VALUES_MASK_RESERVED', 2)
|
|
|
|
@c.record
|
|
class struct_ibv_values_ex(c.Struct):
|
|
SIZE = 24
|
|
comp_mask: Annotated[uint32_t, 0]
|
|
raw_clock: Annotated[struct_timespec, 8]
|
|
@c.record
|
|
class struct_timespec(c.Struct):
|
|
SIZE = 16
|
|
tv_sec: Annotated[Annotated[int, ctypes.c_int64], 0]
|
|
tv_nsec: Annotated[Annotated[int, ctypes.c_int64], 8]
|
|
__time_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
|
__syscall_slong_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
|
@c.record
|
|
class struct_verbs_context(c.Struct):
|
|
SIZE = 648
|
|
query_port: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], uint8_t, c.POINTER[struct_ibv_port_attr], size_t]], 0]
|
|
advise_mr: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_pd], enum_ib_uverbs_advise_mr_advice, uint32_t, c.POINTER[struct_ibv_sge], uint32_t]], 8]
|
|
alloc_null_mr: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_mr], [c.POINTER[struct_ibv_pd]]], 16]
|
|
read_counters: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_counters], c.POINTER[uint64_t], uint32_t, uint32_t]], 24]
|
|
attach_counters_point_flow: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_counters], c.POINTER[struct_ibv_counter_attach_attr], c.POINTER[struct_ibv_flow]]], 32]
|
|
create_counters: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_counters], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_counters_init_attr]]], 40]
|
|
destroy_counters: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_counters]]], 48]
|
|
reg_dm_mr: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_mr], [c.POINTER[struct_ibv_pd], c.POINTER[struct_ibv_dm], uint64_t, size_t, Annotated[int, ctypes.c_uint32]]], 56]
|
|
alloc_dm: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_dm], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_alloc_dm_attr]]], 64]
|
|
free_dm: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_dm]]], 72]
|
|
modify_flow_action_esp: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_flow_action], c.POINTER[struct_ibv_flow_action_esp_attr]]], 80]
|
|
destroy_flow_action: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_flow_action]]], 88]
|
|
create_flow_action_esp: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_flow_action], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_flow_action_esp_attr]]], 96]
|
|
modify_qp_rate_limit: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_qp_rate_limit_attr]]], 104]
|
|
alloc_parent_domain: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_pd], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_parent_domain_init_attr]]], 112]
|
|
dealloc_td: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_td]]], 120]
|
|
alloc_td: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_td], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_td_init_attr]]], 128]
|
|
modify_cq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq], c.POINTER[struct_ibv_modify_cq_attr]]], 136]
|
|
post_srq_ops: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_srq], c.POINTER[struct_ibv_ops_wr], c.POINTER[c.POINTER[struct_ibv_ops_wr]]]], 144]
|
|
destroy_rwq_ind_table: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_rwq_ind_table]]], 152]
|
|
create_rwq_ind_table: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_rwq_ind_table], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_rwq_ind_table_init_attr]]], 160]
|
|
destroy_wq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_wq]]], 168]
|
|
modify_wq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_wq], c.POINTER[struct_ibv_wq_attr]]], 176]
|
|
create_wq: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_wq], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_wq_init_attr]]], 184]
|
|
query_rt_values: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_values_ex]]], 192]
|
|
create_cq_ex: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_cq_ex], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_cq_init_attr_ex]]], 200]
|
|
priv: Annotated[c.POINTER[struct_verbs_ex_private], 208]
|
|
query_device_ex: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_query_device_ex_input], c.POINTER[struct_ibv_device_attr_ex], size_t]], 216]
|
|
ibv_destroy_flow: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_flow]]], 224]
|
|
ABI_placeholder2: Annotated[c.CFUNCTYPE[None, []], 232]
|
|
ibv_create_flow: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_flow], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_flow_attr]]], 240]
|
|
ABI_placeholder1: Annotated[c.CFUNCTYPE[None, []], 248]
|
|
open_qp: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_qp], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_qp_open_attr]]], 256]
|
|
create_qp_ex: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_qp], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_qp_init_attr_ex]]], 264]
|
|
get_srq_num: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_srq], c.POINTER[uint32_t]]], 272]
|
|
create_srq_ex: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_srq], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_srq_init_attr_ex]]], 280]
|
|
open_xrcd: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_xrcd], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_xrcd_init_attr]]], 288]
|
|
close_xrcd: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_xrcd]]], 296]
|
|
_ABI_placeholder3: Annotated[uint64_t, 304]
|
|
sz: Annotated[size_t, 312]
|
|
context: Annotated[struct_ibv_context, 320]
|
|
class enum_ib_uverbs_advise_mr_advice(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = enum_ib_uverbs_advise_mr_advice.define('IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH', 0)
|
|
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = enum_ib_uverbs_advise_mr_advice.define('IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE', 1)
|
|
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = enum_ib_uverbs_advise_mr_advice.define('IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT', 2)
|
|
|
|
class struct_verbs_ex_private(ctypes.Structure): pass
|
|
@dll.bind
|
|
def ibv_get_device_list(num_devices:c.POINTER[Annotated[int, ctypes.c_int32]]) -> c.POINTER[c.POINTER[struct_ibv_device]]: ...
|
|
@dll.bind
|
|
def ibv_free_device_list(list:c.POINTER[c.POINTER[struct_ibv_device]]) -> None: ...
|
|
@dll.bind
|
|
def ibv_get_device_name(device:c.POINTER[struct_ibv_device]) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
|
@dll.bind
|
|
def ibv_get_device_index(device:c.POINTER[struct_ibv_device]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_get_device_guid(device:c.POINTER[struct_ibv_device]) -> Annotated[int, ctypes.c_uint64]: ...
|
|
@dll.bind
|
|
def ibv_open_device(device:c.POINTER[struct_ibv_device]) -> c.POINTER[struct_ibv_context]: ...
|
|
@dll.bind
|
|
def ibv_close_device(context:c.POINTER[struct_ibv_context]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_import_device(cmd_fd:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_context]: ...
|
|
@dll.bind
|
|
def ibv_import_pd(context:c.POINTER[struct_ibv_context], pd_handle:uint32_t) -> c.POINTER[struct_ibv_pd]: ...
|
|
@dll.bind
|
|
def ibv_unimport_pd(pd:c.POINTER[struct_ibv_pd]) -> None: ...
|
|
@dll.bind
|
|
def ibv_import_mr(pd:c.POINTER[struct_ibv_pd], mr_handle:uint32_t) -> c.POINTER[struct_ibv_mr]: ...
|
|
@dll.bind
|
|
def ibv_unimport_mr(mr:c.POINTER[struct_ibv_mr]) -> None: ...
|
|
@dll.bind
|
|
def ibv_import_dm(context:c.POINTER[struct_ibv_context], dm_handle:uint32_t) -> c.POINTER[struct_ibv_dm]: ...
|
|
@dll.bind
|
|
def ibv_unimport_dm(dm:c.POINTER[struct_ibv_dm]) -> None: ...
|
|
@dll.bind
|
|
def ibv_get_async_event(context:c.POINTER[struct_ibv_context], event:c.POINTER[struct_ibv_async_event]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_ack_async_event(event:c.POINTER[struct_ibv_async_event]) -> None: ...
|
|
@dll.bind
|
|
def ibv_query_device(context:c.POINTER[struct_ibv_context], device_attr:c.POINTER[struct_ibv_device_attr]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_query_port(context:c.POINTER[struct_ibv_context], port_num:uint8_t, port_attr:c.POINTER[struct__compat_ibv_port_attr]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_query_gid(context:c.POINTER[struct_ibv_context], port_num:uint8_t, index:Annotated[int, ctypes.c_int32], gid:c.POINTER[union_ibv_gid]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def _ibv_query_gid_ex(context:c.POINTER[struct_ibv_context], port_num:uint32_t, gid_index:uint32_t, entry:c.POINTER[struct_ibv_gid_entry], flags:uint32_t, entry_size:size_t) -> Annotated[int, ctypes.c_int32]: ...
|
|
ssize_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
|
@dll.bind
|
|
def _ibv_query_gid_table(context:c.POINTER[struct_ibv_context], entries:c.POINTER[struct_ibv_gid_entry], max_entries:size_t, flags:uint32_t, entry_size:size_t) -> ssize_t: ...
|
|
@dll.bind
|
|
def ibv_query_pkey(context:c.POINTER[struct_ibv_context], port_num:uint8_t, index:Annotated[int, ctypes.c_int32], pkey:c.POINTER[Annotated[int, ctypes.c_uint16]]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_get_pkey_index(context:c.POINTER[struct_ibv_context], port_num:uint8_t, pkey:Annotated[int, ctypes.c_uint16]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_alloc_pd(context:c.POINTER[struct_ibv_context]) -> c.POINTER[struct_ibv_pd]: ...
|
|
@dll.bind
|
|
def ibv_dealloc_pd(pd:c.POINTER[struct_ibv_pd]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_reg_mr_iova2(pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, iova:uint64_t, access:Annotated[int, ctypes.c_uint32]) -> c.POINTER[struct_ibv_mr]: ...
|
|
@dll.bind
|
|
def ibv_reg_mr(pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, access:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_mr]: ...
|
|
@dll.bind
|
|
def ibv_reg_mr_iova(pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, iova:uint64_t, access:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_mr]: ...
|
|
@dll.bind
|
|
def ibv_reg_dmabuf_mr(pd:c.POINTER[struct_ibv_pd], offset:uint64_t, length:size_t, iova:uint64_t, fd:Annotated[int, ctypes.c_int32], access:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_mr]: ...
|
|
class enum_ibv_rereg_mr_err_code(Annotated[int, ctypes.c_int32], c.Enum): pass
|
|
IBV_REREG_MR_ERR_INPUT = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_INPUT', -1)
|
|
IBV_REREG_MR_ERR_DONT_FORK_NEW = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_DONT_FORK_NEW', -2)
|
|
IBV_REREG_MR_ERR_DO_FORK_OLD = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_DO_FORK_OLD', -3)
|
|
IBV_REREG_MR_ERR_CMD = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_CMD', -4)
|
|
IBV_REREG_MR_ERR_CMD_AND_DO_FORK_NEW = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_CMD_AND_DO_FORK_NEW', -5)
|
|
|
|
@dll.bind
|
|
def ibv_rereg_mr(mr:c.POINTER[struct_ibv_mr], flags:Annotated[int, ctypes.c_int32], pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, access:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_dereg_mr(mr:c.POINTER[struct_ibv_mr]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_create_comp_channel(context:c.POINTER[struct_ibv_context]) -> c.POINTER[struct_ibv_comp_channel]: ...
|
|
@dll.bind
|
|
def ibv_destroy_comp_channel(channel:c.POINTER[struct_ibv_comp_channel]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_create_cq(context:c.POINTER[struct_ibv_context], cqe:Annotated[int, ctypes.c_int32], cq_context:ctypes.c_void_p, channel:c.POINTER[struct_ibv_comp_channel], comp_vector:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_cq]: ...
|
|
@dll.bind
|
|
def ibv_resize_cq(cq:c.POINTER[struct_ibv_cq], cqe:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_destroy_cq(cq:c.POINTER[struct_ibv_cq]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_get_cq_event(channel:c.POINTER[struct_ibv_comp_channel], cq:c.POINTER[c.POINTER[struct_ibv_cq]], cq_context:c.POINTER[ctypes.c_void_p]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_ack_cq_events(cq:c.POINTER[struct_ibv_cq], nevents:Annotated[int, ctypes.c_uint32]) -> None: ...
|
|
@dll.bind
|
|
def ibv_create_srq(pd:c.POINTER[struct_ibv_pd], srq_init_attr:c.POINTER[struct_ibv_srq_init_attr]) -> c.POINTER[struct_ibv_srq]: ...
|
|
@dll.bind
|
|
def ibv_modify_srq(srq:c.POINTER[struct_ibv_srq], srq_attr:c.POINTER[struct_ibv_srq_attr], srq_attr_mask:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_query_srq(srq:c.POINTER[struct_ibv_srq], srq_attr:c.POINTER[struct_ibv_srq_attr]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_destroy_srq(srq:c.POINTER[struct_ibv_srq]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_create_qp(pd:c.POINTER[struct_ibv_pd], qp_init_attr:c.POINTER[struct_ibv_qp_init_attr]) -> c.POINTER[struct_ibv_qp]: ...
|
|
@dll.bind
|
|
def ibv_modify_qp(qp:c.POINTER[struct_ibv_qp], attr:c.POINTER[struct_ibv_qp_attr], attr_mask:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_query_qp_data_in_order(qp:c.POINTER[struct_ibv_qp], op:enum_ibv_wr_opcode, flags:uint32_t) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_query_qp(qp:c.POINTER[struct_ibv_qp], attr:c.POINTER[struct_ibv_qp_attr], attr_mask:Annotated[int, ctypes.c_int32], init_attr:c.POINTER[struct_ibv_qp_init_attr]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_destroy_qp(qp:c.POINTER[struct_ibv_qp]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_create_ah(pd:c.POINTER[struct_ibv_pd], attr:c.POINTER[struct_ibv_ah_attr]) -> c.POINTER[struct_ibv_ah]: ...
|
|
@dll.bind
|
|
def ibv_init_ah_from_wc(context:c.POINTER[struct_ibv_context], port_num:uint8_t, wc:c.POINTER[struct_ibv_wc], grh:c.POINTER[struct_ibv_grh], ah_attr:c.POINTER[struct_ibv_ah_attr]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_create_ah_from_wc(pd:c.POINTER[struct_ibv_pd], wc:c.POINTER[struct_ibv_wc], grh:c.POINTER[struct_ibv_grh], port_num:uint8_t) -> c.POINTER[struct_ibv_ah]: ...
|
|
@dll.bind
|
|
def ibv_destroy_ah(ah:c.POINTER[struct_ibv_ah]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_attach_mcast(qp:c.POINTER[struct_ibv_qp], gid:c.POINTER[union_ibv_gid], lid:uint16_t) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_detach_mcast(qp:c.POINTER[struct_ibv_qp], gid:c.POINTER[union_ibv_gid], lid:uint16_t) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_fork_init() -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_is_fork_initialized() -> enum_ibv_fork_status: ...
|
|
@dll.bind
|
|
def ibv_node_type_str(node_type:enum_ibv_node_type) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
|
@dll.bind
|
|
def ibv_port_state_str(port_state:enum_ibv_port_state) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
|
@dll.bind
|
|
def ibv_event_type_str(event:enum_ibv_event_type) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
|
@dll.bind
|
|
def ibv_resolve_eth_l2_from_gid(context:c.POINTER[struct_ibv_context], attr:c.POINTER[struct_ibv_ah_attr], eth_mac:c.Array[uint8_t, Literal[6]], vid:c.POINTER[uint16_t]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_set_ece(qp:c.POINTER[struct_ibv_qp], ece:c.POINTER[struct_ibv_ece]) -> Annotated[int, ctypes.c_int32]: ...
|
|
@dll.bind
|
|
def ibv_query_ece(qp:c.POINTER[struct_ibv_qp], ece:c.POINTER[struct_ibv_ece]) -> Annotated[int, ctypes.c_int32]: ...
|
|
class enum_ib_uverbs_core_support(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_CORE_SUPPORT_OPTIONAL_MR_ACCESS = enum_ib_uverbs_core_support.define('IB_UVERBS_CORE_SUPPORT_OPTIONAL_MR_ACCESS', 1)
|
|
|
|
class enum_ib_uverbs_access_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_ACCESS_LOCAL_WRITE = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_LOCAL_WRITE', 1)
|
|
IB_UVERBS_ACCESS_REMOTE_WRITE = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_REMOTE_WRITE', 2)
|
|
IB_UVERBS_ACCESS_REMOTE_READ = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_REMOTE_READ', 4)
|
|
IB_UVERBS_ACCESS_REMOTE_ATOMIC = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_REMOTE_ATOMIC', 8)
|
|
IB_UVERBS_ACCESS_MW_BIND = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_MW_BIND', 16)
|
|
IB_UVERBS_ACCESS_ZERO_BASED = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_ZERO_BASED', 32)
|
|
IB_UVERBS_ACCESS_ON_DEMAND = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_ON_DEMAND', 64)
|
|
IB_UVERBS_ACCESS_HUGETLB = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_HUGETLB', 128)
|
|
IB_UVERBS_ACCESS_FLUSH_GLOBAL = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_FLUSH_GLOBAL', 256)
|
|
IB_UVERBS_ACCESS_FLUSH_PERSISTENT = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_FLUSH_PERSISTENT', 512)
|
|
IB_UVERBS_ACCESS_RELAXED_ORDERING = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_RELAXED_ORDERING', 1048576)
|
|
IB_UVERBS_ACCESS_OPTIONAL_RANGE = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_OPTIONAL_RANGE', 1072693248)
|
|
|
|
class enum_ib_uverbs_srq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_SRQT_BASIC = enum_ib_uverbs_srq_type.define('IB_UVERBS_SRQT_BASIC', 0)
|
|
IB_UVERBS_SRQT_XRC = enum_ib_uverbs_srq_type.define('IB_UVERBS_SRQT_XRC', 1)
|
|
IB_UVERBS_SRQT_TM = enum_ib_uverbs_srq_type.define('IB_UVERBS_SRQT_TM', 2)
|
|
|
|
class enum_ib_uverbs_wq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_WQT_RQ = enum_ib_uverbs_wq_type.define('IB_UVERBS_WQT_RQ', 0)
|
|
|
|
class enum_ib_uverbs_wq_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING', 1)
|
|
IB_UVERBS_WQ_FLAGS_SCATTER_FCS = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_SCATTER_FCS', 2)
|
|
IB_UVERBS_WQ_FLAGS_DELAY_DROP = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_DELAY_DROP', 4)
|
|
IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING', 8)
|
|
|
|
class enum_ib_uverbs_qp_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_QPT_RC = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_RC', 2)
|
|
IB_UVERBS_QPT_UC = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_UC', 3)
|
|
IB_UVERBS_QPT_UD = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_UD', 4)
|
|
IB_UVERBS_QPT_RAW_PACKET = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_RAW_PACKET', 8)
|
|
IB_UVERBS_QPT_XRC_INI = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_XRC_INI', 9)
|
|
IB_UVERBS_QPT_XRC_TGT = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_XRC_TGT', 10)
|
|
IB_UVERBS_QPT_DRIVER = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_DRIVER', 255)
|
|
|
|
class enum_ib_uverbs_qp_create_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK', 2)
|
|
IB_UVERBS_QP_CREATE_SCATTER_FCS = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_SCATTER_FCS', 256)
|
|
IB_UVERBS_QP_CREATE_CVLAN_STRIPPING = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_CVLAN_STRIPPING', 512)
|
|
IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING', 2048)
|
|
IB_UVERBS_QP_CREATE_SQ_SIG_ALL = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_SQ_SIG_ALL', 4096)
|
|
|
|
class enum_ib_uverbs_query_port_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_PCF_SM = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SM', 2)
|
|
IB_UVERBS_PCF_NOTICE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_NOTICE_SUP', 4)
|
|
IB_UVERBS_PCF_TRAP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_TRAP_SUP', 8)
|
|
IB_UVERBS_PCF_OPT_IPD_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_OPT_IPD_SUP', 16)
|
|
IB_UVERBS_PCF_AUTO_MIGR_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_AUTO_MIGR_SUP', 32)
|
|
IB_UVERBS_PCF_SL_MAP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SL_MAP_SUP', 64)
|
|
IB_UVERBS_PCF_MKEY_NVRAM = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_MKEY_NVRAM', 128)
|
|
IB_UVERBS_PCF_PKEY_NVRAM = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_PKEY_NVRAM', 256)
|
|
IB_UVERBS_PCF_LED_INFO_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_LED_INFO_SUP', 512)
|
|
IB_UVERBS_PCF_SM_DISABLED = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SM_DISABLED', 1024)
|
|
IB_UVERBS_PCF_SYS_IMAGE_GUID_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SYS_IMAGE_GUID_SUP', 2048)
|
|
IB_UVERBS_PCF_PKEY_SW_EXT_PORT_TRAP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_PKEY_SW_EXT_PORT_TRAP_SUP', 4096)
|
|
IB_UVERBS_PCF_EXTENDED_SPEEDS_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_EXTENDED_SPEEDS_SUP', 16384)
|
|
IB_UVERBS_PCF_CM_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_CM_SUP', 65536)
|
|
IB_UVERBS_PCF_SNMP_TUNNEL_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SNMP_TUNNEL_SUP', 131072)
|
|
IB_UVERBS_PCF_REINIT_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_REINIT_SUP', 262144)
|
|
IB_UVERBS_PCF_DEVICE_MGMT_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_DEVICE_MGMT_SUP', 524288)
|
|
IB_UVERBS_PCF_VENDOR_CLASS_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_VENDOR_CLASS_SUP', 1048576)
|
|
IB_UVERBS_PCF_DR_NOTICE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_DR_NOTICE_SUP', 2097152)
|
|
IB_UVERBS_PCF_CAP_MASK_NOTICE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_CAP_MASK_NOTICE_SUP', 4194304)
|
|
IB_UVERBS_PCF_BOOT_MGMT_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_BOOT_MGMT_SUP', 8388608)
|
|
IB_UVERBS_PCF_LINK_LATENCY_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_LINK_LATENCY_SUP', 16777216)
|
|
IB_UVERBS_PCF_CLIENT_REG_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_CLIENT_REG_SUP', 33554432)
|
|
IB_UVERBS_PCF_LINK_SPEED_WIDTH_TABLE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_LINK_SPEED_WIDTH_TABLE_SUP', 134217728)
|
|
IB_UVERBS_PCF_VENDOR_SPECIFIC_MADS_TABLE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_VENDOR_SPECIFIC_MADS_TABLE_SUP', 268435456)
|
|
IB_UVERBS_PCF_MCAST_PKEY_TRAP_SUPPRESSION_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_MCAST_PKEY_TRAP_SUPPRESSION_SUP', 536870912)
|
|
IB_UVERBS_PCF_MCAST_FDB_TOP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_MCAST_FDB_TOP_SUP', 1073741824)
|
|
IB_UVERBS_PCF_HIERARCHY_INFO_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_HIERARCHY_INFO_SUP', 2147483648)
|
|
IB_UVERBS_PCF_IP_BASED_GIDS = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_IP_BASED_GIDS', 67108864)
|
|
|
|
class enum_ib_uverbs_query_port_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_QPF_GRH_REQUIRED = enum_ib_uverbs_query_port_flags.define('IB_UVERBS_QPF_GRH_REQUIRED', 1)
|
|
|
|
class enum_ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ = enum_ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo.define('IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ', 0)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_flow_action_esp_keymat_aes_gcm(c.Struct):
|
|
SIZE = 56
|
|
iv: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
iv_algo: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
salt: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
icv_len: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
key_len: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
aes_key: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[8]], 24]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_action_esp_replay_bmp(c.Struct):
|
|
SIZE = 4
|
|
size: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
class enum_ib_uverbs_flow_action_esp_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO', 0)
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD', 1)
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL', 0)
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT', 2)
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT', 0)
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT', 4)
|
|
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW', 8)
|
|
|
|
class enum_ib_uverbs_read_counters_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_READ_COUNTERS_PREFER_CACHED = enum_ib_uverbs_read_counters_flags.define('IB_UVERBS_READ_COUNTERS_PREFER_CACHED', 1)
|
|
|
|
class enum_ib_uverbs_advise_mr_flag(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_ADVISE_MR_FLAG_FLUSH = enum_ib_uverbs_advise_mr_flag.define('IB_UVERBS_ADVISE_MR_FLAG_FLUSH', 1)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_query_port_resp_ex(c.Struct):
|
|
SIZE = 48
|
|
legacy_resp: Annotated[struct_ib_uverbs_query_port_resp, 0]
|
|
port_cap_flags2: Annotated[Annotated[int, ctypes.c_uint16], 40]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 42]
|
|
active_speed_ex: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
|
@c.record
|
|
class struct_ib_uverbs_query_port_resp(c.Struct):
|
|
SIZE = 40
|
|
port_cap_flags: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
max_msg_sz: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
bad_pkey_cntr: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
qkey_viol_cntr: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
gid_tbl_len: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
pkey_tbl_len: Annotated[Annotated[int, ctypes.c_uint16], 20]
|
|
lid: Annotated[Annotated[int, ctypes.c_uint16], 22]
|
|
sm_lid: Annotated[Annotated[int, ctypes.c_uint16], 24]
|
|
state: Annotated[Annotated[int, ctypes.c_ubyte], 26]
|
|
max_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 27]
|
|
active_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 28]
|
|
lmc: Annotated[Annotated[int, ctypes.c_ubyte], 29]
|
|
max_vl_num: Annotated[Annotated[int, ctypes.c_ubyte], 30]
|
|
sm_sl: Annotated[Annotated[int, ctypes.c_ubyte], 31]
|
|
subnet_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 32]
|
|
init_type_reply: Annotated[Annotated[int, ctypes.c_ubyte], 33]
|
|
active_width: Annotated[Annotated[int, ctypes.c_ubyte], 34]
|
|
active_speed: Annotated[Annotated[int, ctypes.c_ubyte], 35]
|
|
phys_state: Annotated[Annotated[int, ctypes.c_ubyte], 36]
|
|
link_layer: Annotated[Annotated[int, ctypes.c_ubyte], 37]
|
|
flags: Annotated[Annotated[int, ctypes.c_ubyte], 38]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 39]
|
|
__u8: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
|
@c.record
|
|
class struct_ib_uverbs_qp_cap(c.Struct):
|
|
SIZE = 20
|
|
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
class enum_rdma_driver_id(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
RDMA_DRIVER_UNKNOWN = enum_rdma_driver_id.define('RDMA_DRIVER_UNKNOWN', 0)
|
|
RDMA_DRIVER_MLX5 = enum_rdma_driver_id.define('RDMA_DRIVER_MLX5', 1)
|
|
RDMA_DRIVER_MLX4 = enum_rdma_driver_id.define('RDMA_DRIVER_MLX4', 2)
|
|
RDMA_DRIVER_CXGB3 = enum_rdma_driver_id.define('RDMA_DRIVER_CXGB3', 3)
|
|
RDMA_DRIVER_CXGB4 = enum_rdma_driver_id.define('RDMA_DRIVER_CXGB4', 4)
|
|
RDMA_DRIVER_MTHCA = enum_rdma_driver_id.define('RDMA_DRIVER_MTHCA', 5)
|
|
RDMA_DRIVER_BNXT_RE = enum_rdma_driver_id.define('RDMA_DRIVER_BNXT_RE', 6)
|
|
RDMA_DRIVER_OCRDMA = enum_rdma_driver_id.define('RDMA_DRIVER_OCRDMA', 7)
|
|
RDMA_DRIVER_NES = enum_rdma_driver_id.define('RDMA_DRIVER_NES', 8)
|
|
RDMA_DRIVER_I40IW = enum_rdma_driver_id.define('RDMA_DRIVER_I40IW', 9)
|
|
RDMA_DRIVER_IRDMA = enum_rdma_driver_id.define('RDMA_DRIVER_IRDMA', 9)
|
|
RDMA_DRIVER_VMW_PVRDMA = enum_rdma_driver_id.define('RDMA_DRIVER_VMW_PVRDMA', 10)
|
|
RDMA_DRIVER_QEDR = enum_rdma_driver_id.define('RDMA_DRIVER_QEDR', 11)
|
|
RDMA_DRIVER_HNS = enum_rdma_driver_id.define('RDMA_DRIVER_HNS', 12)
|
|
RDMA_DRIVER_USNIC = enum_rdma_driver_id.define('RDMA_DRIVER_USNIC', 13)
|
|
RDMA_DRIVER_RXE = enum_rdma_driver_id.define('RDMA_DRIVER_RXE', 14)
|
|
RDMA_DRIVER_HFI1 = enum_rdma_driver_id.define('RDMA_DRIVER_HFI1', 15)
|
|
RDMA_DRIVER_QIB = enum_rdma_driver_id.define('RDMA_DRIVER_QIB', 16)
|
|
RDMA_DRIVER_EFA = enum_rdma_driver_id.define('RDMA_DRIVER_EFA', 17)
|
|
RDMA_DRIVER_SIW = enum_rdma_driver_id.define('RDMA_DRIVER_SIW', 18)
|
|
RDMA_DRIVER_ERDMA = enum_rdma_driver_id.define('RDMA_DRIVER_ERDMA', 19)
|
|
RDMA_DRIVER_MANA = enum_rdma_driver_id.define('RDMA_DRIVER_MANA', 20)
|
|
|
|
class enum_ib_uverbs_gid_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_GID_TYPE_IB = enum_ib_uverbs_gid_type.define('IB_UVERBS_GID_TYPE_IB', 0)
|
|
IB_UVERBS_GID_TYPE_ROCE_V1 = enum_ib_uverbs_gid_type.define('IB_UVERBS_GID_TYPE_ROCE_V1', 1)
|
|
IB_UVERBS_GID_TYPE_ROCE_V2 = enum_ib_uverbs_gid_type.define('IB_UVERBS_GID_TYPE_ROCE_V2', 2)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_gid_entry(c.Struct):
|
|
SIZE = 32
|
|
gid: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 0]
|
|
gid_index: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
port_num: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
gid_type: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
netdev_ifindex: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
class enum_ib_uverbs_write_cmds(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_USER_VERBS_CMD_GET_CONTEXT = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_GET_CONTEXT', 0)
|
|
IB_USER_VERBS_CMD_QUERY_DEVICE = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_DEVICE', 1)
|
|
IB_USER_VERBS_CMD_QUERY_PORT = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_PORT', 2)
|
|
IB_USER_VERBS_CMD_ALLOC_PD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_ALLOC_PD', 3)
|
|
IB_USER_VERBS_CMD_DEALLOC_PD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DEALLOC_PD', 4)
|
|
IB_USER_VERBS_CMD_CREATE_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_AH', 5)
|
|
IB_USER_VERBS_CMD_MODIFY_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_MODIFY_AH', 6)
|
|
IB_USER_VERBS_CMD_QUERY_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_AH', 7)
|
|
IB_USER_VERBS_CMD_DESTROY_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_AH', 8)
|
|
IB_USER_VERBS_CMD_REG_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REG_MR', 9)
|
|
IB_USER_VERBS_CMD_REG_SMR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REG_SMR', 10)
|
|
IB_USER_VERBS_CMD_REREG_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REREG_MR', 11)
|
|
IB_USER_VERBS_CMD_QUERY_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_MR', 12)
|
|
IB_USER_VERBS_CMD_DEREG_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DEREG_MR', 13)
|
|
IB_USER_VERBS_CMD_ALLOC_MW = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_ALLOC_MW', 14)
|
|
IB_USER_VERBS_CMD_BIND_MW = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_BIND_MW', 15)
|
|
IB_USER_VERBS_CMD_DEALLOC_MW = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DEALLOC_MW', 16)
|
|
IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL', 17)
|
|
IB_USER_VERBS_CMD_CREATE_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_CQ', 18)
|
|
IB_USER_VERBS_CMD_RESIZE_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_RESIZE_CQ', 19)
|
|
IB_USER_VERBS_CMD_DESTROY_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_CQ', 20)
|
|
IB_USER_VERBS_CMD_POLL_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POLL_CQ', 21)
|
|
IB_USER_VERBS_CMD_PEEK_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_PEEK_CQ', 22)
|
|
IB_USER_VERBS_CMD_REQ_NOTIFY_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REQ_NOTIFY_CQ', 23)
|
|
IB_USER_VERBS_CMD_CREATE_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_QP', 24)
|
|
IB_USER_VERBS_CMD_QUERY_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_QP', 25)
|
|
IB_USER_VERBS_CMD_MODIFY_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_MODIFY_QP', 26)
|
|
IB_USER_VERBS_CMD_DESTROY_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_QP', 27)
|
|
IB_USER_VERBS_CMD_POST_SEND = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POST_SEND', 28)
|
|
IB_USER_VERBS_CMD_POST_RECV = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POST_RECV', 29)
|
|
IB_USER_VERBS_CMD_ATTACH_MCAST = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_ATTACH_MCAST', 30)
|
|
IB_USER_VERBS_CMD_DETACH_MCAST = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DETACH_MCAST', 31)
|
|
IB_USER_VERBS_CMD_CREATE_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_SRQ', 32)
|
|
IB_USER_VERBS_CMD_MODIFY_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_MODIFY_SRQ', 33)
|
|
IB_USER_VERBS_CMD_QUERY_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_SRQ', 34)
|
|
IB_USER_VERBS_CMD_DESTROY_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_SRQ', 35)
|
|
IB_USER_VERBS_CMD_POST_SRQ_RECV = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POST_SRQ_RECV', 36)
|
|
IB_USER_VERBS_CMD_OPEN_XRCD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_OPEN_XRCD', 37)
|
|
IB_USER_VERBS_CMD_CLOSE_XRCD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CLOSE_XRCD', 38)
|
|
IB_USER_VERBS_CMD_CREATE_XSRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_XSRQ', 39)
|
|
IB_USER_VERBS_CMD_OPEN_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_OPEN_QP', 40)
|
|
|
|
class _anonenum5(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_USER_VERBS_EX_CMD_QUERY_DEVICE = _anonenum5.define('IB_USER_VERBS_EX_CMD_QUERY_DEVICE', 1)
|
|
IB_USER_VERBS_EX_CMD_CREATE_CQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_CQ', 18)
|
|
IB_USER_VERBS_EX_CMD_CREATE_QP = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_QP', 24)
|
|
IB_USER_VERBS_EX_CMD_MODIFY_QP = _anonenum5.define('IB_USER_VERBS_EX_CMD_MODIFY_QP', 26)
|
|
IB_USER_VERBS_EX_CMD_CREATE_FLOW = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_FLOW', 50)
|
|
IB_USER_VERBS_EX_CMD_DESTROY_FLOW = _anonenum5.define('IB_USER_VERBS_EX_CMD_DESTROY_FLOW', 51)
|
|
IB_USER_VERBS_EX_CMD_CREATE_WQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_WQ', 52)
|
|
IB_USER_VERBS_EX_CMD_MODIFY_WQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_MODIFY_WQ', 53)
|
|
IB_USER_VERBS_EX_CMD_DESTROY_WQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_DESTROY_WQ', 54)
|
|
IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL', 55)
|
|
IB_USER_VERBS_EX_CMD_DESTROY_RWQ_IND_TBL = _anonenum5.define('IB_USER_VERBS_EX_CMD_DESTROY_RWQ_IND_TBL', 56)
|
|
IB_USER_VERBS_EX_CMD_MODIFY_CQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_MODIFY_CQ', 57)
|
|
|
|
class enum_ib_placement_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_FLUSH_GLOBAL = enum_ib_placement_type.define('IB_FLUSH_GLOBAL', 1)
|
|
IB_FLUSH_PERSISTENT = enum_ib_placement_type.define('IB_FLUSH_PERSISTENT', 2)
|
|
|
|
class enum_ib_selectivity_level(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_FLUSH_RANGE = enum_ib_selectivity_level.define('IB_FLUSH_RANGE', 0)
|
|
IB_FLUSH_MR = enum_ib_selectivity_level.define('IB_FLUSH_MR', 1)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_async_event_desc(c.Struct):
|
|
SIZE = 16
|
|
element: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
event_type: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_comp_event_desc(c.Struct):
|
|
SIZE = 8
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_cq_moderation_caps(c.Struct):
|
|
SIZE = 8
|
|
max_cq_moderation_count: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
|
max_cq_moderation_period: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_cmd_hdr(c.Struct):
|
|
SIZE = 8
|
|
command: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
in_words: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
out_words: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_cmd_hdr(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
provider_in_words: Annotated[Annotated[int, ctypes.c_uint16], 8]
|
|
provider_out_words: Annotated[Annotated[int, ctypes.c_uint16], 10]
|
|
cmd_hdr_reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_get_context(c.Struct):
|
|
SIZE = 8
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_get_context_resp(c.Struct):
|
|
SIZE = 8
|
|
async_fd: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
num_comp_vectors: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_query_device(c.Struct):
|
|
SIZE = 8
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_query_device_resp(c.Struct):
|
|
SIZE = 176
|
|
fw_ver: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
node_guid: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
sys_image_guid: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
|
max_mr_size: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
|
page_size_cap: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
|
vendor_id: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
|
vendor_part_id: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
|
hw_ver: Annotated[Annotated[int, ctypes.c_uint32], 48]
|
|
max_qp: Annotated[Annotated[int, ctypes.c_uint32], 52]
|
|
max_qp_wr: Annotated[Annotated[int, ctypes.c_uint32], 56]
|
|
device_cap_flags: Annotated[Annotated[int, ctypes.c_uint32], 60]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
|
max_sge_rd: Annotated[Annotated[int, ctypes.c_uint32], 68]
|
|
max_cq: Annotated[Annotated[int, ctypes.c_uint32], 72]
|
|
max_cqe: Annotated[Annotated[int, ctypes.c_uint32], 76]
|
|
max_mr: Annotated[Annotated[int, ctypes.c_uint32], 80]
|
|
max_pd: Annotated[Annotated[int, ctypes.c_uint32], 84]
|
|
max_qp_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 88]
|
|
max_ee_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 92]
|
|
max_res_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 96]
|
|
max_qp_init_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 100]
|
|
max_ee_init_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 104]
|
|
atomic_cap: Annotated[Annotated[int, ctypes.c_uint32], 108]
|
|
max_ee: Annotated[Annotated[int, ctypes.c_uint32], 112]
|
|
max_rdd: Annotated[Annotated[int, ctypes.c_uint32], 116]
|
|
max_mw: Annotated[Annotated[int, ctypes.c_uint32], 120]
|
|
max_raw_ipv6_qp: Annotated[Annotated[int, ctypes.c_uint32], 124]
|
|
max_raw_ethy_qp: Annotated[Annotated[int, ctypes.c_uint32], 128]
|
|
max_mcast_grp: Annotated[Annotated[int, ctypes.c_uint32], 132]
|
|
max_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_uint32], 136]
|
|
max_total_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_uint32], 140]
|
|
max_ah: Annotated[Annotated[int, ctypes.c_uint32], 144]
|
|
max_fmr: Annotated[Annotated[int, ctypes.c_uint32], 148]
|
|
max_map_per_fmr: Annotated[Annotated[int, ctypes.c_uint32], 152]
|
|
max_srq: Annotated[Annotated[int, ctypes.c_uint32], 156]
|
|
max_srq_wr: Annotated[Annotated[int, ctypes.c_uint32], 160]
|
|
max_srq_sge: Annotated[Annotated[int, ctypes.c_uint32], 164]
|
|
max_pkeys: Annotated[Annotated[int, ctypes.c_uint16], 168]
|
|
local_ca_ack_delay: Annotated[Annotated[int, ctypes.c_ubyte], 170]
|
|
phys_port_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 171]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[4]], 172]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_query_device(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_odp_caps(c.Struct):
|
|
SIZE = 24
|
|
general_caps: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
per_transport_caps: Annotated[struct_ib_uverbs_odp_caps_per_transport_caps, 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
@c.record
|
|
class struct_ib_uverbs_odp_caps_per_transport_caps(c.Struct):
|
|
SIZE = 12
|
|
rc_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
uc_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
ud_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_rss_caps(c.Struct):
|
|
SIZE = 16
|
|
supported_qpts: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
max_rwq_indirection_tables: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
max_rwq_indirection_table_size: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_tm_caps(c.Struct):
|
|
SIZE = 24
|
|
max_rndv_hdr_size: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
max_num_tags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
max_ops: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_query_device_resp(c.Struct):
|
|
SIZE = 304
|
|
base: Annotated[struct_ib_uverbs_query_device_resp, 0]
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 176]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 180]
|
|
odp_caps: Annotated[struct_ib_uverbs_odp_caps, 184]
|
|
timestamp_mask: Annotated[Annotated[int, ctypes.c_uint64], 208]
|
|
hca_core_clock: Annotated[Annotated[int, ctypes.c_uint64], 216]
|
|
device_cap_flags_ex: Annotated[Annotated[int, ctypes.c_uint64], 224]
|
|
rss_caps: Annotated[struct_ib_uverbs_rss_caps, 232]
|
|
max_wq_type_rq: Annotated[Annotated[int, ctypes.c_uint32], 248]
|
|
raw_packet_caps: Annotated[Annotated[int, ctypes.c_uint32], 252]
|
|
tm_caps: Annotated[struct_ib_uverbs_tm_caps, 256]
|
|
cq_moderation_caps: Annotated[struct_ib_uverbs_cq_moderation_caps, 280]
|
|
max_dm_size: Annotated[Annotated[int, ctypes.c_uint64], 288]
|
|
xrc_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 296]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 300]
|
|
@c.record
|
|
class struct_ib_uverbs_query_port(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 8]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[7]], 9]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_alloc_pd(c.Struct):
|
|
SIZE = 8
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_alloc_pd_resp(c.Struct):
|
|
SIZE = 4
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_dealloc_pd(c.Struct):
|
|
SIZE = 4
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_open_xrcd(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
fd: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
oflags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_open_xrcd_resp(c.Struct):
|
|
SIZE = 4
|
|
xrcd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_close_xrcd(c.Struct):
|
|
SIZE = 4
|
|
xrcd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_reg_mr(c.Struct):
|
|
SIZE = 40
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
start: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
length: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
|
hca_va: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
access_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 40]
|
|
@c.record
|
|
class struct_ib_uverbs_reg_mr_resp(c.Struct):
|
|
SIZE = 12
|
|
mr_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
lkey: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
rkey: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_rereg_mr(c.Struct):
|
|
SIZE = 48
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
mr_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
start: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
|
length: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
|
hca_va: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
|
access_flags: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 48]
|
|
@c.record
|
|
class struct_ib_uverbs_rereg_mr_resp(c.Struct):
|
|
SIZE = 8
|
|
lkey: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
rkey: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_dereg_mr(c.Struct):
|
|
SIZE = 4
|
|
mr_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_alloc_mw(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
mw_type: Annotated[Annotated[int, ctypes.c_ubyte], 12]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[3]], 13]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_alloc_mw_resp(c.Struct):
|
|
SIZE = 8
|
|
mw_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
rkey: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_dealloc_mw(c.Struct):
|
|
SIZE = 4
|
|
mw_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_create_comp_channel(c.Struct):
|
|
SIZE = 8
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_create_comp_channel_resp(c.Struct):
|
|
SIZE = 4
|
|
fd: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_create_cq(c.Struct):
|
|
SIZE = 32
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
cqe: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
comp_vector: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
comp_channel: Annotated[Annotated[int, ctypes.c_int32], 24]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 32]
|
|
__s32: TypeAlias = Annotated[int, ctypes.c_int32]
|
|
class enum_ib_uverbs_ex_create_cq_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION = enum_ib_uverbs_ex_create_cq_flags.define('IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION', 1)
|
|
IB_UVERBS_CQ_FLAGS_IGNORE_OVERRUN = enum_ib_uverbs_ex_create_cq_flags.define('IB_UVERBS_CQ_FLAGS_IGNORE_OVERRUN', 2)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_cq(c.Struct):
|
|
SIZE = 32
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
cqe: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
comp_vector: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
comp_channel: Annotated[Annotated[int, ctypes.c_int32], 16]
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
@c.record
|
|
class struct_ib_uverbs_create_cq_resp(c.Struct):
|
|
SIZE = 8
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
cqe: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_cq_resp(c.Struct):
|
|
SIZE = 16
|
|
base: Annotated[struct_ib_uverbs_create_cq_resp, 0]
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_resize_cq(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
cqe: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_resize_cq_resp(c.Struct):
|
|
SIZE = 8
|
|
cqe: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_poll_cq(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
ne: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
class enum_ib_uverbs_wc_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_WC_SEND = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_SEND', 0)
|
|
IB_UVERBS_WC_RDMA_WRITE = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_RDMA_WRITE', 1)
|
|
IB_UVERBS_WC_RDMA_READ = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_RDMA_READ', 2)
|
|
IB_UVERBS_WC_COMP_SWAP = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_COMP_SWAP', 3)
|
|
IB_UVERBS_WC_FETCH_ADD = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_FETCH_ADD', 4)
|
|
IB_UVERBS_WC_BIND_MW = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_BIND_MW', 5)
|
|
IB_UVERBS_WC_LOCAL_INV = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_LOCAL_INV', 6)
|
|
IB_UVERBS_WC_TSO = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_TSO', 7)
|
|
IB_UVERBS_WC_FLUSH = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_FLUSH', 8)
|
|
IB_UVERBS_WC_ATOMIC_WRITE = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_ATOMIC_WRITE', 9)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_wc(c.Struct):
|
|
SIZE = 48
|
|
wr_id: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
status: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
opcode: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
vendor_err: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
byte_len: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
ex: Annotated[struct_ib_uverbs_wc_ex, 24]
|
|
qp_num: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
src_qp: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
wc_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 40]
|
|
slid: Annotated[Annotated[int, ctypes.c_uint16], 42]
|
|
sl: Annotated[Annotated[int, ctypes.c_ubyte], 44]
|
|
dlid_path_bits: Annotated[Annotated[int, ctypes.c_ubyte], 45]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 46]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 47]
|
|
@c.record
|
|
class struct_ib_uverbs_wc_ex(c.Struct):
|
|
SIZE = 4
|
|
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
invalidate_rkey: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_poll_cq_resp(c.Struct):
|
|
SIZE = 8
|
|
count: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
wc: Annotated[c.Array[struct_ib_uverbs_wc, Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_req_notify_cq(c.Struct):
|
|
SIZE = 8
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
solicited_only: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_cq(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_cq_resp(c.Struct):
|
|
SIZE = 8
|
|
comp_events_reported: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
async_events_reported: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_global_route(c.Struct):
|
|
SIZE = 24
|
|
dgid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
|
|
flow_label: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
sgid_index: Annotated[Annotated[int, ctypes.c_ubyte], 20]
|
|
hop_limit: Annotated[Annotated[int, ctypes.c_ubyte], 21]
|
|
traffic_class: Annotated[Annotated[int, ctypes.c_ubyte], 22]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 23]
|
|
@c.record
|
|
class struct_ib_uverbs_ah_attr(c.Struct):
|
|
SIZE = 32
|
|
grh: Annotated[struct_ib_uverbs_global_route, 0]
|
|
dlid: Annotated[Annotated[int, ctypes.c_uint16], 24]
|
|
sl: Annotated[Annotated[int, ctypes.c_ubyte], 26]
|
|
src_path_bits: Annotated[Annotated[int, ctypes.c_ubyte], 27]
|
|
static_rate: Annotated[Annotated[int, ctypes.c_ubyte], 28]
|
|
is_global: Annotated[Annotated[int, ctypes.c_ubyte], 29]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 30]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 31]
|
|
@c.record
|
|
class struct_ib_uverbs_qp_attr(c.Struct):
|
|
SIZE = 144
|
|
qp_attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
qp_state: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
cur_qp_state: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
path_mtu: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
path_mig_state: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
qkey: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
rq_psn: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
sq_psn: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
dest_qp_num: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
ah_attr: Annotated[struct_ib_uverbs_ah_attr, 40]
|
|
alt_ah_attr: Annotated[struct_ib_uverbs_ah_attr, 72]
|
|
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 104]
|
|
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 108]
|
|
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 112]
|
|
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 116]
|
|
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 120]
|
|
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 124]
|
|
alt_pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 126]
|
|
en_sqd_async_notify: Annotated[Annotated[int, ctypes.c_ubyte], 128]
|
|
sq_draining: Annotated[Annotated[int, ctypes.c_ubyte], 129]
|
|
max_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 130]
|
|
max_dest_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 131]
|
|
min_rnr_timer: Annotated[Annotated[int, ctypes.c_ubyte], 132]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 133]
|
|
timeout: Annotated[Annotated[int, ctypes.c_ubyte], 134]
|
|
retry_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 135]
|
|
rnr_retry: Annotated[Annotated[int, ctypes.c_ubyte], 136]
|
|
alt_port_num: Annotated[Annotated[int, ctypes.c_ubyte], 137]
|
|
alt_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 138]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[5]], 139]
|
|
@c.record
|
|
class struct_ib_uverbs_create_qp(c.Struct):
|
|
SIZE = 56
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
send_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
recv_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
|
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
|
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 48]
|
|
sq_sig_all: Annotated[Annotated[int, ctypes.c_ubyte], 52]
|
|
qp_type: Annotated[Annotated[int, ctypes.c_ubyte], 53]
|
|
is_srq: Annotated[Annotated[int, ctypes.c_ubyte], 54]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 55]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 56]
|
|
class enum_ib_uverbs_create_qp_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_CREATE_QP_MASK_IND_TABLE = enum_ib_uverbs_create_qp_mask.define('IB_UVERBS_CREATE_QP_MASK_IND_TABLE', 1)
|
|
|
|
class _anonenum6(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_CREATE_QP_SUP_COMP_MASK = _anonenum6.define('IB_UVERBS_CREATE_QP_SUP_COMP_MASK', 1)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_qp(c.Struct):
|
|
SIZE = 64
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
send_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
recv_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
|
sq_sig_all: Annotated[Annotated[int, ctypes.c_ubyte], 44]
|
|
qp_type: Annotated[Annotated[int, ctypes.c_ubyte], 45]
|
|
is_srq: Annotated[Annotated[int, ctypes.c_ubyte], 46]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 47]
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 48]
|
|
create_flags: Annotated[Annotated[int, ctypes.c_uint32], 52]
|
|
rwq_ind_tbl_handle: Annotated[Annotated[int, ctypes.c_uint32], 56]
|
|
source_qpn: Annotated[Annotated[int, ctypes.c_uint32], 60]
|
|
@c.record
|
|
class struct_ib_uverbs_open_qp(c.Struct):
|
|
SIZE = 32
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
qpn: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
qp_type: Annotated[Annotated[int, ctypes.c_ubyte], 24]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[7]], 25]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 32]
|
|
@c.record
|
|
class struct_ib_uverbs_create_qp_resp(c.Struct):
|
|
SIZE = 32
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
qpn: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 32]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_qp_resp(c.Struct):
|
|
SIZE = 40
|
|
base: Annotated[struct_ib_uverbs_create_qp_resp, 0]
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
@c.record
|
|
class struct_ib_uverbs_qp_dest(c.Struct):
|
|
SIZE = 32
|
|
dgid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
|
|
flow_label: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
dlid: Annotated[Annotated[int, ctypes.c_uint16], 20]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 22]
|
|
sgid_index: Annotated[Annotated[int, ctypes.c_ubyte], 24]
|
|
hop_limit: Annotated[Annotated[int, ctypes.c_ubyte], 25]
|
|
traffic_class: Annotated[Annotated[int, ctypes.c_ubyte], 26]
|
|
sl: Annotated[Annotated[int, ctypes.c_ubyte], 27]
|
|
src_path_bits: Annotated[Annotated[int, ctypes.c_ubyte], 28]
|
|
static_rate: Annotated[Annotated[int, ctypes.c_ubyte], 29]
|
|
is_global: Annotated[Annotated[int, ctypes.c_ubyte], 30]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 31]
|
|
@c.record
|
|
class struct_ib_uverbs_query_qp(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_query_qp_resp(c.Struct):
|
|
SIZE = 128
|
|
dest: Annotated[struct_ib_uverbs_qp_dest, 0]
|
|
alt_dest: Annotated[struct_ib_uverbs_qp_dest, 32]
|
|
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
|
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 68]
|
|
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 72]
|
|
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 76]
|
|
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 80]
|
|
qkey: Annotated[Annotated[int, ctypes.c_uint32], 84]
|
|
rq_psn: Annotated[Annotated[int, ctypes.c_uint32], 88]
|
|
sq_psn: Annotated[Annotated[int, ctypes.c_uint32], 92]
|
|
dest_qp_num: Annotated[Annotated[int, ctypes.c_uint32], 96]
|
|
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 100]
|
|
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 104]
|
|
alt_pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 106]
|
|
qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 108]
|
|
cur_qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 109]
|
|
path_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 110]
|
|
path_mig_state: Annotated[Annotated[int, ctypes.c_ubyte], 111]
|
|
sq_draining: Annotated[Annotated[int, ctypes.c_ubyte], 112]
|
|
max_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 113]
|
|
max_dest_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 114]
|
|
min_rnr_timer: Annotated[Annotated[int, ctypes.c_ubyte], 115]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 116]
|
|
timeout: Annotated[Annotated[int, ctypes.c_ubyte], 117]
|
|
retry_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 118]
|
|
rnr_retry: Annotated[Annotated[int, ctypes.c_ubyte], 119]
|
|
alt_port_num: Annotated[Annotated[int, ctypes.c_ubyte], 120]
|
|
alt_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 121]
|
|
sq_sig_all: Annotated[Annotated[int, ctypes.c_ubyte], 122]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[5]], 123]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 128]
|
|
@c.record
|
|
class struct_ib_uverbs_modify_qp(c.Struct):
|
|
SIZE = 112
|
|
dest: Annotated[struct_ib_uverbs_qp_dest, 0]
|
|
alt_dest: Annotated[struct_ib_uverbs_qp_dest, 32]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
|
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 68]
|
|
qkey: Annotated[Annotated[int, ctypes.c_uint32], 72]
|
|
rq_psn: Annotated[Annotated[int, ctypes.c_uint32], 76]
|
|
sq_psn: Annotated[Annotated[int, ctypes.c_uint32], 80]
|
|
dest_qp_num: Annotated[Annotated[int, ctypes.c_uint32], 84]
|
|
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 88]
|
|
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 92]
|
|
alt_pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 94]
|
|
qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 96]
|
|
cur_qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 97]
|
|
path_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 98]
|
|
path_mig_state: Annotated[Annotated[int, ctypes.c_ubyte], 99]
|
|
en_sqd_async_notify: Annotated[Annotated[int, ctypes.c_ubyte], 100]
|
|
max_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 101]
|
|
max_dest_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 102]
|
|
min_rnr_timer: Annotated[Annotated[int, ctypes.c_ubyte], 103]
|
|
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 104]
|
|
timeout: Annotated[Annotated[int, ctypes.c_ubyte], 105]
|
|
retry_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 106]
|
|
rnr_retry: Annotated[Annotated[int, ctypes.c_ubyte], 107]
|
|
alt_port_num: Annotated[Annotated[int, ctypes.c_ubyte], 108]
|
|
alt_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 109]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 110]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 112]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_modify_qp(c.Struct):
|
|
SIZE = 120
|
|
base: Annotated[struct_ib_uverbs_modify_qp, 0]
|
|
rate_limit: Annotated[Annotated[int, ctypes.c_uint32], 112]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 116]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_modify_qp_resp(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_qp(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_qp_resp(c.Struct):
|
|
SIZE = 4
|
|
events_reported: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_sge(c.Struct):
|
|
SIZE = 16
|
|
addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
length: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
lkey: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
class enum_ib_uverbs_wr_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_WR_RDMA_WRITE = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_WRITE', 0)
|
|
IB_UVERBS_WR_RDMA_WRITE_WITH_IMM = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_WRITE_WITH_IMM', 1)
|
|
IB_UVERBS_WR_SEND = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_SEND', 2)
|
|
IB_UVERBS_WR_SEND_WITH_IMM = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_SEND_WITH_IMM', 3)
|
|
IB_UVERBS_WR_RDMA_READ = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_READ', 4)
|
|
IB_UVERBS_WR_ATOMIC_CMP_AND_SWP = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_ATOMIC_CMP_AND_SWP', 5)
|
|
IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD', 6)
|
|
IB_UVERBS_WR_LOCAL_INV = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_LOCAL_INV', 7)
|
|
IB_UVERBS_WR_BIND_MW = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_BIND_MW', 8)
|
|
IB_UVERBS_WR_SEND_WITH_INV = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_SEND_WITH_INV', 9)
|
|
IB_UVERBS_WR_TSO = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_TSO', 10)
|
|
IB_UVERBS_WR_RDMA_READ_WITH_INV = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_READ_WITH_INV', 11)
|
|
IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP', 12)
|
|
IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD', 13)
|
|
IB_UVERBS_WR_FLUSH = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_FLUSH', 14)
|
|
IB_UVERBS_WR_ATOMIC_WRITE = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_ATOMIC_WRITE', 15)
|
|
|
|
@c.record
|
|
class struct_ib_uverbs_send_wr(c.Struct):
|
|
SIZE = 56
|
|
wr_id: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
num_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
opcode: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
send_flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
ex: Annotated[struct_ib_uverbs_send_wr_ex, 20]
|
|
wr: Annotated[struct_ib_uverbs_send_wr_wr, 24]
|
|
@c.record
|
|
class struct_ib_uverbs_send_wr_ex(c.Struct):
|
|
SIZE = 4
|
|
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
invalidate_rkey: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_send_wr_wr(c.Struct):
|
|
SIZE = 32
|
|
rdma: Annotated[struct_ib_uverbs_send_wr_wr_rdma, 0]
|
|
atomic: Annotated[struct_ib_uverbs_send_wr_wr_atomic, 0]
|
|
ud: Annotated[struct_ib_uverbs_send_wr_wr_ud, 0]
|
|
@c.record
|
|
class struct_ib_uverbs_send_wr_wr_rdma(c.Struct):
|
|
SIZE = 16
|
|
remote_addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
rkey: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_send_wr_wr_atomic(c.Struct):
|
|
SIZE = 32
|
|
remote_addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
compare_add: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
swap: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
|
rkey: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
@c.record
|
|
class struct_ib_uverbs_send_wr_wr_ud(c.Struct):
|
|
SIZE = 16
|
|
ah: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
remote_qpn: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
remote_qkey: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_post_send(c.Struct):
|
|
SIZE = 24
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
wr_count: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
sge_count: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
wqe_size: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
send_wr: Annotated[c.Array[struct_ib_uverbs_send_wr, Literal[0]], 24]
|
|
@c.record
|
|
class struct_ib_uverbs_post_send_resp(c.Struct):
|
|
SIZE = 4
|
|
bad_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_recv_wr(c.Struct):
|
|
SIZE = 16
|
|
wr_id: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
num_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_post_recv(c.Struct):
|
|
SIZE = 24
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
wr_count: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
sge_count: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
wqe_size: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
recv_wr: Annotated[c.Array[struct_ib_uverbs_recv_wr, Literal[0]], 24]
|
|
@c.record
|
|
class struct_ib_uverbs_post_recv_resp(c.Struct):
|
|
SIZE = 4
|
|
bad_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_post_srq_recv(c.Struct):
|
|
SIZE = 24
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
wr_count: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
sge_count: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
wqe_size: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
recv: Annotated[c.Array[struct_ib_uverbs_recv_wr, Literal[0]], 24]
|
|
@c.record
|
|
class struct_ib_uverbs_post_srq_recv_resp(c.Struct):
|
|
SIZE = 4
|
|
bad_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_create_ah(c.Struct):
|
|
SIZE = 56
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
attr: Annotated[struct_ib_uverbs_ah_attr, 24]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 56]
|
|
@c.record
|
|
class struct_ib_uverbs_create_ah_resp(c.Struct):
|
|
SIZE = 4
|
|
ah_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_ah(c.Struct):
|
|
SIZE = 4
|
|
ah_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_attach_mcast(c.Struct):
|
|
SIZE = 24
|
|
gid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
mlid: Annotated[Annotated[int, ctypes.c_uint16], 20]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 22]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 24]
|
|
@c.record
|
|
class struct_ib_uverbs_detach_mcast(c.Struct):
|
|
SIZE = 24
|
|
gid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
mlid: Annotated[Annotated[int, ctypes.c_uint16], 20]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 22]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 24]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_hdr(c.Struct):
|
|
SIZE = 8
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
flow_spec_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_eth_filter(c.Struct):
|
|
SIZE = 16
|
|
dst_mac: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[6]], 0]
|
|
src_mac: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[6]], 6]
|
|
ether_type: Annotated[Annotated[int, ctypes.c_uint16], 12]
|
|
vlan_tag: Annotated[Annotated[int, ctypes.c_uint16], 14]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_eth(c.Struct):
|
|
SIZE = 40
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_eth_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_eth_filter, 24]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_ipv4_filter(c.Struct):
|
|
SIZE = 12
|
|
src_ip: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
dst_ip: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
proto: Annotated[Annotated[int, ctypes.c_ubyte], 8]
|
|
tos: Annotated[Annotated[int, ctypes.c_ubyte], 9]
|
|
ttl: Annotated[Annotated[int, ctypes.c_ubyte], 10]
|
|
flags: Annotated[Annotated[int, ctypes.c_ubyte], 11]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_ipv4(c.Struct):
|
|
SIZE = 32
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_ipv4_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_ipv4_filter, 20]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_tcp_udp_filter(c.Struct):
|
|
SIZE = 4
|
|
dst_port: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
|
src_port: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_tcp_udp(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_tcp_udp_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_tcp_udp_filter, 12]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_ipv6_filter(c.Struct):
|
|
SIZE = 40
|
|
src_ip: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
|
|
dst_ip: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 16]
|
|
flow_label: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
next_hdr: Annotated[Annotated[int, ctypes.c_ubyte], 36]
|
|
traffic_class: Annotated[Annotated[int, ctypes.c_ubyte], 37]
|
|
hop_limit: Annotated[Annotated[int, ctypes.c_ubyte], 38]
|
|
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 39]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_ipv6(c.Struct):
|
|
SIZE = 88
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_ipv6_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_ipv6_filter, 48]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_action_tag(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
tag_id: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved1: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_action_drop(c.Struct):
|
|
SIZE = 8
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_action_handle(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved1: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_action_count(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved1: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_tunnel_filter(c.Struct):
|
|
SIZE = 4
|
|
tunnel_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_tunnel(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_tunnel_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_tunnel_filter, 12]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_esp_filter(c.Struct):
|
|
SIZE = 8
|
|
spi: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
seq: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_esp(c.Struct):
|
|
SIZE = 24
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_spec_esp_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_spec_esp_filter, 16]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_gre_filter(c.Struct):
|
|
SIZE = 8
|
|
c_ks_res0_ver: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
|
protocol: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
|
key: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_gre(c.Struct):
|
|
SIZE = 24
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_gre_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_gre_filter, 16]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_mpls_filter(c.Struct):
|
|
SIZE = 4
|
|
label: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_spec_mpls(c.Struct):
|
|
SIZE = 16
|
|
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
val: Annotated[struct_ib_uverbs_flow_mpls_filter, 8]
|
|
mask: Annotated[struct_ib_uverbs_flow_mpls_filter, 12]
|
|
@c.record
|
|
class struct_ib_uverbs_flow_attr(c.Struct):
|
|
SIZE = 16
|
|
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
|
priority: Annotated[Annotated[int, ctypes.c_uint16], 6]
|
|
num_of_specs: Annotated[Annotated[int, ctypes.c_ubyte], 8]
|
|
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 9]
|
|
port: Annotated[Annotated[int, ctypes.c_ubyte], 11]
|
|
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
flow_specs: Annotated[c.Array[struct_ib_uverbs_flow_spec_hdr, Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_create_flow(c.Struct):
|
|
SIZE = 24
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
flow_attr: Annotated[struct_ib_uverbs_flow_attr, 8]
|
|
@c.record
|
|
class struct_ib_uverbs_create_flow_resp(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
flow_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_flow(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
flow_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_create_srq(c.Struct):
|
|
SIZE = 32
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 32]
|
|
@c.record
|
|
class struct_ib_uverbs_create_xsrq(c.Struct):
|
|
SIZE = 48
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
srq_type: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
max_num_tags: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
xrcd_handle: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 48]
|
|
@c.record
|
|
class struct_ib_uverbs_create_srq_resp(c.Struct):
|
|
SIZE = 16
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
srqn: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_modify_srq(c.Struct):
|
|
SIZE = 16
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_query_srq(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
|
@c.record
|
|
class struct_ib_uverbs_query_srq_resp(c.Struct):
|
|
SIZE = 16
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_srq(c.Struct):
|
|
SIZE = 16
|
|
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
|
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_destroy_srq_resp(c.Struct):
|
|
SIZE = 4
|
|
events_reported: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_wq(c.Struct):
|
|
SIZE = 40
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
wq_type: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
|
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
|
create_flags: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_wq_resp(c.Struct):
|
|
SIZE = 24
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
wq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
wqn: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_destroy_wq(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
wq_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_destroy_wq_resp(c.Struct):
|
|
SIZE = 16
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
events_reported: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_modify_wq(c.Struct):
|
|
SIZE = 24
|
|
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
wq_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
wq_state: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
curr_wq_state: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
|
flags_mask: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_rwq_ind_table(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
log_ind_tbl_size: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
wq_handles: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 8]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_create_rwq_ind_table_resp(c.Struct):
|
|
SIZE = 16
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
ind_tbl_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
|
ind_tbl_num: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_destroy_rwq_ind_table(c.Struct):
|
|
SIZE = 8
|
|
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
ind_tbl_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
@c.record
|
|
class struct_ib_uverbs_cq_moderation(c.Struct):
|
|
SIZE = 4
|
|
cq_count: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
|
cq_period: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
|
@c.record
|
|
class struct_ib_uverbs_ex_modify_cq(c.Struct):
|
|
SIZE = 16
|
|
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
|
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
|
attr: Annotated[struct_ib_uverbs_cq_moderation, 8]
|
|
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
|
class enum_ib_uverbs_device_cap_flags(Annotated[int, ctypes.c_uint64], c.Enum): pass
|
|
IB_UVERBS_DEVICE_RESIZE_MAX_WR = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RESIZE_MAX_WR', 1)
|
|
IB_UVERBS_DEVICE_BAD_PKEY_CNTR = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_BAD_PKEY_CNTR', 2)
|
|
IB_UVERBS_DEVICE_BAD_QKEY_CNTR = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_BAD_QKEY_CNTR', 4)
|
|
IB_UVERBS_DEVICE_RAW_MULTI = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RAW_MULTI', 8)
|
|
IB_UVERBS_DEVICE_AUTO_PATH_MIG = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_AUTO_PATH_MIG', 16)
|
|
IB_UVERBS_DEVICE_CHANGE_PHY_PORT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_CHANGE_PHY_PORT', 32)
|
|
IB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE', 64)
|
|
IB_UVERBS_DEVICE_CURR_QP_STATE_MOD = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_CURR_QP_STATE_MOD', 128)
|
|
IB_UVERBS_DEVICE_SHUTDOWN_PORT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_SHUTDOWN_PORT', 256)
|
|
IB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_PORT_ACTIVE_EVENT', 1024)
|
|
IB_UVERBS_DEVICE_SYS_IMAGE_GUID = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_SYS_IMAGE_GUID', 2048)
|
|
IB_UVERBS_DEVICE_RC_RNR_NAK_GEN = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RC_RNR_NAK_GEN', 4096)
|
|
IB_UVERBS_DEVICE_SRQ_RESIZE = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_SRQ_RESIZE', 8192)
|
|
IB_UVERBS_DEVICE_N_NOTIFY_CQ = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_N_NOTIFY_CQ', 16384)
|
|
IB_UVERBS_DEVICE_MEM_WINDOW = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_WINDOW', 131072)
|
|
IB_UVERBS_DEVICE_UD_IP_CSUM = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_UD_IP_CSUM', 262144)
|
|
IB_UVERBS_DEVICE_XRC = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_XRC', 1048576)
|
|
IB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS', 2097152)
|
|
IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A', 8388608)
|
|
IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B', 16777216)
|
|
IB_UVERBS_DEVICE_RC_IP_CSUM = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RC_IP_CSUM', 33554432)
|
|
IB_UVERBS_DEVICE_RAW_IP_CSUM = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RAW_IP_CSUM', 67108864)
|
|
IB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MANAGED_FLOW_STEERING', 536870912)
|
|
IB_UVERBS_DEVICE_RAW_SCATTER_FCS = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RAW_SCATTER_FCS', 17179869184)
|
|
IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING', 68719476736)
|
|
IB_UVERBS_DEVICE_FLUSH_GLOBAL = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_FLUSH_GLOBAL', 274877906944)
|
|
IB_UVERBS_DEVICE_FLUSH_PERSISTENT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_FLUSH_PERSISTENT', 549755813888)
|
|
IB_UVERBS_DEVICE_ATOMIC_WRITE = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_ATOMIC_WRITE', 1099511627776)
|
|
|
|
class enum_ib_uverbs_raw_packet_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
|
IB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING', 1)
|
|
IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS', 2)
|
|
IB_UVERBS_RAW_PACKET_CAP_IP_CSUM = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_IP_CSUM', 4)
|
|
IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP', 8)
|
|
|
|
c.init_records()
|
|
vext_field_avail = lambda type,fld,sz: (offsetof(type, fld) < (sz)) # type: ignore
|
|
IBV_DEVICE_RAW_SCATTER_FCS = (1 << 34) # type: ignore
|
|
IBV_DEVICE_PCI_WRITE_END_PADDING = (1 << 36) # type: ignore
|
|
ibv_query_port = lambda context,port_num,port_attr: ___ibv_query_port(context, port_num, port_attr) # type: ignore
|
|
ibv_reg_mr = lambda pd,addr,length,access: __ibv_reg_mr(pd, addr, length, access, __builtin_constant_p( ((int)(access) & IBV_ACCESS_OPTIONAL_RANGE) == 0)) # type: ignore
|
|
ibv_reg_mr_iova = lambda pd,addr,length,iova,access: __ibv_reg_mr_iova(pd, addr, length, iova, access, __builtin_constant_p( ((access) & IBV_ACCESS_OPTIONAL_RANGE) == 0)) # type: ignore
|
|
ETHERNET_LL_SIZE = 6 # type: ignore
|
|
IB_ROCE_UDP_ENCAP_VALID_PORT_MIN = (0xC000) # type: ignore
|
|
IB_ROCE_UDP_ENCAP_VALID_PORT_MAX = (0xFFFF) # type: ignore
|
|
IB_GRH_FLOWLABEL_MASK = (0x000FFFFF) # type: ignore
|
|
IBV_FLOW_ACTION_ESP_KEYMAT_AES_GCM = IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM # type: ignore
|
|
IBV_FLOW_ACTION_IV_ALGO_SEQ = IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ # type: ignore
|
|
IBV_FLOW_ACTION_ESP_REPLAY_NONE = IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE # type: ignore
|
|
IBV_FLOW_ACTION_ESP_REPLAY_BMP = IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_TUNNEL = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_TRANSPORT = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_DECRYPT = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_ENCRYPT = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT # type: ignore
|
|
IBV_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW # type: ignore
|
|
IBV_ADVISE_MR_ADVICE_PREFETCH = IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH # type: ignore
|
|
IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE = IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE # type: ignore
|
|
IBV_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT # type: ignore
|
|
IBV_ADVISE_MR_FLAG_FLUSH = IB_UVERBS_ADVISE_MR_FLAG_FLUSH # type: ignore
|
|
IBV_QPF_GRH_REQUIRED = IB_UVERBS_QPF_GRH_REQUIRED # type: ignore
|
|
IBV_ACCESS_OPTIONAL_RANGE = IB_UVERBS_ACCESS_OPTIONAL_RANGE # type: ignore
|
|
IB_UVERBS_ACCESS_OPTIONAL_FIRST = (1 << 20) # type: ignore
|
|
IB_UVERBS_ACCESS_OPTIONAL_LAST = (1 << 29) # type: ignore
|
|
IB_USER_VERBS_ABI_VERSION = 6 # type: ignore
|
|
IB_USER_VERBS_CMD_THRESHOLD = 50 # type: ignore
|
|
IB_USER_VERBS_CMD_COMMAND_MASK = 0xff # type: ignore
|
|
IB_USER_VERBS_CMD_FLAG_EXTENDED = 0x80000000 # type: ignore
|
|
IB_USER_VERBS_MAX_LOG_IND_TBL_SIZE = 0x0d # type: ignore
|
|
IB_DEVICE_NAME_MAX = 64 # type: ignore |