FreeBSD/Linux Kernel Cross Reference
sys/dev/ixgbe/README
1 FreeBSD Driver for Intel(R) Ethernet 10 Gigabit PCI Express Server Adapters
2 ============================================================================
3 /*$FreeBSD: releng/9.0/sys/dev/ixgbe/README 222588 2011-06-02 00:34:57Z jfv $*/
4
5 November 12, 2010
6
7
8 Contents
9 ========
10
11 - Overview
12 - Supported Adapters
13 - Building and Installation
14 - Additional Configurations and Tuning
15 - Known Limitations
16
17
18 Overview
19 ========
20
21 This file describes the FreeBSD* driver for the Intel(R) Ethernet 10 Gigabit
22 Family of Adapters. Driver has been developed for use with FreeBSD 7.2 or later.
23
24 For questions related to hardware requirements, refer to the documentation
25 supplied with your Intel 10GbE adapter. All hardware requirements listed
26 apply to use with FreeBSD.
27
28
29 Supported Adapters
30 ==================
31
32 The driver in this release is compatible with 82598 and 82599-based Intel
33 Network Connections.
34
35 SFP+ Devices with Pluggable Optics
36 ----------------------------------
37
38 82599-BASED ADAPTERS
39
40 NOTE: If your 82599-based Intel(R) Ethernet Network Adapter came with Intel
41 optics, or is an Intel(R) Ethernet Server Adapter X520-2, then it only supports
42 Intel optics and/or the direct attach cables listed below.
43
44 When 82599-based SFP+ devices are connected back to back, they should be set to
45 the same Speed setting via Ethtool. Results may vary if you mix speed settings.
46
47 Supplier Type Part Numbers
48
49 SR Modules
50 Intel DUAL RATE 1G/10G SFP+ SR (bailed) FTLX8571D3BCV-IT
51 Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDZ-IN2
52 Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDDZ-IN1
53 LR Modules
54 Intel DUAL RATE 1G/10G SFP+ LR (bailed) FTLX1471D3BCV-IT
55 Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDZ-IN2
56 Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDDZ-IN1
57
58 The following is a list of 3rd party SFP+ modules and direct attach cables that
59 have received some testing. Not all modules are applicable to all devices.
60
61 Supplier Type Part Numbers
62
63 Finisar SFP+ SR bailed, 10g single rate FTLX8571D3BCL
64 Avago SFP+ SR bailed, 10g single rate AFBR-700SDZ
65 Finisar SFP+ LR bailed, 10g single rate FTLX8571D3BCV-IT
66
67 Finisar DUAL RATE 1G/10G SFP+ SR (No Bail) FTLX8571D3QCV-IT
68 Avago DUAL RATE 1G/10G SFP+ SR (No Bail) AFBR-703SDZ-IN1
69 Finisar DUAL RATE 1G/10G SFP+ LR (No Bail) FTLX1471D3QCV-IT
70 Avago DUAL RATE 1G/10G SFP+ LR (No Bail) AFCT-701SDZ-IN1
71 Finistar 1000BASE-T SFP FCLF8522P2BTL
72 Avago 1000BASE-T SFP ABCU-5710RZ
73
74 82599-based adapters support all passive and active limiting direct attach
75 cables that comply with SFF-8431 v4.1 and SFF-8472 v10.4 specifications.
76
77 Laser turns off for SFP+ when ifconfig down
78 --------------------------------------------------------
79 "ifconfig down" turns off the laser for 82599-based SFP+ fiber adapters.
80 "ifconfig up" turns on the later.
81
82 82598-BASED ADAPTERS
83
84 NOTES for 82598-Based Adapters:
85 - Intel(R) Ethernet Network Adapters that support removable optical modules
86 only support their original module type (i.e., the Intel(R) 10 Gigabit SR
87 Dual Port Express Module only supports SR optical modules). If you plug
88 in a different type of module, the driver will not load.
89 - Hot Swapping/hot plugging optical modules is not supported.
90 - Only single speed, 10 gigabit modules are supported.
91 - LAN on Motherboard (LOMs) may support DA, SR, or LR modules. Other module
92 types are not supported. Please see your system documentation for details.
93
94 The following is a list of 3rd party SFP+ modules and direct attach cables that have
95 received some testing. Not all modules are applicable to all devices.
96
97 Supplier Type Part Numbers
98
99 Finisar SFP+ SR bailed, 10g single rate FTLX8571D3BCL
100 Avago SFP+ SR bailed, 10g single rate AFBR-700SDZ
101 Finisar SFP+ LR bailed, 10g single rate FTLX1471D3BCL
102
103 82598-based adapters support all passive direct attach cables that comply
104 with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. Active direct attach
105 cables are not supported.
106
107 Third party optic modules and cables referred to above are listed only for the
108 purpose of highlighting third party specifications and potential compatibility,
109 and are not recommendations or endorsements or sponsorship of any third party's
110 product by Intel. Intel is not endorsing or promoting products made by any
111 third party and the third party reference is provided only to share information
112 regarding certain optic modules and cables with the above specifications. There
113 may be other manufacturers or suppliers, producing or supplying optic modules
114 and cables with similar or matching descriptions. Customers must use their own
115 discretion and diligence to purchase optic modules and cables from any third
116 party of their choice. Customer are solely responsible for assessing the
117 suitability of the product and/or devices and for the selection of the vendor
118 for purchasing any product. INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL
119 DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF
120 SUCH THIRD PARTY PRODUCTS OR SELECTION OF VENDOR BY CUSTOMERS.
121
122 Configuration and Tuning
123 ========================
124
125 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
126 all 10 Gigabit adapters.
127
128 Jumbo Frames
129 ------------
130 To enable Jumbo Frames, use the ifconfig utility to increase the MTU
131 beyond 1500 bytes.
132
133 NOTES:
134
135 - The Jumbo Frames setting on the switch must be set to at least
136 22 bytes larger than that of the adapter.
137
138 - There are known performance issues with this driver when running
139 UDP traffic with Jumbo Frames.
140
141 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
142 MTU range is 1500. To modify the setting, enter the following:
143
144 ifconfig ix<interface_num> <hostname or IP address> mtu 9000
145
146 To confirm an interface's MTU value, use the ifconfig command. To confirm
147 the MTU used between two specific devices, use:
148
149 route get <destination_IP_address>
150
151 VLANs
152 -----
153 To create a new VLAN pseudo-interface:
154
155 ifconfig <vlan_name> create
156
157 To associate the VLAN pseudo-interface with a physical interface and
158 assign a VLAN ID, IP address, and netmask:
159
160 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
161 <vlan_id> vlandev <physical_interface>
162
163 Example:
164
165 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev ixgbe0
166
167 In this example, all packets will be marked on egress with 802.1Q VLAN
168 tags, specifying a VLAN ID of 10.
169
170 To remove a VLAN pseudo-interface:
171
172 ifconfig <vlan_name> destroy
173
174
175 Checksum Offload
176 ----------------
177
178 Checksum offloading supports both TCP and UDP packets and is
179 supported for both transmit and receive.
180
181 Checksum offloading can be enabled or disabled using ifconfig.
182 Both transmit and receive offloading will be either enabled or
183 disabled together. You cannot enable/disable one without the other.
184
185 To enable checksum offloading:
186
187 ifconfig <interface_num> rxcsum
188
189 To disable checksum offloading:
190
191 ifconfig <interface_num> -rxcsum
192
193 To confirm the current setting:
194
195 ifconfig <interface_num>
196
197
198 TSO
199 ---
200
201 TSO is enabled by default.
202
203 To disable:
204
205 ifconfig <interface_num> -tso
206
207 To re-enable:
208
209 ifconfig <interface_num> tso
210
211 LRO
212 ---
213
214 Large Receive Offload is available in the driver; it is on by default.
215 It can be disabled by using:
216 ifconfig <interface_num> -lro
217 To enable:
218 ifconfig <interface_num> lro
219
220
221 Important system configuration changes:
222 ---------------------------------------
223
224 When there is a choice run on a 64bit OS rather than 32, it makes a
225 significant difference in improvement.
226
227 The default scheduler SCHED_4BSD is not smart about SMP locality issues.
228 Significant improvement can be achieved by switching to the ULE scheduler.
229
230 This is done by changing the entry in the config file from SCHED_4BSD to
231 SCHED_ULE. Note that this is only advisable on FreeBSD 7, on 6.X there have
232 been stability problems with ULE.
233
234 The interface can generate high number of interrupts. To avoid running
235 into the limit set by the kernel, adjust hw.intr_storm_threshold
236 setting using sysctl:
237
238 sysctl hw.intr_storm_threshold=9000 (the default is 1000)
239
240 For this change to take effect on boot, edit /etc/sysctl.conf and add the
241 line:
242 hw.intr_storm_threshold=9000
243
244 If you still see Interrupt Storm detected messages, increase the limit to a
245 higher number.
246
247 Best throughput results are seen with a large MTU; use 9000 if possible.
248
249 The default number of descriptors is 1024, increasing this to 2K or even
250 4K may improve performance in some workloads, but change carefully.
251
252
253 Known Limitations
254 =================
255
256 For known hardware and troubleshooting issues, refer to the following website.
257
258 http://support.intel.com/support/go/network/adapter/home.htm
259
260 Either select the link for your adapter or perform a search for the adapter
261 number. The adapter's page lists many issues. For a complete list of hardware
262 issues download your adapter's user guide and read the Release Notes.
263
264 UDP stress test with 10GbE driver
265 ---------------------------------
266 Under small packets UDP stress test with 10GbE driver, the FreeBSD system
267 will drop UDP packets due to the fullness of socket buffers. You may want
268 to change the driver's Flow Control variables to the minimum value for
269 controlling packet reception.
270
271 Attempting to configure larger MTUs with a large numbers of processors may
272 generate the error message "ix0:could not setup receive structures"
273 --------------------------------------------------------------------------
274 When using the ixgbe driver with RSS autoconfigured based on the number of
275 cores (the default setting) and that number is larger than 4, increase the
276 memory resources allocated for the mbuf pool as follows:
277
278 Add to the sysctl.conf file for the system:
279
280 kern.ipc.nmbclusters=262144
281 kern.ipc.nmbjumbop=262144
282
283 Lower than expected performance on dual port 10GbE devices
284 ----------------------------------------------------------
285 Some PCI-E x8 slots are actually configured as x4 slots. These slots have
286 insufficient bandwidth for full 10Gbe line rate with dual port 10GbE devices.
287 The driver can detect this situation and will write the following message in
288 the system log: "PCI-Express bandwidth available for this card is not
289 sufficient for optimal performance. For optimal performance a x8 PCI-Express
290 slot is required."
291
292 If this error occurs, moving your adapter to a true x8 slot will resolve the
293 issue.
294
295
296
297 Support
298 =======
299
300 For general information and support, go to the Intel support website at:
301
302 www.intel.com/support/
303
304 If an issue is identified with the released source code on the supported
305 kernel with a supported adapter, email the specific information related to
306 the issue to freebsd@intel.com
307
308
309
310 License
311 =======
312
313 This software program is released under the terms of a license agreement
314 between you ('Licensee') and Intel. Do not use or load this software or any
315 associated materials (collectively, the 'Software') until you have carefully
316 read the full terms and conditions of the LICENSE located in this software
317 package. By loading or using the Software, you agree to the terms of this
318 Agreement. If you do not agree with the terms of this Agreement, do not
319 install or use the Software.
320
321 * Other names and brands may be claimed as the property of others.
322
323
Cache object: 7700603195d4d652f88bec1d91f0ff07
|