Print this page
Update i40e for new devices, prototype changes
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/man/man7d/i40e.7d.man.txt
+++ new/usr/src/man/man7d/i40e.7d.man.txt
1 1 I40E(7D) Devices I40E(7D)
2 2
|
↓ open down ↓ |
2 lines elided |
↑ open up ↑ |
3 3 NAME
4 4 i40e - Intel 710/722 Ethernet Device Driver
5 5
6 6 SYNOPSIS
7 7 /dev/net/i40e*
8 8
9 9 DESCRIPTION
10 10 The i40e driver is a GLDv3, multi-threaded, clonable, loadable device
11 11 driver that supports the Data Link Provider Interface, dlpi(7P). The
12 12 i40e driver supports the Intel 710 and 722 Ethernet Controller families
13 - of networking interface cards which come in 1 GbE, 10 GbE, 25 GbE, and 40
14 - GbE variants.
13 + of networking interface cards which support speeds of 1 GbE, 2.5 GbE, 5
14 + GbE, 10 GbE, 25 GbE, and 40 GbE.
15 15
16 16 In addition to basic device initialization and the sending and receiving
17 17 of frames, it supports the following features:
18 18
19 19 - Jumbo frames up to 9710 bytes.
20 20
21 21 - Promiscuous access via snoop(1M) and dlpi(7P)
22 22
23 23 - IPv4 Checksum Offload
24 24
25 25 - TCP, UDP, and SCTP checksum offload
26 26
27 27 - IPv4 and IPv6 TCP Segmentation offload
28 28
29 29 At this time, the i40e driver does not enable the use of energy efficient
30 30 Ethernet (EEE) or support the use of flow control through hardware pause
31 31 frames.
32 32
33 33 APPLICATION PROGRAMMING INTERFACE
34 34 For each device supported by the i40e installed in the system, a
35 35 character-special file will be created. This file supports the Data Link
36 36 Provider Interface (DLPI) which is documented in dlpi(7P). For most
37 37 consumers, the use of libdlpi(3LIB), is recommended.
38 38
39 39 Each instance is assigned a unique ascending integer identifier. A
40 40 device which has multiple ports may appear to the system as separate
41 41 instances. The system does not provide a guarantee on how these will be
42 42 presented. Using this instance identifier, one can determine the exact
43 43 character-special file to open. For example, the first instance
44 44 enumerated in the system, with id 0, would be named i40e0. It exists in
45 45 the file system at /dev/net/i40e0.
46 46
47 47 CONFIGURATION
48 48 The i40e driver always performs auto-negotiation and depending on the
49 49 model may negotiate to 40 Gbps, 25 Gbps, 10 Gbps, or 1 Gbps. At this
50 50 time, the driver requires the use of auto-negotiation.
51 51
52 52 The i40e driver is managed by the dladm(1M) utility. dladm(1M) is the
53 53 preferred interface for setting all properties. While driver.conf(4)
54 54 based configuration is possible, dladm(1M) is recommended. The i40e
55 55 driver may be joined into an aggregation based on the link aggregation
56 56 control protocol (LACP) through dladm(1M).
57 57
58 58 PROPERTIES
59 59 The device supports the following properties which may be tuned through
60 60 its driver.conf file, /kernel/drv/i40e.conf. Most of these properties
61 61 cannot be changed after the device has been started. The device is
62 62 started in response to a DLPI consumer opening the device and binding to
63 63 it. This happens when an IP interfaces is plumbed or another dlpi(7P)
64 64 consumer such as snoop(1M) or an LLDP daemon is started.
65 65
66 66 Some properties may be tuned at runtime with the dladm(1M) utility.
67 67 Properties that can be will have the name of the dladm property called
68 68 out explicitly.
69 69
70 70 These properties are not considered stable at this time. They may change
71 71 and should not be relied on. They are considered Volatile. It is not
72 72 expected that administrators of the system will have to tune these
73 73 values.
74 74
75 75 default_mtu
76 76 Minimum: 1500 | Maximum: 9710 | Runtime Property: mtu
77 77
78 78 The default_mtu property determines the starting MTU of the
79 79 various device instances. Note that the device's MTU also
80 80 determines the upper bound of the MTU of all VNICs created over
81 81 the device. The default MTU is 1500.
82 82
83 83 mr_enable
84 84 Minimum: 0 | Maximum: 1
85 85
86 86 The mr_enable property determines whether or not support for
87 87 multiple rings is enabled for the device. The default is always
88 88 to enable them. It is not recommended to to disable them.
89 89
90 90 rx_num_groups
91 91 Minimum: 1 | Maximum: 32
92 92
93 93 The rx_num_groups property determines the number of receive mac
94 94 groups provided by the driver. Each group can handle all unicast
95 95 traffic for a single MAC address, more groups means more unicast
96 96 traffic that can be steered by hardware. However, more groups
97 97 also means more demand for kernel memory. If you are not making
98 98 heavy use of VNICs, or do not need the efficiency gains of
99 99 hardware steering, then reducing this number can reduce kernel
100 100 memory taken by i40e.
101 101
102 102 rx_ring_size
103 103 Minimum: 64 | Maximum: 4096
104 104
105 105 The rx_ring_size property determines the number of descriptors
106 106 that will be used in each receive ring on the card.
107 107 Administrators should not normally need to tune this value.
108 108 Hardware requires that the ring size be a multiple of 32. The
109 109 system will round up the set value to the nearest multiple of 32.
110 110
111 111 tx_ring_size
112 112 Minimum: 64 | Maximum: 4096
113 113
114 114 The tx_ring_size property determines the number of descriptors
115 115 that will be used in each transmit ring on the card.
116 116 Administrators should not normally need to tune this value.
117 117 Hardware requires that the ring size be a multiple of 32. The
118 118 system will round up the set value to the nearest multiple of 32.
119 119
120 120 tx_resched_threshold
121 121 Minimum: 8 | Maximum: Variable
122 122
123 123 The tx_resched_threshold property determines the number of
124 124 descriptors that must be available for a frame to be transmitted.
125 125 The maximum is variable. It is dependent on the value of the
126 126 tx_ring_size property. At least eight descriptors must be
127 127 available for the device to function correctly.
128 128
129 129 rx_limit_per_intr
130 130 Minimum: 16 | Maximum: 4096
131 131
132 132 The rx_limit_per_intr property determines the maximum number of
133 133 packets that will be processed on a given ring during a single
134 134 interrupt. This is done to try and guarantee some amount of
135 135 liveness in the system. It is not expected that administrators
136 136 will have to tune this value.
137 137
138 138 tx_hcksum_enable
139 139 Minimum: 0 | Maximum: 1
140 140
141 141 The tx_hcksum_enable property controls whether or not the device
142 142 enables support for hardware checksumming of outgoing packets.
143 143 The default is to always enable support for this. Turning it off
144 144 will increase latency and decrease throughput when transmitting
145 145 packets, but should be done if a hardware bug is suspected.
146 146
147 147 rx_hcksum_enable
148 148 Minimum: 0 | Maximum: 1
149 149
150 150 The rx_hcksum_enable property controls whether or not the device
151 151 enables support for hardware checksumming of incoming packets.
152 152 The default is to always enable support for this. Turning it off
153 153 will increase latency and decrease throughput when receiving
154 154 packets, but should be done if a hardware bug is suspected.
155 155
156 156 rx_dma_threshold
157 157 Minimum: 0 | Maximum: INT32_MAX | Runtime Property:
158 158 _rx_dma_threshold
159 159
160 160 The rx_dma_threshold indicates the size in bytes of a received
161 161 frame, including all of its headers, at which the driver should
162 162 not copy the frame but instead bind DMA memory. By setting this
163 163 property to its minimum, all frames will be processed with DMA
164 164 binding. By setting this property to its maximum, all frames
165 165 will be processed by copying the frame.
166 166
167 167 tx_lso_enable
168 168 Minimum: 0 | Maximum: 1
169 169
170 170 The tx_lso_enable property controls whether or not the device
171 171 enables support for Large Segment Offloand (LSO) when
172 172 transmitting packets. The default is to always enable support
173 173 for this. Turning it off will decrease throughput when
174 174 transmitting packets, but should be done if a hardware bug is
175 175 suspected.
176 176
177 177 ARCHITECTURE
178 178 The i40e driver is only supported on x86 systems at this time.
179 179
|
↓ open down ↓ |
155 lines elided |
↑ open up ↑ |
180 180 FILES
181 181 /dev/net/i40e* Per-instance character device.
182 182
183 183 /kernel/drv/amd64/i40e Device driver (x86)
184 184
185 185 /kernel/drv/i40e.conf Driver configuration file
186 186
187 187 SEE ALSO
188 188 dladm(1M), snoop(1M), driver.conf(4), dlpi(7P)
189 189
190 -illumos July 1, 2020 illumos
190 +illumos January 18, 2021 illumos
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX