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/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 2019-04-21 12:31:19
File LICENSE 1830 bytes 2013-10-05 19:28:30
File README 11865 bytes 2013-10-05 19:28:30
C file ixgbe.c 165601 bytes 2013-10-05 19:28:30
C file ixgbe.h 14546 bytes 2013-10-05 19:28:30
C file ixgbe_82598.c 41156 bytes 2013-10-05 19:28:30
C file ixgbe_82598.h 2760 bytes 2013-10-05 19:28:30
C file ixgbe_82599.c 77349 bytes 2013-10-05 19:28:30
C file ixgbe_82599.h 3353 bytes 2013-10-05 19:28:30
C file ixgbe_api.c 35813 bytes 2013-10-05 19:28:30
C file ixgbe_api.h 8564 bytes 2013-10-05 19:28:30
C file ixgbe_common.c 128313 bytes 2013-10-05 19:28:30
C file ixgbe_common.h 7838 bytes 2013-10-05 19:28:30
C file ixgbe_dcb.c 21606 bytes 2013-10-05 19:28:30
C file ixgbe_dcb.h 6464 bytes 2013-10-05 19:28:30
C file ixgbe_dcb_82598.c 10813 bytes 2013-10-05 19:28:30
C file ixgbe_dcb_82598.h 4320 bytes 2013-10-05 19:28:30
C file ixgbe_dcb_82599.c 17036 bytes 2013-10-05 19:28:30
C file ixgbe_dcb_82599.h 5890 bytes 2013-10-05 19:28:30
C file ixgbe_mbx.c 19802 bytes 2013-10-05 19:28:30
C file ixgbe_mbx.h 5947 bytes 2013-10-05 19:28:30
C file ixgbe_osdep.h 7090 bytes 2013-10-05 19:28:30
C file ixgbe_phy.c 53139 bytes 2013-10-05 19:28:30
C file ixgbe_phy.h 6684 bytes 2013-10-05 19:28:30
C file ixgbe_type.h 129309 bytes 2013-10-05 19:28:30
C file ixgbe_vf.c 17991 bytes 2013-10-05 19:28:30
C file ixgbe_vf.h 5406 bytes 2013-10-05 19:28:30
C file ixgbe_x540.c 28687 bytes 2013-10-05 19:28:30
C file ixgbe_x540.h 3281 bytes 2013-10-05 19:28:30
C file ixv.c 109961 bytes 2013-10-05 19:28:30
C file ixv.h 11826 bytes 2013-10-05 19:28:30

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

[ 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.