include/linux/nvme-tcp.h
Source file repositories/reference/linux-study-clean/include/linux/nvme-tcp.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/nvme-tcp.h- Extension
.h- Size
- 4779 bytes
- Lines
- 200
- Domain
- Representative Device Path
- Bucket
- PCIe NVMe Storage Path
- Inferred role
- Representative Device Path: implementation source
- Status
- source implementation candidate
Why This File Exists
Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.
- Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/nvme.h
Detected Declarations
struct nvme_tcp_hdrstruct nvme_tcp_icreq_pdustruct nvme_tcp_icresp_pdustruct nvme_tcp_term_pdustruct nvme_tcp_cmd_pdustruct nvme_tcp_rsp_pdustruct nvme_tcp_r2t_pdustruct nvme_tcp_data_pduenum nvme_tcp_pfvenum nvme_tcp_tls_cipherenum nvme_tcp_fatal_error_statusenum nvme_tcp_digest_optionenum nvme_tcp_pdu_typeenum nvme_tcp_pdu_flags
Annotated Snippet
struct nvme_tcp_hdr {
__u8 type;
__u8 flags;
__u8 hlen;
__u8 pdo;
__le32 plen;
};
/**
* struct nvme_tcp_icreq_pdu - nvme tcp initialize connection request pdu
*
* @hdr: pdu generic header
* @pfv: pdu version format
* @hpda: host pdu data alignment (dwords, 0's based)
* @digest: digest types enabled
* @maxr2t: maximum r2ts per request supported
*/
struct nvme_tcp_icreq_pdu {
struct nvme_tcp_hdr hdr;
__le16 pfv;
__u8 hpda;
__u8 digest;
__le32 maxr2t;
__u8 rsvd2[112];
};
/**
* struct nvme_tcp_icresp_pdu - nvme tcp initialize connection response pdu
*
* @hdr: pdu common header
* @pfv: pdu version format
* @cpda: controller pdu data alignment (dowrds, 0's based)
* @digest: digest types enabled
* @maxdata: maximum data capsules per r2t supported
*/
struct nvme_tcp_icresp_pdu {
struct nvme_tcp_hdr hdr;
__le16 pfv;
__u8 cpda;
__u8 digest;
__le32 maxdata;
__u8 rsvd[112];
};
/**
* struct nvme_tcp_term_pdu - nvme tcp terminate connection pdu
*
* @hdr: pdu common header
* @fes: fatal error status
* @fei: fatal error information
*/
struct nvme_tcp_term_pdu {
struct nvme_tcp_hdr hdr;
__le16 fes;
__le16 feil;
__le16 feiu;
__u8 rsvd[10];
};
/**
* struct nvme_tcp_cmd_pdu - nvme tcp command capsule pdu
*
* @hdr: pdu common header
* @cmd: nvme command
*/
struct nvme_tcp_cmd_pdu {
struct nvme_tcp_hdr hdr;
struct nvme_command cmd;
};
/**
* struct nvme_tcp_rsp_pdu - nvme tcp response capsule pdu
*
* @hdr: pdu common header
* @hdr: nvme-tcp generic header
* @cqe: nvme completion queue entry
*/
struct nvme_tcp_rsp_pdu {
struct nvme_tcp_hdr hdr;
struct nvme_completion cqe;
};
/**
* struct nvme_tcp_r2t_pdu - nvme tcp ready-to-transfer pdu
*
* @hdr: pdu common header
* @command_id: nvme command identifier which this relates to
* @ttag: transfer tag (controller generated)
* @r2t_offset: offset from the start of the command data
* @r2t_length: length the host is allowed to send
Annotation
- Immediate include surface: `linux/nvme.h`.
- Detected declarations: `struct nvme_tcp_hdr`, `struct nvme_tcp_icreq_pdu`, `struct nvme_tcp_icresp_pdu`, `struct nvme_tcp_term_pdu`, `struct nvme_tcp_cmd_pdu`, `struct nvme_tcp_rsp_pdu`, `struct nvme_tcp_r2t_pdu`, `struct nvme_tcp_data_pdu`, `enum nvme_tcp_pfv`, `enum nvme_tcp_tls_cipher`.
- Atlas domain: Representative Device Path / PCIe NVMe Storage Path.
- 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.