include/rdma/ib_hdrs.h
Source file repositories/reference/linux-study-clean/include/rdma/ib_hdrs.h
File Facts
- System
- Linux kernel
- Corpus path
include/rdma/ib_hdrs.h- Extension
.h- Size
- 6990 bytes
- Lines
- 308
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/unaligned.hrdma/ib_verbs.hrdma/tid_rdma_defs.h
Detected Declarations
struct ib_rethstruct ib_atomic_ethstruct ib_other_headersstruct ib_headerfunction ib_u64_getfunction ib_u64_putfunction get_ib_reth_vaddrfunction put_ib_reth_vaddrfunction get_ib_ateth_vaddrfunction put_ib_ateth_vaddrfunction get_ib_ateth_swapfunction put_ib_ateth_swapfunction get_ib_ateth_comparefunction put_ib_ateth_comparefunction ib_get_lnhfunction ib_get_scfunction ib_is_sc5function ib_get_slfunction ib_get_dlidfunction ib_get_slidfunction ib_get_lverfunction ib_get_qkeyfunction ib_get_sqpnfunction ib_bth_get_padfunction ib_bth_get_pkeyfunction ib_bth_get_opcodefunction ib_bth_get_ackreqfunction ib_bth_get_migreqfunction ib_bth_get_sefunction ib_bth_get_psnfunction ib_bth_get_qpnfunction ib_bth_get_becnfunction ib_bth_get_fecnfunction ib_bth_get_tverfunction ib_bth_is_solicitedfunction ib_bth_is_migration
Annotated Snippet
struct ib_reth {
__be64 vaddr; /* potentially unaligned */
__be32 rkey;
__be32 length;
} __packed;
struct ib_atomic_eth {
__be64 vaddr; /* potentially unaligned */
__be32 rkey;
__be64 swap_data; /* potentially unaligned */
__be64 compare_data; /* potentially unaligned */
} __packed;
#include <rdma/tid_rdma_defs.h>
union ib_ehdrs {
struct {
__be32 deth[2];
__be32 imm_data;
} ud;
struct {
struct ib_reth reth;
__be32 imm_data;
} rc;
struct {
__be32 aeth;
__be64 atomic_ack_eth; /* potentially unaligned */
} __packed at;
__be32 imm_data;
__be32 aeth;
__be32 ieth;
struct ib_atomic_eth atomic_eth;
/* TID RDMA headers */
union {
struct tid_rdma_read_req r_req;
struct tid_rdma_read_resp r_rsp;
struct tid_rdma_write_req w_req;
struct tid_rdma_write_resp w_rsp;
struct tid_rdma_write_data w_data;
struct tid_rdma_resync resync;
struct tid_rdma_ack ack;
} tid_rdma;
} __packed;
struct ib_other_headers {
__be32 bth[3];
union ib_ehdrs u;
} __packed;
struct ib_header {
__be16 lrh[4];
union {
struct {
struct ib_grh grh;
struct ib_other_headers oth;
} l;
struct ib_other_headers oth;
} u;
} __packed;
/* accessors for unaligned __be64 items */
static inline u64 ib_u64_get(__be64 *p)
{
return get_unaligned_be64(p);
}
static inline void ib_u64_put(u64 val, __be64 *p)
{
put_unaligned_be64(val, p);
}
static inline u64 get_ib_reth_vaddr(struct ib_reth *reth)
{
return ib_u64_get(&reth->vaddr);
}
static inline void put_ib_reth_vaddr(u64 val, struct ib_reth *reth)
{
ib_u64_put(val, &reth->vaddr);
}
static inline u64 get_ib_ateth_vaddr(struct ib_atomic_eth *ateth)
{
return ib_u64_get(&ateth->vaddr);
}
static inline void put_ib_ateth_vaddr(u64 val, struct ib_atomic_eth *ateth)
{
ib_u64_put(val, &ateth->vaddr);
Annotation
- Immediate include surface: `linux/types.h`, `linux/unaligned.h`, `rdma/ib_verbs.h`, `rdma/tid_rdma_defs.h`.
- Detected declarations: `struct ib_reth`, `struct ib_atomic_eth`, `struct ib_other_headers`, `struct ib_header`, `function ib_u64_get`, `function ib_u64_put`, `function get_ib_reth_vaddr`, `function put_ib_reth_vaddr`, `function get_ib_ateth_vaddr`, `function put_ib_ateth_vaddr`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
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.