drivers/infiniband/hw/irdma/cm.h
Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/irdma/cm.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/infiniband/hw/irdma/cm.h- Extension
.h- Size
- 10140 bytes
- Lines
- 417
- Domain
- Driver Families
- Bucket
- drivers/infiniband
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct ietf_mpa_v1struct ietf_rtr_msgstruct ietf_mpa_v2struct option_basestruct option_mssstruct option_windowscalestruct irdma_timer_entrystruct irdma_cm_tcp_contextstruct irdma_apbvt_entrystruct irdma_cm_listenerstruct irdma_kmem_infostruct irdma_mpa_priv_infostruct irdma_cm_nodestruct irdma_cm_infostruct irdma_cm_eventstruct irdma_cm_coreenum ietf_mpa_flagsenum irdma_timer_typeenum option_numsenum irdma_cm_node_stateenum mpa_frame_verenum mpa_frame_keyenum send_rdma0enum irdma_tcpip_pkt_typeenum irdma_cm_listener_stateenum irdma_cm_event_typefunction irdma_tos2dscp
Annotated Snippet
struct ietf_mpa_v1 {
u8 key[IETF_MPA_KEY_SIZE];
u8 flags;
u8 rev;
__be16 priv_data_len;
u8 priv_data[];
};
struct ietf_rtr_msg {
__be16 ctrl_ird;
__be16 ctrl_ord;
};
struct ietf_mpa_v2 {
u8 key[IETF_MPA_KEY_SIZE];
u8 flags;
u8 rev;
__be16 priv_data_len;
struct ietf_rtr_msg rtr_msg;
u8 priv_data[];
};
struct option_base {
u8 optionnum;
u8 len;
};
struct option_mss {
u8 optionnum;
u8 len;
__be16 mss;
};
struct option_windowscale {
u8 optionnum;
u8 len;
u8 shiftcount;
};
union all_known_options {
char eol;
struct option_base base;
struct option_mss mss;
struct option_windowscale windowscale;
};
struct irdma_timer_entry {
struct list_head list;
unsigned long timetosend; /* jiffies */
struct irdma_puda_buf *sqbuf;
u32 type;
u32 retrycount;
u32 retranscount;
u32 context;
u32 send_retrans;
int close_when_complete;
};
/* CM context params */
struct irdma_cm_tcp_context {
u8 client;
u32 loc_seq_num;
u32 loc_ack_num;
u32 rem_ack_num;
u32 rcv_nxt;
u32 loc_id;
u32 rem_id;
u32 snd_wnd;
u32 max_snd_wnd;
u32 rcv_wnd;
u32 mss;
u8 snd_wscale;
u8 rcv_wscale;
};
struct irdma_apbvt_entry {
struct hlist_node hlist;
u32 use_cnt;
u16 port;
};
struct irdma_cm_listener {
struct list_head list;
struct iw_cm_id *cm_id;
struct irdma_cm_core *cm_core;
struct irdma_device *iwdev;
struct list_head child_listen_list;
struct irdma_apbvt_entry *apbvt_entry;
enum irdma_cm_listener_state listener_state;
refcount_t refcnt;
Annotation
- Detected declarations: `struct ietf_mpa_v1`, `struct ietf_rtr_msg`, `struct ietf_mpa_v2`, `struct option_base`, `struct option_mss`, `struct option_windowscale`, `struct irdma_timer_entry`, `struct irdma_cm_tcp_context`, `struct irdma_apbvt_entry`, `struct irdma_cm_listener`.
- Atlas domain: Driver Families / drivers/infiniband.
- 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.