19 - Jumbo frames up to 9710 bytes.
20
21 - Promiscuous access via snoop(1M) and dlpi(7P)
22
23 - IPv4 Checksum Offload
24
25 - TCP, UDP, and SCTP checksum offload
26
27 At this time, the i40e driver does not enable the use of energy efficient
28 Ethernet (EEE) or support the use of flow control through hardware pause
29 frames.
30
31 APPLICATION PROGRAMMING INTERFACE
32 For each device supported by the i40e installed in the system, a
33 character-special file will be created. This file supports the Data Link
34 Provider Interface (DLPI) which is documented in dlpi(7P). For most
35 consumers, the use of libdlpi(3LIB), is recommended.
36
37 Each instance is assigned a unique ascending integer identifier. A
38 device which has multiple ports may appear to the system as separate
39 instances. The system does not provide a guarnatee on how these will be
40 presented. Using this instance identifier, one can determine the exact
41 character-special file to open. For example, the first instance
42 enumerated in the system, with id 0, would be named i40e0. It exists in
43 the file system at /dev/net/i40e0.
44
45 CONFIGURATION
46 The i40e driver always performs auto-negotiation and depending on the
47 model may negotiate to 40 Gbps, 25 Gbps, 10 Gbps, or 1 Gbps. At this
48 time, the driver requires the use of auto-negotiation.
49
50 The i40e driver is managed by the dladm(1M) utility. dladm(1M) is the
51 preferred interface for setting all properties. While driver.conf(4)
52 based configuration is possible, dladm(1M) is recommended. The i40e
53 driver may be joined into an aggregation based on the link aggregation
54 control protocol (LACP) through dladm(1M).
55
56 PROPERTIES
57 The device supports the following properties which may be tuned through
58 its driver.conf file, /kernel/drv/i40e.conf. Most of these properties
59 cannot be changed after the device has been started. The device is
64 Some properties may be tuned at runtime with the dladm(1M) utility.
65 Properties that can be will have the name of the dladm property called
66 out explicitly.
67
68 These properties are not considered stable at this time. They may change
69 and should not be relied on. They are considered Volatile. It is not
70 expected that administrators of the system will have to tune these
71 values.
72
73 default_mtu
74 Minimum: 1500 | Maximum: 9710 | Runtime Property: mtu
75
76 The default_mtu property determines the starting MTU of the
77 various device instances. Note that the device's MTU also
78 determines the upper bound of the MTU of all VNICs created over
79 the device. The default MTU is 1500.
80
81 mr_enable
82 Minimum: 0 | Maximum: 1
83
84 The mr_enable proeprty determines whether or not support for
85 multiple rings is enabled for the device. The default is always
86 to enable them. It is not recommended to to disable them.
87
88 rx_ring_size
89 Minimum: 64 | Maximum: 4096
90
91 The rx_ring_size property determines the number of descriptors
92 that will be used in each receive ring on the card.
93 Administrators should not normally need to tune this value.
94 Hardware requires that the ring size be a multiple of 32. The
95 system will round up the set value to the nearest multiple of 32.
96
97 tx_ring_size
98 Minimum: 64 | Maximum: 4096
99
100 The tx_ring_size property determines the number of descriptors
101 that will be used in each transmit ring on the card.
102 Administrators should not normally need to tune this value.
103 Hardware requires that the ring size be a multiple of 32. The
104 system will round up the set value to the nearest multiple of 32.
108
109 The tx_resched_threshold property determines the number of
110 descriptors that must be available for a frame to be transmitted.
111 The maximum is variable. It is dependent on the value of the
112 tx_ring_size property. At least eight descriptors must be
113 available for the device to function correctly.
114
115 rx_limit_per_intr
116 Minimum: 16 | Maximum: 4096
117
118 The rx_limit_per_intr property determines the maximum number of
119 packets that will be processed on a given ring during a single
120 interrupt. This is done to try and guarantee some amount of
121 liveness in the system. It is not expected that administrators
122 will have to tune this value.
123
124 tx_hcksum_enable
125 Minimum: 0 | Maximum: 1
126
127 The tx_hcksum_enable property controls whether or not the device
128 enables support for hardware checksuming of outgoing packets.
129 The default is to always enable support for this. Turning it off
130 will increase latency and decrease throughput when transmitting
131 packets, but should be done if a hardware bug is suspected.
132
133 rx_hcksum_enable
134 Minimum: 0 | Maximum: 1
135
136 The rx_hcksum_enable property controls whether or not the device
137 enables support for hardware checksuming of incoming packets.
138 The default is to always enable support for this. Turning it off
139 will increase latency and decrease throughput when receiving
140 packets, but should be done if a hardware bug is suspected.
141
142 rx_dma_threshold
143 Minimum: 0 | Maximum: INT32_MAX | Runtime Property:
144 _rx_dma_treshold
145
146 The rx_dma_treshold indicates the size in bytes of a received
147 frame, including all of its headers, at which the driver should
148 not copy the frame but instead bind DMA memory. By setting this
149 property to its minimum, all frames will be processed with DMA
150 binding. By setting this property to its maximum, all frames
151 will be processed by copying the frame.
152
153 tx_lso_enable
154 Minimum: 0 | Maximum: 1
155
156 The tx_lso_enable property controls whether or not the device
157 enables support for Large Segment Offloand (LSO) when
158 transmitting packets. The default is to always enable support
159 for this. Turning it off will decrease throughput when
160 transmitting packets, but should be done if a hardware bug is
161 suspected.
162
163 ARCHITECTURE
164 The i40e driver is only supported on x86 systems at this time.
165
166 FILES
167 /dev/net/i40e* Per-instance character device.
168
169 /kernel/drv/i40e 32-bit device driver (x86).
170
171 /kernel/drv/amd64/i40e 64-bit device driver (x86).
172
173 /kernel/drv/i40e.conf Driver configuration file.
174
175 SEE ALSO
176 dladm(1M), snoop(1M), driver.conf(4), dlpi(7P)
177
178 illumos May 23, 2018 illumos
|
19 - Jumbo frames up to 9710 bytes.
20
21 - Promiscuous access via snoop(1M) and dlpi(7P)
22
23 - IPv4 Checksum Offload
24
25 - TCP, UDP, and SCTP checksum offload
26
27 At this time, the i40e driver does not enable the use of energy efficient
28 Ethernet (EEE) or support the use of flow control through hardware pause
29 frames.
30
31 APPLICATION PROGRAMMING INTERFACE
32 For each device supported by the i40e installed in the system, a
33 character-special file will be created. This file supports the Data Link
34 Provider Interface (DLPI) which is documented in dlpi(7P). For most
35 consumers, the use of libdlpi(3LIB), is recommended.
36
37 Each instance is assigned a unique ascending integer identifier. A
38 device which has multiple ports may appear to the system as separate
39 instances. The system does not provide a guarantee on how these will be
40 presented. Using this instance identifier, one can determine the exact
41 character-special file to open. For example, the first instance
42 enumerated in the system, with id 0, would be named i40e0. It exists in
43 the file system at /dev/net/i40e0.
44
45 CONFIGURATION
46 The i40e driver always performs auto-negotiation and depending on the
47 model may negotiate to 40 Gbps, 25 Gbps, 10 Gbps, or 1 Gbps. At this
48 time, the driver requires the use of auto-negotiation.
49
50 The i40e driver is managed by the dladm(1M) utility. dladm(1M) is the
51 preferred interface for setting all properties. While driver.conf(4)
52 based configuration is possible, dladm(1M) is recommended. The i40e
53 driver may be joined into an aggregation based on the link aggregation
54 control protocol (LACP) through dladm(1M).
55
56 PROPERTIES
57 The device supports the following properties which may be tuned through
58 its driver.conf file, /kernel/drv/i40e.conf. Most of these properties
59 cannot be changed after the device has been started. The device is
64 Some properties may be tuned at runtime with the dladm(1M) utility.
65 Properties that can be will have the name of the dladm property called
66 out explicitly.
67
68 These properties are not considered stable at this time. They may change
69 and should not be relied on. They are considered Volatile. It is not
70 expected that administrators of the system will have to tune these
71 values.
72
73 default_mtu
74 Minimum: 1500 | Maximum: 9710 | Runtime Property: mtu
75
76 The default_mtu property determines the starting MTU of the
77 various device instances. Note that the device's MTU also
78 determines the upper bound of the MTU of all VNICs created over
79 the device. The default MTU is 1500.
80
81 mr_enable
82 Minimum: 0 | Maximum: 1
83
84 The mr_enable property determines whether or not support for
85 multiple rings is enabled for the device. The default is always
86 to enable them. It is not recommended to to disable them.
87
88 rx_ring_size
89 Minimum: 64 | Maximum: 4096
90
91 The rx_ring_size property determines the number of descriptors
92 that will be used in each receive ring on the card.
93 Administrators should not normally need to tune this value.
94 Hardware requires that the ring size be a multiple of 32. The
95 system will round up the set value to the nearest multiple of 32.
96
97 tx_ring_size
98 Minimum: 64 | Maximum: 4096
99
100 The tx_ring_size property determines the number of descriptors
101 that will be used in each transmit ring on the card.
102 Administrators should not normally need to tune this value.
103 Hardware requires that the ring size be a multiple of 32. The
104 system will round up the set value to the nearest multiple of 32.
108
109 The tx_resched_threshold property determines the number of
110 descriptors that must be available for a frame to be transmitted.
111 The maximum is variable. It is dependent on the value of the
112 tx_ring_size property. At least eight descriptors must be
113 available for the device to function correctly.
114
115 rx_limit_per_intr
116 Minimum: 16 | Maximum: 4096
117
118 The rx_limit_per_intr property determines the maximum number of
119 packets that will be processed on a given ring during a single
120 interrupt. This is done to try and guarantee some amount of
121 liveness in the system. It is not expected that administrators
122 will have to tune this value.
123
124 tx_hcksum_enable
125 Minimum: 0 | Maximum: 1
126
127 The tx_hcksum_enable property controls whether or not the device
128 enables support for hardware checksumming of outgoing packets.
129 The default is to always enable support for this. Turning it off
130 will increase latency and decrease throughput when transmitting
131 packets, but should be done if a hardware bug is suspected.
132
133 rx_hcksum_enable
134 Minimum: 0 | Maximum: 1
135
136 The rx_hcksum_enable property controls whether or not the device
137 enables support for hardware checksumming of incoming packets.
138 The default is to always enable support for this. Turning it off
139 will increase latency and decrease throughput when receiving
140 packets, but should be done if a hardware bug is suspected.
141
142 rx_dma_threshold
143 Minimum: 0 | Maximum: INT32_MAX | Runtime Property:
144 _rx_dma_threshold
145
146 The rx_dma_threshold indicates the size in bytes of a received
147 frame, including all of its headers, at which the driver should
148 not copy the frame but instead bind DMA memory. By setting this
149 property to its minimum, all frames will be processed with DMA
150 binding. By setting this property to its maximum, all frames
151 will be processed by copying the frame.
152
153 tx_lso_enable
154 Minimum: 0 | Maximum: 1
155
156 The tx_lso_enable property controls whether or not the device
157 enables support for Large Segment Offloand (LSO) when
158 transmitting packets. The default is to always enable support
159 for this. Turning it off will decrease throughput when
160 transmitting packets, but should be done if a hardware bug is
161 suspected.
162
163 ARCHITECTURE
164 The i40e driver is only supported on x86 systems at this time.
165
166 FILES
167 /dev/net/i40e* Per-instance character device.
168
169 /kernel/drv/amd64/i40e Device driver (x86)
170
171 /kernel/drv/i40e.conf Driver configuration file
172
173 SEE ALSO
174 dladm(1M), snoop(1M), driver.conf(4), dlpi(7P)
175
176 illumos January 10, 2020 illumos
|