The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/netif/ixgbe/

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

Name Size Last modified (GMT) Description
Back Parent directory 2013-10-07 20:27:12
File LICENSE 1825 bytes 2013-10-07 20:27:12
File Makefile 553 bytes 2013-10-07 20:27:12
File README 12035 bytes 2013-10-07 20:27:12
C file ixgbe.c 163831 bytes 2013-10-07 20:27:12
C file ixgbe.h 13805 bytes 2013-10-07 20:27:12
C file ixgbe_82598.c 39885 bytes 2013-10-07 20:27:12
C file ixgbe_82598.h 2755 bytes 2013-10-07 20:27:12
C file ixgbe_82599.c 69522 bytes 2013-10-07 20:27:12
C file ixgbe_82599.h 3452 bytes 2013-10-07 20:27:12
C file ixgbe_api.c 35347 bytes 2013-10-07 20:27:12
C file ixgbe_api.h 8429 bytes 2013-10-07 20:27:12
C file ixgbe_common.c 116749 bytes 2013-10-07 20:27:12
C file ixgbe_common.h 6867 bytes 2013-10-07 20:27:12
C file ixgbe_defines.h 1850 bytes 2013-10-07 20:27:12
C file ixgbe_mbx.c 19797 bytes 2013-10-07 20:27:12
C file ixgbe_mbx.h 5424 bytes 2013-10-07 20:27:12
C file ixgbe_osdep.h 6146 bytes 2013-10-07 20:27:12
C file ixgbe_phy.c 51266 bytes 2013-10-07 20:27:12
C file ixgbe_phy.h 5878 bytes 2013-10-07 20:27:12
C file ixgbe_type.h 124904 bytes 2013-10-07 20:27:12
C file ixgbe_vf.c 15566 bytes 2013-10-07 20:27:12
C file ixgbe_vf.h 5130 bytes 2013-10-07 20:27:12
C file ixgbe_x540.c 27909 bytes 2013-10-07 20:27:12
C file ixgbe_x540.h 3239 bytes 2013-10-07 20:27:12

    1 FreeBSD Driver for Intel(R) Ethernet 10 Gigabit PCI Express Server Adapters
    2 ============================================================================
    3 /*$FreeBSD: src/sys/dev/ixgbe/README,v 1.3 2011/06/02 00:34:57 jfv Exp $*/
    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 

[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.