]> CyberLeo.Net >> Repos - FreeBSD/releng/9.0.git/blob - sys/dev/ixgbe/README
Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
[FreeBSD/releng/9.0.git] / sys / dev / ixgbe / README
1 FreeBSD Driver for Intel(R) Ethernet 10 Gigabit PCI Express Server Adapters
2 ============================================================================
3 /*$FreeBSD$*/
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