libnvme(9) API Manual libnvme(9)

struct libnbft_security - Security Profile Descriptor

struct libnbft_security {
int index;
__u16 flags;
__u8 secret_type;
__u8 *sec_chan_algs;
__u16 sec_chan_algs_len;
__u8 *auth_protocols;
__u16 auth_protocols_len;
__u8 *cipher_suites;
__u16 cipher_suites_len;
__u8 *kx_groups;
__u16 kx_groups_len;
__u8 *sec_hash_funcs;
__u16 sec_hash_funcs_len;
char *secret_keypath;
};

The number of this Security Profile Descriptor in the Security Profile Descriptor List.
Security Profile Descriptor Flags bitmask, see enum nbft_security_flags.
Secret Type, see enum nbft_security_secret_type.
Secure Channel Algorithm list: an array of bytes whose values are the Security Type (SECTYPE) field, see enum nvmf_tcp_sectype. NULL if not present in the NBFT heap.
Length in bytes of sec_chan_algs.
Authentication Protocol identifier list. Values are Authentication Protocol Identifiers as defined in the NVM Express Base Specification. NULL if not present in the NBFT heap.
Length in bytes of auth_protocols.
Cipher Suite identifier list: raw byte data containing cipher suite identifiers as defined in the IANA TLS Parameters Registry. Each entry is a 16-bit value; the number of entries is cipher_suites_len / 2. NULL if not present in the NBFT heap.
Length in bytes of cipher_suites.
KX-HMAC-CHAP key exchange group identifier list. Values are Key Exchange Group Identifiers as defined in the NVM Express Base Specification. NULL if not present in the NBFT heap.
Length in bytes of kx_groups.
KX-HMAC-CHAP hash function identifier list, see enum libnvmf_hmac_alg. NULL if not present in the NBFT heap.
Length in bytes of sec_hash_funcs.
URI string for the secret key path. The type of the URI is specified by secret_type. NULL if not present.

All pointer fields refer to storage owned by the parent struct libnbft_info. They must not be freed separately.

struct libnbft_security September 2026