blob: af77ed3c4172088bf57b11d57183f003031b7cab [file] [log] [blame]
PJ Waskiewicz09e1c062009-03-13 22:15:54 +00001Linux Base Driver for 10 Gigabit PCI Express Intel(R) Network Connection
2========================================================================
3
Jeff Kirsher872857a2010-12-09 23:55:47 -08004Intel Gigabit Linux driver.
5Copyright(c) 1999 - 2010 Intel Corporation.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +00006
7Contents
8========
9
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000010- Identifying Your Adapter
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000011- Additional Configurations
Jeff Kirsher872857a2010-12-09 23:55:47 -080012- Performance Tuning
13- Known Issues
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000014- Support
15
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000016Identifying Your Adapter
17========================
18
Jeff Kirsher872857a2010-12-09 23:55:47 -080019The driver in this release is compatible with 82598 and 82599-based Intel
20Network Connections.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000021
Jeff Kirsher872857a2010-12-09 23:55:47 -080022For more information on how to identify your adapter, go to the Adapter &
23Driver ID Guide at:
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000024
Jeff Kirsher872857a2010-12-09 23:55:47 -080025 http://support.intel.com/support/network/sb/CS-012904.htm
26
27SFP+ Devices with Pluggable Optics
28----------------------------------
29
3082599-BASED ADAPTERS
31
32NOTES: If your 82599-based Intel(R) Network Adapter came with Intel optics, or
33is an Intel(R) Ethernet Server Adapter X520-2, then it only supports Intel
34optics and/or the direct attach cables listed below.
35
36When 82599-based SFP+ devices are connected back to back, they should be set to
Jeff Kirsher68f20d92010-12-17 12:14:34 +000037the same Speed setting via ethtool. Results may vary if you mix speed settings.
Jeff Kirsher872857a2010-12-09 23:55:47 -08003882598-based adapters support all passive direct attach cables that comply
39with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. Active direct attach
40cables are not supported.
41
42Supplier Type Part Numbers
43
44SR Modules
45Intel DUAL RATE 1G/10G SFP+ SR (bailed) FTLX8571D3BCV-IT
46Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDDZ-IN1
47Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDZ-IN2
48LR Modules
49Intel DUAL RATE 1G/10G SFP+ LR (bailed) FTLX1471D3BCV-IT
50Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDDZ-IN1
51Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDZ-IN2
52
53The following is a list of 3rd party SFP+ modules and direct attach cables that
54have received some testing. Not all modules are applicable to all devices.
55
56Supplier Type Part Numbers
57
58Finisar SFP+ SR bailed, 10g single rate FTLX8571D3BCL
59Avago SFP+ SR bailed, 10g single rate AFBR-700SDZ
60Finisar SFP+ LR bailed, 10g single rate FTLX1471D3BCL
61
62Finisar DUAL RATE 1G/10G SFP+ SR (No Bail) FTLX8571D3QCV-IT
63Avago DUAL RATE 1G/10G SFP+ SR (No Bail) AFBR-703SDZ-IN1
64Finisar DUAL RATE 1G/10G SFP+ LR (No Bail) FTLX1471D3QCV-IT
65Avago DUAL RATE 1G/10G SFP+ LR (No Bail) AFCT-701SDZ-IN1
66Finistar 1000BASE-T SFP FCLF8522P2BTL
67Avago 1000BASE-T SFP ABCU-5710RZ
68
6982599-based adapters support all passive and active limiting direct attach
70cables that comply with SFF-8431 v4.1 and SFF-8472 v10.4 specifications.
71
72Laser turns off for SFP+ when ifconfig down
73-------------------------------------------
74"ifconfig down" turns off the laser for 82599-based SFP+ fiber adapters.
75"ifconfig up" turns on the later.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000076
77
Jeff Kirsher872857a2010-12-09 23:55:47 -08007882598-BASED ADAPTERS
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000079
Jeff Kirsher872857a2010-12-09 23:55:47 -080080NOTES for 82598-Based Adapters:
81- Intel(R) Network Adapters that support removable optical modules only support
82 their original module type (i.e., the Intel(R) 10 Gigabit SR Dual Port
83 Express Module only supports SR optical modules). If you plug in a different
84 type of module, the driver will not load.
85- Hot Swapping/hot plugging optical modules is not supported.
86- Only single speed, 10 gigabit modules are supported.
87- LAN on Motherboard (LOMs) may support DA, SR, or LR modules. Other module
88 types are not supported. Please see your system documentation for details.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000089
Jeff Kirsher872857a2010-12-09 23:55:47 -080090The following is a list of 3rd party SFP+ modules and direct attach cables that
91have received some testing. Not all modules are applicable to all devices.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000092
Jeff Kirsher872857a2010-12-09 23:55:47 -080093Supplier Type Part Numbers
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000094
Jeff Kirsher872857a2010-12-09 23:55:47 -080095Finisar SFP+ SR bailed, 10g single rate FTLX8571D3BCL
96Avago SFP+ SR bailed, 10g single rate AFBR-700SDZ
97Finisar SFP+ LR bailed, 10g single rate FTLX1471D3BCL
PJ Waskiewicz09e1c062009-03-13 22:15:54 +000098
Jeff Kirsher872857a2010-12-09 23:55:47 -08009982598-based adapters support all passive direct attach cables that comply
100with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. Active direct attach
101cables are not supported.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000102
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000103
Jeff Kirsher872857a2010-12-09 23:55:47 -0800104Flow Control
105------------
106Ethernet Flow Control (IEEE 802.3x) can be configured with ethtool to enable
107receiving and transmitting pause frames for ixgbe. When TX is enabled, PAUSE
108frames are generated when the receive packet buffer crosses a predefined
109threshold. When rx is enabled, the transmit unit will halt for the time delay
110specified when a PAUSE frame is received.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000111
Jeff Kirsher872857a2010-12-09 23:55:47 -0800112Flow Control is enabled by default. If you want to disable a flow control
Jeff Kirsher68f20d92010-12-17 12:14:34 +0000113capable link partner, use ethtool:
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000114
Jeff Kirsher872857a2010-12-09 23:55:47 -0800115 ethtool -A eth? autoneg off RX off TX off
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000116
Jeff Kirsher872857a2010-12-09 23:55:47 -0800117NOTE: For 82598 backplane cards entering 1 gig mode, flow control default
118behavior is changed to off. Flow control in 1 gig mode on these devices can
119lead to Tx hangs.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000120
121Additional Configurations
122=========================
123
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000124 Jumbo Frames
125 ------------
126 The driver supports Jumbo Frames for all adapters. Jumbo Frames support is
127 enabled by changing the MTU to a value larger than the default of 1500.
128 The maximum value for the MTU is 16110. Use the ifconfig command to
129 increase the MTU size. For example:
130
131 ifconfig ethx mtu 9000 up
132
133 The maximum MTU setting for Jumbo Frames is 16110. This value coincides
134 with the maximum Jumbo Frames size of 16128.
135
136 Generic Receive Offload, aka GRO
137 --------------------------------
138 The driver supports the in-kernel software implementation of GRO. GRO has
139 shown that by coalescing Rx traffic into larger chunks of data, CPU
140 utilization can be significantly reduced when under large Rx load. GRO is an
141 evolution of the previously-used LRO interface. GRO is able to coalesce
142 other protocols besides TCP. It's also safe to use with configurations that
143 are problematic for LRO, namely bridging and iSCSI.
144
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000145 Data Center Bridging, aka DCB
146 -----------------------------
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000147 DCB is a configuration Quality of Service implementation in hardware.
148 It uses the VLAN priority tag (802.1p) to filter traffic. That means
149 that there are 8 different priorities that traffic can be filtered into.
150 It also enables priority flow control which can limit or eliminate the
151 number of dropped packets during network stress. Bandwidth can be
152 allocated to each of these priorities, which is enforced at the hardware
153 level.
154
155 To enable DCB support in ixgbe, you must enable the DCB netlink layer to
156 allow the userspace tools (see below) to communicate with the driver.
157 This can be found in the kernel configuration here:
158
159 -> Networking support
160 -> Networking options
161 -> Data Center Bridging support
162
163 Once this is selected, DCB support must be selected for ixgbe. This can
164 be found here:
165
166 -> Device Drivers
167 -> Network device support (NETDEVICES [=y])
168 -> Ethernet (10000 Mbit) (NETDEV_10000 [=y])
169 -> Intel(R) 10GbE PCI Express adapters support
170 -> Data Center Bridging (DCB) Support
171
172 After these options are selected, you must rebuild your kernel and your
173 modules.
174
175 In order to use DCB, userspace tools must be downloaded and installed.
176 The dcbd tools can be found at:
177
178 http://e1000.sf.net
179
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000180 Ethtool
181 -------
182 The driver utilizes the ethtool interface for driver configuration and
Jeff Kirsher872857a2010-12-09 23:55:47 -0800183 diagnostics, as well as displaying statistical information. The latest
Jeff Kirsher68f20d92010-12-17 12:14:34 +0000184 ethtool version is required for this functionality.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000185
186 The latest release of ethtool can be found from
Jeff Kirsher68f20d92010-12-17 12:14:34 +0000187 http://ftp.kernel.org/pub/software/network/ethtool/
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000188
Jeff Kirsher872857a2010-12-09 23:55:47 -0800189 FCoE
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000190 ----
Jeff Kirsher872857a2010-12-09 23:55:47 -0800191 This release of the ixgbe driver contains new code to enable users to use
192 Fiber Channel over Ethernet (FCoE) and Data Center Bridging (DCB)
193 functionality that is supported by the 82598-based hardware. This code has
194 no default effect on the regular driver operation, and configuring DCB and
195 FCoE is outside the scope of this driver README. Refer to
196 http://www.open-fcoe.org/ for FCoE project information and contact
197 e1000-eedc@lists.sourceforge.net for DCB information.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000198
Jeff Kirsher872857a2010-12-09 23:55:47 -0800199 MAC and VLAN anti-spoofing feature
200 ----------------------------------
201 When a malicious driver attempts to send a spoofed packet, it is dropped by
202 the hardware and not transmitted. An interrupt is sent to the PF driver
203 notifying it of the spoof attempt.
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000204
Jeff Kirsher872857a2010-12-09 23:55:47 -0800205 When a spoofed packet is detected the PF driver will send the following
206 message to the system log (displayed by the "dmesg" command):
207
208 Spoof event(s) detected on VF (n)
209
210 Where n=the VF that attempted to do the spoofing.
211
212
213Performance Tuning
214==================
215
216An excellent article on performance tuning can be found at:
217
218http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf
219
220
221Known Issues
222============
223
224 Enabling SR-IOV in a 32-bit Microsoft* Windows* Server 2008 Guest OS using
225 Intel (R) 82576-based GbE or Intel (R) 82599-based 10GbE controller under KVM
226 -----------------------------------------------------------------------------
227 KVM Hypervisor/VMM supports direct assignment of a PCIe device to a VM. This
228 includes traditional PCIe devices, as well as SR-IOV-capable devices using
229 Intel 82576-based and 82599-based controllers.
230
231 While direct assignment of a PCIe device or an SR-IOV Virtual Function (VF)
232 to a Linux-based VM running 2.6.32 or later kernel works fine, there is a
233 known issue with Microsoft Windows Server 2008 VM that results in a "yellow
234 bang" error. This problem is within the KVM VMM itself, not the Intel driver,
235 or the SR-IOV logic of the VMM, but rather that KVM emulates an older CPU
236 model for the guests, and this older CPU model does not support MSI-X
237 interrupts, which is a requirement for Intel SR-IOV.
238
239 If you wish to use the Intel 82576 or 82599-based controllers in SR-IOV mode
240 with KVM and a Microsoft Windows Server 2008 guest try the following
241 workaround. The workaround is to tell KVM to emulate a different model of CPU
242 when using qemu to create the KVM guest:
243
244 "-cpu qemu64,model=13"
PJ Waskiewicz09e1c062009-03-13 22:15:54 +0000245
246
247Support
248=======
249
250For general information, go to the Intel support website at:
251
252 http://support.intel.com
253
254or the Intel Wired Networking project hosted by Sourceforge at:
255
256 http://e1000.sourceforge.net
257
258If an issue is identified with the released source code on the supported
259kernel with a supported adapter, email the specific information related
260to the issue to e1000-devel@lists.sf.net