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:25:19
File LICENSE 1830 bytes 2010-12-18 23:13:42
File README 8198 bytes 2010-12-18 23:13:42
C file ixgbe.c 141024 bytes 2010-12-18 23:13:42
C file ixgbe.h 12699 bytes 2010-12-18 23:13:42
C file ixgbe_82598.c 41365 bytes 2010-12-18 23:13:42
C file ixgbe_82599.c 78664 bytes 2010-12-18 23:13:42
C file ixgbe_api.c 31193 bytes 2010-12-18 23:13:42
C file ixgbe_api.h 9503 bytes 2010-12-18 23:13:42
C file ixgbe_common.c 87494 bytes 2010-12-18 23:13:42
C file ixgbe_common.h 5605 bytes 2010-12-18 23:13:42
C file ixgbe_osdep.h 5505 bytes 2010-12-18 23:13:42
C file ixgbe_phy.c 50156 bytes 2010-12-18 23:13:42
C file ixgbe_phy.h 6353 bytes 2010-12-18 23:13:42
C file ixgbe_type.h 117575 bytes 2010-12-18 23:13:42

    1 FreeBSD Driver for 10 Gigabit PCI Express Server Adapters
    2 =============================================
    3 /*$FreeBSD: releng/8.1/sys/dev/ixgbe/README 190873 2009-04-10 00:22:48Z jfv $*/
    4 
    5 May 14, 2008
    6 
    7 
    8 Contents
    9 ========
   10 
   11 - Overview
   12 - Supported Adapters
   13 - Building and Installation
   14 - Additional Configurations
   15 - Known Limitations
   16 
   17 
   18 Overview
   19 ========
   20 
   21 This file describes the FreeBSD* driver for the 10 Gigabit PCIE Family of 
   22 Adapters.  Drivers has been developed for use with FreeBSD 7 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 following Intel network adapters are compatible with the drivers in this 
   33 release:
   34 
   35 Controller  Adapter Name                      Physical Layer
   36 ----------  ------------                      --------------
   37 82598EB     Intel(R) 10 Gigabit XF SR/AF      10G Base -LR (850 nm optical fiber) 
   38             Dual Port Server Adapter          10G Base -SR (1310 nm optical fiber) 
   39 82598EB     Intel(R) 10 Gigabit XF SR/LR 
   40             Server Adapter
   41             Intel(R) 82598EB 10 Gigabit AF 
   42             Network Connection
   43             Intel(R) 82598EB 10 Gigabit AT 
   44             CX4 Network Connection
   45               
   46 
   47 Building and Installation
   48 =========================
   49 
   50 NOTE: You must have kernel sources installed in order to compile the driver
   51       module.
   52 
   53       In the instructions below, x.x.x is the driver version as indicated in
   54       the name of the driver tar. 
   55 
   56 1. Move the base driver tar file to the directory of your choice. For 
   57    example, use /home/username/ixgbe or /usr/local/src/ixgbe.
   58 
   59 2. Untar/unzip the archive:
   60      tar xfz ixgbe-x.x.x.tar.gz
   61 
   62 3. To install man page:
   63      cd ixgbe-x.x.x
   64      gzip -c ixgbe.4 > /usr/share/man/man4/ixgbee.4.gz
   65 
   66 4. To load the driver onto a running system:
   67      cd ixgbe-x.x.x/src
   68      make load
   69 
   70 5. To assign an IP address to the interface, enter the following:
   71      ifconfig ix<interface_num> <IP_address>
   72 
   73 6. Verify that the interface works. Enter the following, where <IP_address>
   74    is the IP address for another machine on the same subnet as the interface
   75    that is being tested:
   76      ping <IP_address>
   77 
   78 7. If you want the driver to load automatically when the system is booted:
   79 
   80      cd ixgbe-x.x.x/src
   81      make
   82      make install
   83         
   84     Edit /boot/loader.conf, and add the following line:
   85      ixgbe_load="YES"
   86 
   87      OR
   88 
   89      compile the driver into the kernel (see item 8).
   90 
   91 
   92    Edit /etc/rc.conf, and create the appropriate ifconfig_ixgbe<interface_num> 
   93    entry:
   94 
   95      ifconfig_ix<interface_num>="<ifconfig_settings>"
   96 
   97      Example usage:
   98 
   99      ifconfig_ix0="inet 192.168.10.1 netmask 255.255.255.0"
  100 
  101      NOTE: For assistance, see the ifconfig man page.
  102 
  103 8. If you want to compile the driver into the kernel, enter:
  104 
  105      FreeBSD 7 or later:
  106 
  107      cd ixgbe-x.x.x/src
  108 
  109      cp *.[ch] /usr/src/sys/dev/ixgbe
  110    
  111      cp Makefile.kernel /usr/src/sys/modules/ixgbe/Makefile
  112 
  113      Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 
  114      /usr/src/sys/i386/conf (replace "i386" with the appropriate system 
  115      architecture if necessary), and ensure the following line is present:
  116 
  117     device ixgbe
  118 
  119    Compile and install the kernel.  The system must be reboot for the kernel 
  120    updates to take affect.  For additional information on compiling the kernel, 
  121    consult the FreeBSD operating system documentation.
  122 
  123 
  124 Configuration and Tuning
  125 =========================
  126 
  127 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
  128 all 10 Gigabit adapters. 
  129 
  130   Jumbo Frames
  131   ------------
  132   To enable Jumbo Frames, use the ifconfig utility to increase the MTU
  133   beyond 1500 bytes.
  134 
  135   NOTES:
  136 
  137        - The Jumbo Frames setting on the switch must be set to at least
  138          22 bytes larger than that of the adapter.
  139 
  140        - There are known performance issues with this driver when running 
  141          UDP traffic with Jumbo Frames. 
  142 
  143   The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
  144   MTU range is 1500. To modify the setting, enter the following:
  145 
  146         ifconfig ix <interface_num> <hostname or IP address> mtu 9000
  147 
  148   To confirm an interface's MTU value, use the ifconfig command. To confirm
  149   the MTU used between two specific devices, use:
  150 
  151         route get <destination_IP_address>
  152 
  153   VLANs
  154   -----
  155   To create a new VLAN pseudo-interface:
  156 
  157         ifconfig <vlan_name> create
  158 
  159   To associate the VLAN pseudo-interface with a physical interface and
  160   assign a VLAN ID, IP address, and netmask:
  161 
  162         ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
  163            <vlan_id> vlandev <physical_interface>
  164 
  165   Example:
  166 
  167         ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev ixgbe0
  168 
  169   In this example, all packets will be marked on egress with 802.1Q VLAN 
  170   tags, specifying a VLAN ID of 10.
  171 
  172   To remove a VLAN pseudo-interface:
  173 
  174         ifconfig <vlan_name> destroy
  175 
  176 
  177   Checksum Offload
  178   ----------------
  179   
  180   Checksum offloading supports both TCP and UDP packets and is 
  181   supported for both transmit and receive. 
  182 
  183   Checksum offloading can be enabled or disabled using ifconfig. 
  184   Both transmit and receive offloading will be either enabled or 
  185   disabled together. You cannot enable/disable one without the other.
  186 
  187   To enable checksum offloading:
  188 
  189          ifconfig <interface_num> rxcsum 
  190 
  191   To disable checksum offloading:
  192 
  193          ifconfig <interface_num> -rxcsum 
  194 
  195   To confirm the current setting:
  196 
  197          ifconfig <interface_num>
  198 
  199   
  200   TSO
  201   ---
  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 version 1.4.4, it is on
  215    by default. It can be toggled off and on by using:
  216         sysctl dev.ix.X.enable_lro=[0,1]
  217 
  218    NOTE: when changing this feature you MUST be sure the interface
  219    is reinitialized, it is easy to do this with ifconfig down/up.
  220    The LRO code will ultimately move into the kernel stack code,
  221    but for this first release it was included with the driver.
  222 
  223   Important system configuration changes:
  224   ---------------------------------------
  225 
  226   When there is a choice run on a 64bit OS rather than 32, it makes
  227   a significant difference in improvement.
  228 
  229   The default scheduler SCHED_4BSD is not smart about SMP locality issues. 
  230   Significant improvement can be achieved by switching to the ULE scheduler.
  231 
  232   This is done by changing the entry in the config file from SCHED_4BSD to 
  233   SCHED_ULE. Note that this is only advisable on FreeBSD 7, on 6.X there have
  234   been stability problems with ULE.
  235 
  236   Change the file /etc/sysctl.conf, add the line:  
  237  
  238          hw.intr_storm_threshold: 8000 (the default is 1000)
  239 
  240   Best throughput results are seen with a large MTU; use 9000 if possible. 
  241 
  242   The default number of descriptors is 256, increasing this to 1024 or even 
  243   2048 may improve performance.
  244 
  245 
  246 Known Limitations
  247 =================
  248   Under small packets UDP stress test with 10GbE driver, the FreeBSD system 
  249   will drop UDP packets due to the fullness of socket buffers. You may want 
  250   to change the driver's Flow Control variables to the minimum value for 
  251   controlling packet reception.
  252 
  253 
  254 Support
  255 =======
  256 
  257 For general information and support, go to the Intel support website at:
  258 
  259         http://support.intel.com
  260 
  261 If an issue is identified with the released source code on the supported
  262 kernel with a supported adapter, email the specific information related to 
  263 the issue to freebsd@intel.com.
  264 
  265 
  266 
  267 License
  268 =======
  269 
  270 This software program is released under the terms of a license agreement 
  271 between you ('Licensee') and Intel. Do not use or load this software or any 
  272 associated materials (collectively, the 'Software') until you have carefully 
  273 read the full terms and conditions of the LICENSE located in this software 
  274 package. By loading or using the Software, you agree to the terms of this 
  275 Agreement. If you do not agree with the terms of this Agreement, do not 
  276 install or use the Software.
  277 
  278 * Other names and brands may be claimed as the property of others.
  279 
  280 

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