libnvme(2)
β¨ libnvme β¨ β the API Manual, bestie edition π
okay so we're deep in the libnvme(2) girlies today and the topic is struct nvmf_ext_die, aka the Extended Discovery Information Entry, aka the DIE. it's giving structure. it's giving bytes. it's giving "please don't touch the reserved fields." let's go π«Ά
πΈ NAME πΈ
struct nvmf_ext_die β Extended Discovery Information Entry (DIE) π
β¨ SYNOPSIS β¨
struct nvmf_ext_die {
__u8 trtype;
__u8 adrfam;
__u8 subtype;
__u8 treq;
__le16 portid;
__le16 cntlid;
__le16 asqsz;
__u8 rsvd10[22];
char trsvcid[NVMF_TRSVCID_SIZE];
__u8 resv64[192];
char nqn[NVME_NQN_LENGTH];
char traddr[NVMF_TRADDR_SIZE];
union nvmf_tsas tsas;
__le32 tel;
__le16 numexat;
__u8 resv1030[2];
struct nvmf_ext_attr exat[];
};
no cap, that's the whole layout. read it top to bottom like a group chat, everything matters π
π Members π
every single field, in order, no skipping, we do NOT skip bestie:
trtypeβ Transport Type, and yes it's anenum nvmf_trtypeβ¨adrfamβ Address Family, typed asenum nvmf_addr_familyπsubtypeβ Subsystem Type, which is anenum nvme_subsys_typeπtreqβ Transport Requirements, anenum nvmf_treqπportidβ Port ID πcntlidβ Controller ID π«asqszβ Admin Max SQ Size π₯rsvd10β Reserved. hands off, it's not yours πtrsvcidβ Transport Service Identifier πresv64β Reserved. also not yours. respect the reserved. πnqnβ NVM Qualified Name βtraddrβ Transport Address π¦tsasβ Transport Specific Address Subtype, and it's aunion nvmf_tsasπ§telβ Total Entry Length πΈnumexatβ Number of Extended Attributes πresv1030β Reserved. third reserved field, third time asking, please leave it alone πexatβ Extended Attributes 0, typed asstruct nvmf_ext_attr, and yeah it's the flexible array member at the end, main character energy fr fr π₯
bestie heads up: the fields marked Reserved are Reserved. that means you do not write to them. you do not read meaning out of them. you simply admire them from a respectful distance. periodt π
that's the whole DIE, decoded and slayed. struct girlies stay winning π
okay bye ily, this was struct nvmf_ext_die from the libnvme(2) API Manual, dated July 2026 β mwah, go format some discovery entries responsibly π
β¨π
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms