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/em/

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-23 12:38:21
File LICENSE 1612 bytes 2019-04-23 12:38:16
File README 9685 bytes 2019-04-23 12:38:16
C file if_em.c 112754 bytes 2019-04-23 12:38:16
C file if_em.h 14884 bytes 2019-04-23 12:38:16
C file if_em_hw.c 232751 bytes 2019-04-23 12:38:16
C file if_em_hw.h 123061 bytes 2019-04-23 12:38:17
C file if_em_osdep.h 5667 bytes 2019-04-23 12:38:16

    1 $FreeBSD: releng/6.1/sys/dev/em/README 147890 2005-07-11 02:33:25Z delphij $
    2 FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters
    3 ============================================================
    4 
    5 March 18, 2005
    6 
    7 
    8 Contents
    9 ========
   10 
   11 - Overview
   12 - Identifying Your Adapter
   13 - Building and Installation
   14 - Speed and Duplex Configuration
   15 - Additional Configurations
   16 - Known Limitations
   17 - Support
   18 - License
   19 
   20 
   21 Overview
   22 ========
   23 
   24 This file describes the FreeBSD* driver, version 2.1.x, for the Intel(R)
   25 PRO/1000 Family of Adapters. This driver has been developed for use with
   26 FreeBSD, version 5.x.
   27 
   28 For questions related to hardware requirements, refer to the documentation
   29 supplied with your Intel PRO/1000 adapter. All hardware requirements listed
   30 apply to use with FreeBSD.
   31 
   32 
   33 Identifying Your Adapter
   34 ========================
   35 
   36 For information on how to identify your adapter, go to the Adapter &
   37 Driver ID Guide at:
   38 
   39 http://support.intel.com/support/network/adapter/pro100/21397.htm
   40 
   41 
   42 For the latest Intel network drivers for FreeBSD, see:
   43 
   44 http://appsr.intel.com/scripts-df/support_intel.asp
   45 
   46 
   47 NOTE: Mobile adapters are not fully supported.
   48 
   49 
   50 Building and Installation
   51 =========================
   52 
   53 NOTE: The driver can be installed as a dynamic loadable kernel module or
   54       compiled into the kernel. You must have kernel sources installed in
   55       order to compile the driver module.
   56 
   57 In the instructions below, x.x.x is the driver version as indicated in the
   58 name of the driver tar file.
   59 
   60 1. Move the base driver tar file to the directory of your choice. For
   61    example, use /home/username/em or /usr/local/src/em.
   62 
   63 2. Untar/unzip the archive:
   64 
   65         tar xvfz em-x.x.x.tar.gz
   66 
   67    This will create an em-x.x.x directory.
   68 
   69 3. To create a loadable module, perform the following steps.
   70    NOTE: To compile the driver into the kernel, go directly to step 4.
   71 
   72         a. To compile the module
   73 
   74                   cd em-x.x.x
   75                   make
   76 
   77         b. To install the compiled module in system directory:
   78 
   79                   make install
   80 
   81         c. If you want the driver to load automatically when the system is booted:
   82 
   83               1. Edit /boot/loader.conf, and add the following line:
   84 
   85                   if_em_load="YES"
   86 
   87 4. To compile the driver into the kernel:
   88 
   89         cd em-x.x.x/src
   90 
   91         cp if_em* /usr/src/sys/dev/em
   92 
   93         cp Makefile.kernel /usr/src/sys/modules/em/Makefile
   94 
   95    Edit the /usr/src/sys/conf/files.i386 file, and add the following lines only if
   96    they don't already exist:
   97 
   98         dev/em/if_em.c optional em
   99 
  100         dev/em/if_em_hw.c optional em
  101 
  102    Remove the following lines from the /usr/src/sys/conf/files.i386 file,
  103    if they exist:
  104 
  105         dev/em/if_em_fxhw.c optional em
  106         dev/em/if_em_phy.c optional em
  107 
  108    Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
  109    /usr/src/sys/i386/conf, and ensure the following line is present:
  110 
  111         device em
  112 
  113    Compile and install the kernel. The system must be rebooted for the kernel
  114    updates to take effect. For additional information on compiling the
  115    kernel, consult the FreeBSD operating system documentation.
  116 
  117 5. To assign an IP address to the interface, enter the following:
  118 
  119         ifconfig em<interface_num> <IP_address>
  120 
  121 6. Verify that the interface works. Enter the following, where <IP_address>
  122    is the IP address for another machine on the same subnet as the interface
  123    that is being tested:
  124 
  125         ping <IP_address>
  126 
  127 7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
  128    and create the appropriate ifconfig_em<interface_num>entry:
  129 
  130         ifconfig_em<interface_num>="<ifconfig_settings>"
  131 
  132    Example usage:
  133 
  134         ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
  135 
  136    NOTE: For assistance, see the ifconfig man page.
  137 
  138 
  139 Speed and Duplex Configuration
  140 ==============================
  141 
  142 By default, the adapter auto-negotiates the speed and duplex of the
  143 connection. If there is a specific need, the ifconfig utility can be used to
  144 configure the speed and duplex settings on the adapter. Example usage:
  145 
  146         ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
  147             full-duplex
  148 
  149    NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
  150          not specified and you are not running at gigabit speed, the driver
  151          defaults to half-duplex.
  152 
  153 
  154 This driver supports the following media type options:
  155 
  156    autoselect      -  Enables auto-negotiation for speed and duplex.
  157 
  158    10baseT/UTP     -  Sets speed to 10 Mbps. Use the ifconfig mediaopt
  159                       option to select full-duplex mode.
  160 
  161    100baseTX       -  Sets speed to 100 Mbps. Use the ifconfig mediaopt
  162                       option to select full-duplex mode.
  163 
  164    1000baseTX      -  Sets speed to 1000 Mbps. In this case, the driver
  165                       supports only full-duplex mode.
  166 
  167    1000baseSX      -  Sets speed to 1000 Mbps. In this case, the driver
  168                       supports only full-duplex mode.
  169 
  170 For more information on the ifconfig utility, see the ifconfig man page.
  171 
  172 
  173 Additional Configurations
  174 =========================
  175 
  176 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
  177 all but the 82542-based adapters. For specific adapters, refer to the
  178 Identifying Your Adapter section.
  179 
  180   Jumbo Frames
  181   ------------
  182   To enable Jumbo Frames, use the ifconfig utility to increase the MTU
  183   beyond 1500 bytes.
  184 
  185   NOTES: Only enable Jumbo Frames if your network infrastructure supports
  186          them.
  187 
  188          The Jumbo Frames setting on the switch must be set to at least
  189          22 bytes larger than that of the MTU.
  190 
  191          The Intel PRO/1000 PM Network Connection does not support jumbo
  192          frames.
  193 
  194 
  195   The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
  196   MTU range is 1500. To modify the setting, enter the following:
  197 
  198         ifconfig em<interface_num> <hostname or IP address> mtu 9000
  199 
  200  To confirm the MTU used between two specific devices, use:
  201 
  202         route get <destination_IP_address>
  203 
  204   VLANs
  205   -----
  206   To create a new VLAN interface:
  207 
  208         ifconfig <vlan_name> create
  209 
  210   To associate the VLAN interface with a physical interface and
  211   assign a VLAN ID, IP address, and netmask:
  212 
  213         ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
  214            <vlan_id> vlandev <physical_interface>
  215 
  216   Example:
  217 
  218         ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0
  219 
  220   In this example, all packets will be marked on egress with  802.1Q VLAN
  221   tags, specifying a VLAN ID of 10.
  222 
  223   To remove a VLAN interface:
  224 
  225         ifconfig <vlan_name> destroy
  226 
  227   Polling
  228   -------
  229   NOTES: DEVICE POLLING is only valid for non-SMP kernels.
  230 
  231         The driver has to be compiled into the kernel for DEVICE POLLING to be
  232         enabled in the driver.
  233 
  234   To enable polling in the driver, add the following options to the kernel
  235   configuration, and then recompile the kernel:
  236 
  237         options DEVICE_POLLING
  238         options HZ=1000
  239 
  240   At runtime use:
  241         sysctl kern.polling.enable=1 to turn polling on
  242   Use:
  243         sysctl kern.polling.enable=0 to turn polling off
  244 
  245   Checksum Offload
  246   ----------------
  247   Checksum offloading is not supported on 82542 Gigabit adapters.
  248 
  249   Checksum offloading supports both TCP and UDP packets and is
  250   supported for both transmit and receive.
  251 
  252   Checksum offloading can be enabled or disabled using ifconfig.
  253   Both transmit and receive offloading will be either enabled or
  254   disabled together. You cannot enable/disable one without the other.
  255 
  256   To enable checksum offloading:
  257 
  258          ifconfig <interface_num> rxcsum
  259 
  260   To disable checksum offloading:
  261 
  262          ifconfig <interface_num> -rxcsum
  263 
  264   To confirm the current setting:
  265 
  266          ifconfig <interface_num>
  267 
  268   Look for the presence or absence of the following line:
  269 
  270          options=3 <RXCSUM,TXCSUM>
  271 
  272   See the ifconfig man page for further information.
  273 
  274 Known Limitations
  275 =================
  276 
  277   There are known performance issues with this driver when running UDP traffic
  278   with Jumbo Frames.
  279 
  280   There is a known compatibility issue where time to link is slow or link is not
  281   established between 82541/82547 controllers and some switches.  Known switches
  282   include:
  283         Planex FXG-08TE
  284         I-O Data ETG-SH8
  285 
  286   The driver can be compiled with the following changes:
  287 
  288   Edit ./em.x.x.x/src/if_em.h to uncomment the #define EM_MASTER_SLAVE
  289   from within the comments.  For example, change from:
  290 
  291       /* #define EM_MASTER_SLAVE  2 */
  292   to:
  293       #define EM_MASTER_SLAVE  2
  294 
  295   Use one of the following options:
  296       1 = Master mode
  297       2 = Slave mode
  298       3 = Auto master/slave
  299   Setting 2 is recommended.
  300 
  301   Recompile the module:
  302           a. To compile the module
  303                 cd em-x.x.x
  304                 make clean
  305                 make
  306 
  307    b. To install the compiled module in system directory:
  308                 make install
  309 
  310 
  311 Support
  312 =======
  313 
  314 For general information and support, go to the Intel support website at:
  315 
  316         http://support.intel.com
  317 
  318 If an issue is identified, support is through email only at:
  319 freebsdnic@mailbox.intel.com
  320 
  321 License
  322 =======
  323 
  324 This software program is released under the terms of a license agreement
  325 between you ('Licensee') and Intel. Do not use or load this software or any
  326 associated materials (collectively, the 'Software') until you have carefully
  327 read the full terms and conditions of the LICENSE located in this software
  328 package. By loading or using the Software, you agree to the terms of this
  329 Agreement. If you do not agree with the terms of this Agreement, do not
  330 install or use the Software.
  331 
  332 * Other names and brands may be claimed as the property of others.

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