1libnvme(9)                        API Manual                        libnvme(9)
2
3
4

NAME

6       struct  nbft_hfi_info_tcp  -  HFI  Transport Info Descriptor - NVMe/TCP
7       (Figure 13)
8

SYNOPSIS

10       struct nbft_hfi_info_tcp {
11           __u8 structure_id;
12           __u8 version;
13           __u8 trtype;
14           __u8 trinfo_version;
15           __le16 hfi_index;
16           __u8 flags;
17           __le32 pci_sbdf;
18           __u8 mac_addr[6];
19           __le16 vlan;
20           __u8 ip_origin;
21           __u8 ip_address[16];
22           __u8 subnet_mask_prefix;
23           __u8 ip_gateway[16];
24           __u8 reserved1;
25           __le16 route_metric;
26           __u8 primary_dns[16];
27           __u8 secondary_dns[16];
28           __u8 dhcp_server[16];
29           struct nbft_heap_obj host_name_obj;
30           __u8 reserved2[18];
31        };
32
33

Members

35       structure_id
36                   Structure ID: This field shall be  set  to  7h  (i.e.,  HFI
37                   Transport Info; #NBFT_DESC_HFI_TRINFO).
38
39       version     Version: This field shall be set to 1h.
40
41       trtype      HFI  Transport Type, see enum nbft_trtype: This field shall
42                   be set to 03h (i.e., NVMe/TCP; #NBFT_TRTYPE_TCP).
43
44       trinfo_version
45                   Transport Info Version: Implementations compliant  to  this
46                   specification shall set this field to 1h.
47
48       hfi_index   HFI Descriptor Index: The value of the HFI Descriptor Index
49                   field of the HFI  Descriptor  (see  struct  nbft_hfi.index)
50                   whose  HFI  Transport Info Descriptor Heap Object Reference
51                   field indicates this HFI Transport Info Descriptor.
52
53       flags       HFI Transport Flags, see enum nbft_hfi_info_tcp_flags.
54
55       pci_sbdf    PCI Express Routing ID for the HFI Transport Function: This
56                   field  indicates the PCI Express Routing ID as specified in
57                   the PCI Express Base Specification.
58
59       mac_addr    MAC Address: The MAC address of this HFI, in EUI-48TM  for‐
60                   mat,  as defined in the IEEE Guidelines for Use of Extended
61                   Unique Identifiers. This field shall be set to  a  non-zero
62                   value.
63
64       vlan        VLAN:  If  this field is set to a non-zero value, then this
65                   field contains the VLAN identifier if the  VLAN  associated
66                   with  this  HFI, as defined in IEEE 802.1q-2018. If no VLAN
67                   is associated with this  HFI,  then  this  field  shall  be
68                   cleared to 0h.
69
70       ip_origin   IP  Origin:  If this field is set to a non-zero value, then
71                   this field indicates the source of Ethernet  L3  configura‐
72                   tion  information  used  by  the driver for this interface.
73                   Valid values are defined in the Win 32 API:  NL_PREFIX_ORI‐
74                   GIN enumeration specification. This field should be cleared
75                   to 0h if the IP Origin field is unused by driver.
76
77       ip_address  IP Address: This field indicates the IPv4 or  IPv6  address
78                   of this HFI. This field shall be set to a non-zero value.
79
80       subnet_mask_prefix
81                   Subnet  Mask  Prefix: This field indicates the IPv4 or IPv6
82                   subnet mask in CIDR routing prefix notation.
83
84       ip_gateway  IP Gateway: If this field is set to a non-zero value,  this
85                   field  indicates the IPv4 or IPv6 address of the IP gateway
86                   for this HFI. If this field is cleared to 0h,  then  no  IP
87                   gateway is specified.
88
89       reserved1   Reserved.
90
91       route_metric
92                   Route  Metric:  If  this  field is set to a non-zero value,
93                   this field indicates the cost value for the route indicated
94                   by  this  HF. This field contains the value utilized by the
95                   pre-OS driver when  chosing  among  all  available  routes.
96                   Lower  values  relate to higher priority. Refer to IETF RFC
97                   4249.  If the pre-OS driver supports routing  and  did  not
98                   configure  a specific route metric for this interface, then
99                   the pre-OS driver should set this value to 500. If the pre-
100                   OS  driver does not support routing, then this field should
101                   be cleared to 0h.
102
103       primary_dns Primary DNS: If this field is set to a non-zero value, this
104                   field indicates the IPv4 or IPv6 address of the Primary DNS
105                   server for this HFI, if any, from byte  offset  0h  of  the
106                   NBFT  Table Header. If this field is cleared to 0h, then no
107                   Primary DNS is specified.
108
109       secondary_dns
110                   Secondary DNS: If this field is set to  a  non-zero  value,
111                   this  field  indicates the IPv4 or IPv6 address of the Sec‐
112                   ondary DNS server for this HFI, if any, from byte offset 0h
113                   of  the  NBFT Table Header. If this field is cleared to 0h,
114                   then no Secondary DNS is specified.
115
116       dhcp_server DHCP Server: If the DHCP Override bit is set  to  1h,  then
117                   this  field  indicates the IPv4 or IPv6 address of the DHCP
118                   server used to assign this HFI  address.  If  that  bit  is
119                   cleared to 0h, then this field is reserved.
120
121       host_name_obj
122                   Host  Name Heap Object Reference: If this field is set to a
123                   non-zero value, then this field indicates the location  and
124                   size of a heap object containing a Host Name string.
125
126       reserved2   Reserved.
127
128
129
130April 2023                 struct nbft_hfi_info_tcp                 libnvme(9)
Impressum