1 FreeBSD Driver for Intel(R) Ethernet 10 Gigabit PCI Express Server Adapters
2 ============================================================================
13 - Building and Installation
14 - Additional Configurations and Tuning
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.
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.
32 The driver in this release is compatible with 82598 and 82599-based Intel
35 SFP+ Devices with Pluggable Optics
36 ----------------------------------
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.
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.
47 Supplier Type Part Numbers
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
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
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.
61 Supplier Type Part Numbers
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
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
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.
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.
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.
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.
97 Supplier Type Part Numbers
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
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.
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.
122 Configuration and Tuning
123 ========================
125 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
126 all 10 Gigabit adapters.
130 To enable Jumbo Frames, use the ifconfig utility to increase the MTU
135 - The Jumbo Frames setting on the switch must be set to at least
136 22 bytes larger than that of the adapter.
138 - There are known performance issues with this driver when running
139 UDP traffic with Jumbo Frames.
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:
144 ifconfig ix<interface_num> <hostname or IP address> mtu 9000
146 To confirm an interface's MTU value, use the ifconfig command. To confirm
147 the MTU used between two specific devices, use:
149 route get <destination_IP_address>
153 To create a new VLAN pseudo-interface:
155 ifconfig <vlan_name> create
157 To associate the VLAN pseudo-interface with a physical interface and
158 assign a VLAN ID, IP address, and netmask:
160 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
161 <vlan_id> vlandev <physical_interface>
165 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev ixgbe0
167 In this example, all packets will be marked on egress with 802.1Q VLAN
168 tags, specifying a VLAN ID of 10.
170 To remove a VLAN pseudo-interface:
172 ifconfig <vlan_name> destroy
178 Checksum offloading supports both TCP and UDP packets and is
179 supported for both transmit and receive.
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.
185 To enable checksum offloading:
187 ifconfig <interface_num> rxcsum
189 To disable checksum offloading:
191 ifconfig <interface_num> -rxcsum
193 To confirm the current setting:
195 ifconfig <interface_num>
201 TSO is enabled by default.
205 ifconfig <interface_num> -tso
209 ifconfig <interface_num> tso
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
218 ifconfig <interface_num> lro
221 Important system configuration changes:
222 ---------------------------------------
224 When there is a choice run on a 64bit OS rather than 32, it makes a
225 significant difference in improvement.
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.
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.
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:
238 sysctl hw.intr_storm_threshold=9000 (the default is 1000)
240 For this change to take effect on boot, edit /etc/sysctl.conf and add the
242 hw.intr_storm_threshold=9000
244 If you still see Interrupt Storm detected messages, increase the limit to a
247 Best throughput results are seen with a large MTU; use 9000 if possible.
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.
256 For known hardware and troubleshooting issues, refer to the following website.
258 http://support.intel.com/support/go/network/adapter/home.htm
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.
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.
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:
278 Add to the sysctl.conf file for the system:
280 kern.ipc.nmbclusters=262144
281 kern.ipc.nmbjumbop=262144
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
292 If this error occurs, moving your adapter to a true x8 slot will resolve the
300 For general information and support, go to the Intel support website at:
302 www.intel.com/support/
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
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.
321 * Other names and brands may be claimed as the property of others.