include/uapi/rdma/rdma_user_cm.h
Source file repositories/reference/linux-study-clean/include/uapi/rdma/rdma_user_cm.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/rdma/rdma_user_cm.h- Extension
.h- Size
- 7961 bytes
- Lines
- 382
- 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.hlinux/socket.hlinux/in6.hrdma/ib_user_verbs.hrdma/ib_user_sa.h
Detected Declarations
struct rdma_ucm_cmd_hdrstruct rdma_ucm_create_idstruct rdma_ucm_create_id_respstruct rdma_ucm_destroy_idstruct rdma_ucm_destroy_id_respstruct rdma_ucm_bind_ipstruct rdma_ucm_bindstruct rdma_ucm_resolve_ipstruct rdma_ucm_resolve_addrstruct rdma_ucm_resolve_routestruct rdma_ucm_querystruct rdma_ucm_query_route_respstruct rdma_ucm_query_addr_respstruct rdma_ucm_query_path_respstruct rdma_ucm_query_ib_service_respstruct rdma_ucm_conn_paramstruct rdma_ucm_ud_paramstruct rdma_ucm_ecestruct rdma_ucm_connectstruct rdma_ucm_listenstruct rdma_ucm_acceptstruct rdma_ucm_rejectstruct rdma_ucm_disconnectstruct rdma_ucm_init_qp_attrstruct rdma_ucm_notifystruct rdma_ucm_join_ip_mcaststruct rdma_ucm_join_mcaststruct rdma_ucm_get_eventstruct rdma_ucm_event_respstruct rdma_ucm_set_optionstruct rdma_ucm_migrate_idstruct rdma_ucm_migrate_respstruct rdma_ucm_ib_servicestruct rdma_ucm_resolve_ib_servicestruct rdma_ucm_write_cm_eventenum rdma_ucm_port_space
Annotated Snippet
struct rdma_ucm_cmd_hdr {
__u32 cmd;
__u16 in;
__u16 out;
};
struct rdma_ucm_create_id {
__aligned_u64 uid;
__aligned_u64 response;
__u16 ps; /* use enum rdma_ucm_port_space */
__u8 qp_type;
__u8 reserved[5];
};
struct rdma_ucm_create_id_resp {
__u32 id;
};
struct rdma_ucm_destroy_id {
__aligned_u64 response;
__u32 id;
__u32 reserved;
};
struct rdma_ucm_destroy_id_resp {
__u32 events_reported;
};
struct rdma_ucm_bind_ip {
__aligned_u64 response;
struct sockaddr_in6 addr;
__u32 id;
};
struct rdma_ucm_bind {
__u32 id;
__u16 addr_size;
__u16 reserved;
struct __kernel_sockaddr_storage addr;
};
struct rdma_ucm_resolve_ip {
struct sockaddr_in6 src_addr;
struct sockaddr_in6 dst_addr;
__u32 id;
__u32 timeout_ms;
};
struct rdma_ucm_resolve_addr {
__u32 id;
__u32 timeout_ms;
__u16 src_size;
__u16 dst_size;
__u32 reserved;
struct __kernel_sockaddr_storage src_addr;
struct __kernel_sockaddr_storage dst_addr;
};
struct rdma_ucm_resolve_route {
__u32 id;
__u32 timeout_ms;
};
enum {
RDMA_USER_CM_QUERY_ADDR,
RDMA_USER_CM_QUERY_PATH,
RDMA_USER_CM_QUERY_GID,
RDMA_USER_CM_QUERY_IB_SERVICE
};
struct rdma_ucm_query {
__aligned_u64 response;
__u32 id;
__u32 option;
};
struct rdma_ucm_query_route_resp {
__aligned_u64 node_guid;
struct ib_user_path_rec ib_route[2];
struct sockaddr_in6 src_addr;
struct sockaddr_in6 dst_addr;
__u32 num_paths;
__u8 port_num;
__u8 reserved[3];
__u32 ibdev_index;
__u32 reserved1;
};
struct rdma_ucm_query_addr_resp {
__aligned_u64 node_guid;
Annotation
- Immediate include surface: `linux/types.h`, `linux/socket.h`, `linux/in6.h`, `rdma/ib_user_verbs.h`, `rdma/ib_user_sa.h`.
- Detected declarations: `struct rdma_ucm_cmd_hdr`, `struct rdma_ucm_create_id`, `struct rdma_ucm_create_id_resp`, `struct rdma_ucm_destroy_id`, `struct rdma_ucm_destroy_id_resp`, `struct rdma_ucm_bind_ip`, `struct rdma_ucm_bind`, `struct rdma_ucm_resolve_ip`, `struct rdma_ucm_resolve_addr`, `struct rdma_ucm_resolve_route`.
- 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.