libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_ave\_access\_request - KX-HMAC-CHAP\_Access-Request PDU, sent by an NVMe entity (host or controller) to an AVE over the AVE's TLS connection

# [SYNOPSIS](#SYNOPSIS)

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](#Members)

[pdu\_type](#pdu_type)

PDU Type, see *enum nvme\_ave\_pdu\_type*

[flags](#flags)

Reserved

[hlen](#hlen)

Header Length: fixed length of 8 bytes (08h)

[pdo](#pdo)

PDU Data Offset, reserved

[plen](#plen)

PDU Length: total length of the PDU in bytes

[id](#id)

Identifier used to match this PDU with the corresponding *struct nvme\_ave\_access\_result* PDU

[hl](#hl)

Hash Length: length in bytes of the selected hash function

[hashid](#hashid)

Hash Identifier, see *enum libnvmf\_hmac\_alg*

[t\_id](#t_id)

Transaction Identifier

[sc\_c](#sc_c)

Secure Channel Concatenation, see *enum nvmf\_auth\_sc\_c*

[respr](#respr)

Responder's Role: 'H' (48h) if host, 'C' (43h) if controller

[nqnrlen](#nqnrlen)

NQN Responder Length: length in bytes of *acv\_respv\_nqnr*'s NQNR component

[rsvd23](#rsvd23)

Reserved

[seqnum](#seqnum)

Sequence Number (S)

[acv\_respv\_nqnr](#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)

struct nvme\_ave\_access\_request October 2026

---

Document: nvme_ave_access_request-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
