libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvmf\_auth\_kxchap\_protocol\_descriptor - KX-HMAC-CHAP Authentication Protocol Descriptor

# [SYNOPSIS](#SYNOPSIS)

struct nvmf\_auth\_kxchap\_protocol\_descriptor {  
**\_\_u8 authid;**  
**\_\_u8 rsvd1;**  
**\_\_u8 halen;**  
**\_\_u8 kxlen;**  
**\_\_u8 hashidlist\[30];**  
**\_\_u8 kxgidlist\[30];**  
};

# [Members](#Members)

[authid](#authid)

Authentication Protocol Identifier, see *enum nvmf\_auth\_protocol\_id*

[rsvd1](#rsvd1)

Reserved

[halen](#halen)

HashIDList Length: number of hash function identifiers (1 to 30)

[kxlen](#kxlen)

KXgIDList Length: number of key exchange group identifiers (1 to 30)

[hashidlist](#hashidlist)

Hash Function Identifier List, one byte per identifier, see *enum libnvmf\_hmac\_alg*. Unused trailing bytes are padding cleared to 0h.

[kxgidlist](#kxgidlist)

Key Exchange Group Identifier List, one byte per identifier, see *enum nvmf\_auth\_kxgid*. Unused trailing bytes are padding cleared to 0h.

struct nvmf\_auth\_kxchap\_protocol\_descriptor October 2026

---

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