libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– NAME πŸ’–

okay so bestie, welcome to libnvme(9) β€” the API Manual page for struct nvme_ave_access_request, aka the KX-HMAC-CHAP_Access-Request PDU. This is the PDU an NVMe entity (host or controller) sends to an AVE over the AVE's TLS connection. It's giving very specific PDU energy, and this struct has main character energy fr fr. 🫢


✨ SYNOPSIS ✨

Here's the exact shape of it, bestie β€” do not freestyle the fields:

struct nvme_ave_access_request {
    __u8 pdu_type;
    __u8 flags;
    __u8 hlen;
    __u8 pdo;
    __le32 plen;
    __le64 id;
    __u8 hl;
    __u8 hashid;
    __le16 t_id;
    __u8 sc_c;
    __u8 respr;
    __u8 nqnrlen;
    __u8 rsvd23;
    __le32 seqnum;
    __u8 acv_respv_nqnr[];
};

🌸 Members 🌸

Time for the member-by-member vibe check. Nothing gets skipped, periodt:

  • pdu_type β€” PDU Type, see enum nvme_ave_pdu_type. iconic little type field.
  • flags β€” Reserved. hands off, bestie.
  • hlen β€” Header Length: fixed length of 8 bytes (08h). lowkey crucial.
  • pdo β€” PDU Data Offset, reserved. reserved means leave it alone.
  • plen β€” PDU Length: total length of the PDU in bytes.
  • id β€” Identifier used to match this PDU with the corresponding struct nvme_ave_access_result PDU. matching energy.
  • hl β€” Hash Length: length in bytes of the selected hash function.
  • hashid β€” Hash Identifier, see enum libnvmf_hmac_alg.
  • t_id β€” Transaction Identifier.
  • sc_c β€” Secure Channel Concatenation, see enum nvmf_auth_sc_c.
  • respr β€” Responder's Role: 'H' (48h) if host, 'C' (43h) if controller. the role field is literally spelling it out.
  • nqnrlen β€” NQN Responder Length: length in bytes of acv_respv_nqnr's NQNR component.
  • rsvd23 β€” Reserved. another reserved one, don't touch.
  • seqnum β€” Sequence Number (S).
  • acv_respv_nqnr β€” Augmented Challenge Value (Ca, hl bytes), followed by the Response Value (R, hl bytes), followed by the NQN of the Responder (NQNR, nqnrlen bytes). the way this one field is carrying three whole components β€” obsessed.

okay that's the whole struct, every member accounted for, no skips and no invented extras. mwah πŸ’‹

Signed off with struct nvme_ave_access_request energy, from libnvme(9), dated October 2026 β€” slay. πŸŽ€

πŸ“¦ where this page comes from