include/linux/qed/qed_nvmetcp_if.h
Source file repositories/reference/linux-study-clean/include/linux/qed/qed_nvmetcp_if.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/qed/qed_nvmetcp_if.h- Extension
.h- Size
- 7511 bytes
- Lines
- 258
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/qed/qed_if.hlinux/qed/storage_common.hlinux/qed/nvmetcp_common.h
Detected Declarations
struct qed_dev_nvmetcp_infostruct qed_nvmetcp_tidstruct qed_nvmetcp_id_paramsstruct qed_nvmetcp_params_offloadstruct qed_nvmetcp_params_updatestruct qed_nvmetcp_cb_opsstruct nvmetcp_sgestruct storage_sgl_task_paramsstruct nvmetcp_task_paramsstruct qed_nvmetcp_ops
Annotated Snippet
struct qed_dev_nvmetcp_info {
struct qed_dev_info common;
u8 port_id; /* Physical port */
u8 num_cqs;
};
#define MAX_TID_BLOCKS_NVMETCP (512)
struct qed_nvmetcp_tid {
u32 size; /* In bytes per task */
u32 num_tids_per_block;
u8 *blocks[MAX_TID_BLOCKS_NVMETCP];
};
struct qed_nvmetcp_id_params {
u8 mac[ETH_ALEN];
u32 ip[4];
u16 port;
};
struct qed_nvmetcp_params_offload {
/* FW initializations */
dma_addr_t sq_pbl_addr;
dma_addr_t nvmetcp_cccid_itid_table_addr;
u16 nvmetcp_cccid_max_range;
u8 default_cq;
/* Networking and TCP stack initializations */
struct qed_nvmetcp_id_params src;
struct qed_nvmetcp_id_params dst;
u32 ka_timeout;
u32 ka_interval;
u32 max_rt_time;
u32 cwnd;
u16 mss;
u16 vlan_id;
bool timestamp_en;
bool delayed_ack_en;
bool tcp_keep_alive_en;
bool ecn_en;
u8 ip_version;
u8 ka_max_probe_cnt;
u8 ttl;
u8 tos_or_tc;
u8 rcv_wnd_scale;
};
struct qed_nvmetcp_params_update {
u32 max_io_size;
u32 max_recv_pdu_length;
u32 max_send_pdu_length;
/* Placeholder: pfv, cpda, hpda */
bool hdr_digest_en;
bool data_digest_en;
};
struct qed_nvmetcp_cb_ops {
struct qed_common_cb_ops common;
};
struct nvmetcp_sge {
struct regpair sge_addr; /* SGE address */
__le32 sge_len; /* SGE length */
__le32 reserved;
};
/* IO path HSI function SGL params */
struct storage_sgl_task_params {
struct nvmetcp_sge *sgl;
struct regpair sgl_phys_addr;
u32 total_buffer_size;
u16 num_sges;
bool small_mid_sge;
};
/* IO path HSI function FW task context params */
struct nvmetcp_task_params {
void *context; /* Output parameter - set/filled by the HSI function */
struct nvmetcp_wqe *sqe;
u32 tx_io_size; /* in bytes (Without DIF, if exists) */
u32 rx_io_size; /* in bytes (Without DIF, if exists) */
u16 conn_icid;
u16 itid;
struct regpair opq; /* qedn_task_ctx address */
u16 host_cccid;
u8 cq_rss_number;
bool send_write_incapsule;
};
Annotation
- Immediate include surface: `linux/types.h`, `linux/qed/qed_if.h`, `linux/qed/storage_common.h`, `linux/qed/nvmetcp_common.h`.
- Detected declarations: `struct qed_dev_nvmetcp_info`, `struct qed_nvmetcp_tid`, `struct qed_nvmetcp_id_params`, `struct qed_nvmetcp_params_offload`, `struct qed_nvmetcp_params_update`, `struct qed_nvmetcp_cb_ops`, `struct nvmetcp_sge`, `struct storage_sgl_task_params`, `struct nvmetcp_task_params`, `struct qed_nvmetcp_ops`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.