include/uapi/rdma/ib_user_ioctl_verbs.h
Source file repositories/reference/linux-study-clean/include/uapi/rdma/ib_user_ioctl_verbs.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/rdma/ib_user_ioctl_verbs.h- Extension
.h- Size
- 8894 bytes
- Lines
- 304
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hrdma/ib_user_verbs.h
Detected Declarations
struct ib_uverbs_flow_action_esp_keymat_aes_gcmstruct ib_uverbs_flow_action_esp_replay_bmpstruct ib_uverbs_flow_action_esp_encapstruct ib_uverbs_flow_action_espstruct ib_uverbs_query_port_resp_exstruct ib_uverbs_qp_capstruct ib_uverbs_gid_entrystruct ib_uverbs_buffer_descenum ib_uverbs_core_supportenum ib_uverbs_access_flagsenum ib_uverbs_srq_typeenum ib_uverbs_wq_typeenum ib_uverbs_wq_flagsenum ib_uverbs_qp_typeenum ib_uverbs_qp_create_flagsenum ib_uverbs_query_port_cap_flagsenum ib_uverbs_query_port_flagsenum ib_uverbs_flow_action_esp_keymatenum ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algoenum ib_uverbs_flow_action_esp_replayenum ib_uverbs_flow_action_esp_flagsenum ib_uverbs_read_counters_flagsenum ib_uverbs_advise_mr_adviceenum ib_uverbs_advise_mr_flagenum rdma_driver_idenum ib_uverbs_gid_typeenum ib_uverbs_buffer_type
Annotated Snippet
struct ib_uverbs_flow_action_esp_keymat_aes_gcm {
__aligned_u64 iv;
__u32 iv_algo; /* Use enum ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo */
__u32 salt;
__u32 icv_len;
__u32 key_len;
__u32 aes_key[256 / 32];
};
enum ib_uverbs_flow_action_esp_replay {
IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE,
IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP,
};
struct ib_uverbs_flow_action_esp_replay_bmp {
__u32 size;
};
enum ib_uverbs_flow_action_esp_flags {
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = 0UL << 0, /* Default */
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = 1UL << 0,
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL = 0UL << 1, /* Default */
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT = 1UL << 1,
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT = 0UL << 2, /* Default */
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT = 1UL << 2,
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = 1UL << 3,
};
struct ib_uverbs_flow_action_esp_encap {
/* This struct represents a list of pointers to flow_xxxx_filter that
* encapsulates the payload in ESP tunnel mode.
*/
RDMA_UAPI_PTR(void *, val_ptr); /* pointer to a flow_xxxx_filter */
RDMA_UAPI_PTR(struct ib_uverbs_flow_action_esp_encap *, next_ptr);
__u16 len; /* Len of the filter struct val_ptr points to */
__u16 type; /* Use flow_spec_type enum */
};
struct ib_uverbs_flow_action_esp {
__u32 spi;
__u32 seq;
__u32 tfc_pad;
__u32 flags;
__aligned_u64 hard_limit_pkts;
};
enum ib_uverbs_read_counters_flags {
/* prefer read values from driver cache */
IB_UVERBS_READ_COUNTERS_PREFER_CACHED = 1 << 0,
};
enum ib_uverbs_advise_mr_advice {
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH,
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE,
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT,
};
enum ib_uverbs_advise_mr_flag {
IB_UVERBS_ADVISE_MR_FLAG_FLUSH = 1 << 0,
};
struct ib_uverbs_query_port_resp_ex {
struct ib_uverbs_query_port_resp legacy_resp;
__u16 port_cap_flags2;
__u8 reserved[2];
__u32 active_speed_ex;
};
struct ib_uverbs_qp_cap {
__u32 max_send_wr;
__u32 max_recv_wr;
__u32 max_send_sge;
__u32 max_recv_sge;
__u32 max_inline_data;
};
enum rdma_driver_id {
RDMA_DRIVER_UNKNOWN,
RDMA_DRIVER_MLX5,
RDMA_DRIVER_MLX4,
RDMA_DRIVER_CXGB3,
RDMA_DRIVER_CXGB4,
RDMA_DRIVER_MTHCA,
RDMA_DRIVER_BNXT_RE,
RDMA_DRIVER_OCRDMA,
Annotation
- Immediate include surface: `linux/types.h`, `rdma/ib_user_verbs.h`.
- Detected declarations: `struct ib_uverbs_flow_action_esp_keymat_aes_gcm`, `struct ib_uverbs_flow_action_esp_replay_bmp`, `struct ib_uverbs_flow_action_esp_encap`, `struct ib_uverbs_flow_action_esp`, `struct ib_uverbs_query_port_resp_ex`, `struct ib_uverbs_qp_cap`, `struct ib_uverbs_gid_entry`, `struct ib_uverbs_buffer_desc`, `enum ib_uverbs_core_support`, `enum ib_uverbs_access_flags`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.