libnvme(2)
π NAME π
struct nbft_info_hfi_info_tcp β the HFI Transport Info Descriptor for NVMe/TCP, bestie π
It's the lil struct that holds everything about one Host Fabric Interface doing NVMe over TCP. Think of it as the ID card your NIC shows at the door. π
β¨ SYNOPSIS β¨
struct nbft_info_hfi_info_tcp {
__u32 pci_sbdf;
__u8 mac_addr[6];
__u16 vlan;
__u8 ip_origin;
char ipaddr[40];
__u8 subnet_mask_prefix;
char gateway_ipaddr[40];
__u16 route_metric;
char primary_dns_ipaddr[40];
char secondary_dns_ipaddr[40];
char dhcp_server_ipaddr[40];
char *host_name;
bool this_hfi_is_default_route;
bool dhcp_override;
};
no cap, that's the whole shape of it π«Ά
πΈ Members πΈ
Lowkey the main event. Every field, one by one, no skipping, periodt. π
pci_sbdfβ the PCI Express Routing ID for the HFI Transport Function. it's giving "which function are you" energy πmac_addrβ the MAC Address of this HFI, in EUI-48TM format. her government name, if you will π¦vlanβ the VLAN identifier, but only if the VLAN is associated with this HFI, as defined in IEEE 802.1q-2018. if no VLAN is associated with this HFI, you get zeroes. so either she's tagged or she's zero, there is no in-between πip_originβ the source of the Ethernet L3 configuration info that the driver used, or0if it's not used. not me checking where the config came from πipaddrβ the IPv4 or IPv6 address of this HFI. her address, literally πsubnet_mask_prefixβ the IPv4 or IPv6 subnet mask, written in CIDR routing prefix notation. the/24of it all β¨gateway_ipaddrβ the IPv4 or IPv6 address of the IP gateway for this HFI, or zeroes if no IP gateway is specified. the doorway out πͺroute_metricβ the cost value for the route indicated by this HFI. lower cost = more main character energy, iykyk πprimary_dns_ipaddrβ the IPv4 or IPv6 address of the Primary DNS server for this HFI. your first-choice bestie for name resolution πsecondary_dns_ipaddrβ the IPv4 or IPv6 address of the Secondary DNS server for this HFI. the backup bestie, still iconic πdhcp_server_ipaddrβ the IPv4 or IPv6 address of the DHCP server that was used to assign this HFI address. someone handed her that IP, we're just saying thank you π«Άhost_nameβ the Host Name string. yes, that's it, that's the whole description, she's a simple queen πΈthis_hfi_is_default_routeβ ifTrue, then the BIOS utilized this interface described by HFI to be the default route with the highest priority. ifFalse, then routes are local to their own scope. so either she's running the whole route table or she's staying in her lane, and honestly both are valid π₯dhcp_overrideβ ifTrue, then the HFI information was populated by consuming the DHCP on this interface. ifFalse, then the HFI information was set administratively by a configuration interface to the driver and the pre-OS envrionment. the DHCP did not get a say in this one, no ma'am π
β quick vibe check: theseTrue/Falseflags are reallybools, so keep them exact when you read them. don't paraphrase. the struct remembers. π
and that's the whole page, babe β no detail left behind, every field accounted for π
this was struct nbft_info_hfi_info_tcp from the libnvme(2) API Manual (yes, the libnvme manual, bestie, section 2), and the page closed out with July 2026 energy. stay slaying in the NBFT, ily π¦β¨π
π¦ 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