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 16:40:41
File LICENSE 1610 bytes 2019-04-23 16:40:37
File README 9592 bytes 2019-04-23 16:40:36
C file if_em.c 91427 bytes 2019-04-23 16:40:36
C file if_em.h 13365 bytes 2019-04-23 16:40:37
C file if_em_hw.c 160632 bytes 2019-04-23 16:40:36
C file if_em_hw.h 89387 bytes 2019-04-23 16:40:36
C file if_em_osdep.h 4905 bytes 2019-04-23 16:40:36

    1 $FreeBSD: releng/5.1/sys/dev/em/README 112472 2003-03-21 21:47:31Z pdeuskar $
    2 FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters
    3 ============================================================
    4 
    5 February 5, 2003
    6 
    7 
    8 Contents
    9 ========
   10 
   11 - Overview
   12 - Supported Adapters
   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 1.5.x, for the Intel(R)
   25 PRO/1000 Family of Adapters. This driver has been developed for use with 
   26 FreeBSD, version 4.7. 
   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 Supported Adapters
   34 ==================
   35 
   36 The following Intel network adapters are compatible with the drivers in this 
   37 release:
   38 
   39    Controller  Adapter Name                         Board IDs
   40    ----------  ------------                         ---------
   41 
   42    82542       PRO/1000 Gigabit Server Adapter      700262-xxx, 717037-xxx
   43 
   44    82543       PRO/1000 F Server Adapter            738640-xxx, A38888-xxx,
   45                                                     A06512-xxx
   46 
   47    82543       PRO/1000 T Server Adapter            A19845-xxx, A33948-xxx
   48 
   49    82544       PRO/1000 XT Server Adapter           A51580-xxx
   50 
   51    82544       PRO/1000 XF Server Adapter           A50484-xxx
   52 
   53    82544       PRO/1000 T Desktop Adapter           A62947-xxx
   54  
   55    82540       PRO/1000 MT Desktop Adapter          A78408-xxx
   56    82541                                            C91016-xxx
   57 
   58    82545       PRO/1000 MT Server Adapter           A92165-xxx
   59 
   60    82545       PRO/1000 MF Server Adapter           A91622-xxx
   61 
   62    82545       PRO/1000 MF Server Adapter(LX)       A91624-xxx
   63 
   64    82546       PRO/1000 MT Dual Port Server Adapter A92111-xxx
   65 
   66    82546       PRO/1000 MF Dual Port Server Adapter A91620-xxx
   67 
   68 
   69 
   70 To verify your Intel adapter is supported, find the board ID number on the
   71 adapter. Look for a label that has a barcode and a number in the format of
   72 123456-001 (six digits hyphen three digits). Match this to the list of 
   73 numbers above.
   74 
   75 For more information on how to identify your adapter, go to the Adapter &
   76 Driver ID Guide at:
   77 
   78     http://support.intel.com/support/network/adapter/pro100/21397.htm
   79 
   80 For the latest Intel network drivers for FreeBSD, see:
   81 
   82     http://appsr.intel.com/scripts-df/support_intel.asp
   83 
   84 
   85 Building and Installation
   86 =========================
   87 
   88 NOTE: The driver can be installed as a dynamic loadable kernel module or 
   89       compiled into the kernel. You must have kernel sources installed in 
   90       order to compile the driver module.
   91 
   92 In the instructions below, x.x.x is the driver version as indicated in the 
   93 name of the driver tar file.
   94 
   95 1. Move the base driver tar file to the directory of your choice. For 
   96    example, use /home/username/em or /usr/local/src/em.
   97 
   98 2. Untar/unzip the archive:
   99 
  100         tar xvfz em-x.x.x.tar.gz
  101 
  102    This will create an em-x.x.x directory.
  103 
  104 3. To create a loadable module, perform the following steps. 
  105    NOTE: To compile the driver into the kernel, go directly to step 4.
  106 
  107         a. To compile the module
  108 
  109                   cd em-x.x.x
  110                   make
  111 
  112         b. To install the compiled module in system directory:
  113          
  114                   make install
  115                 
  116         c. If you want the driver to load automatically when the system is booted:
  117 
  118               1. Follow steps a, and b above to compile and install the module
  119               2. Edit /boot/loader.conf, and add the following line:
  120 
  121                   if_em_load="YES"
  122 
  123 4. To compile the driver into the kernel:
  124 
  125         cd em-x.x.x/src
  126 
  127         cp if_em* /usr/src/sys/dev/em
  128 
  129         cp Makefile /usr/src/sys/modules/em
  130 
  131    Edit the /usr/src/sys/conf/files.i386 file, and add the following lines:
  132 
  133         dev/em/if_em.c optional em
  134 
  135         dev/em/if_em_hw.c optional em 
  136 
  137    Remove the following lines from the /usr/src/sys/conf/files.i386 file, 
  138    if they exist:
  139 
  140         dev/em/if_em_fxhw.c optional em
  141         dev/em/if_em_phy.c optional em
  142 
  143    Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 
  144    /usr/src/sys/i386/conf, and ensure the following line is present:
  145 
  146         device em
  147 
  148    Compile and install the kernel. The system must be rebooted for the kernel
  149    updates to take effect. For additional information on compiling the 
  150    kernel, consult the FreeBSD operating system documentation.
  151 
  152 5. To assign an IP address to the interface, enter the following:
  153 
  154         ifconfig em<interface_num> <IP_address>
  155 
  156 6. Verify that the interface works. Enter the following, where <IP_address>
  157    is the IP address for another machine on the same subnet as the interface
  158    that is being tested:
  159 
  160         ping <IP_address>
  161 
  162 7. To configure the IP address to remain after reboot, edit /etc/rc.conf, 
  163    and create the appropriate ifconfig_em<interface_num> entry:
  164 
  165         ifconfig_em<interface_num>="<ifconfig_settings>"
  166 
  167    Example usage:
  168 
  169         ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
  170 
  171    NOTE: For assistance, see the ifconfig man page.
  172 
  173 
  174 Speed and Duplex Configuration
  175 ==============================
  176 
  177 By default, the adapter auto-negotiates the speed and duplex of the 
  178 connection. If there is a specific need, the ifconfig utility can be used to 
  179 configure the speed and duplex settings on the adapter. Example usage:
  180 
  181         ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt 
  182             full-duplex
  183 
  184    NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is 
  185          not specified and you are not running at gigabit speed, the driver 
  186          defaults to half-duplex.
  187 
  188 
  189 This driver supports the following media type options:
  190 
  191    autoselect      -  Enables auto-negotiation for speed and duplex.
  192 
  193    10baseT/UTP     -  Sets speed to 10 Mbps. Use the ifconfig mediaopt 
  194                       option to select full-duplex mode.
  195 
  196    100baseTX       -  Sets speed to 100 Mbps. Use the ifconfig mediaopt
  197                       option to select full-duplex mode.
  198 
  199    1000baseTX      -  Sets speed to 1000 Mbps. In this case, the driver
  200                       supports only full-duplex mode.
  201 
  202    1000baseSX      -  Sets speed to 1000 Mbps. In this case, the driver
  203                       supports only full-duplex mode.
  204 
  205 For more information on the ifconfig utility, see the ifconfig man page.
  206 
  207 
  208 Additional Configurations
  209 =========================
  210 
  211 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 
  212 all but the 82542-based adapters. For specific adapters, refer to the 
  213 Supported Adapters section.
  214 
  215   Jumbo Frames
  216   ------------
  217   To enable Jumbo Frames, use the ifconfig utility to increase the MTU 
  218   beyond 1500 bytes. 
  219 
  220   NOTES: Only enable Jumbo Frames if your network infrastructure supports 
  221          them.
  222    
  223          The Jumbo Frames setting on the switch must be set to at least 
  224          22 bytes larger than that of the adapter.
  225 
  226   The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default 
  227   MTU range is 1500. To modify the setting, enter the following:
  228 
  229         ifconfig em<interface_num> <hostname or IP address> mtu 9000
  230 
  231   To confirm an interface's MTU value, use the ifconfig command. To confirm
  232   the MTU used between two specific devices, use:
  233 
  234         route get <destination_IP_address>
  235 
  236   VLANs
  237   -----
  238   To create a new VLAN pseudo-interface:
  239 
  240         ifconfig <vlan_name> create
  241 
  242   To associate the VLAN pseudo-interface with a physical interface and 
  243   assign a VLAN ID, IP address, and netmask:
  244 
  245         ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan 
  246            <vlan_id> vlandev <physical_interface>
  247 
  248   Example:
  249 
  250         ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0
  251 
  252   In this example, all packets will be marked on egress with  802.1Q VLAN 
  253   tags, specifying a VLAN ID of 10.
  254 
  255   To remove a VLAN pseudo-interface:
  256 
  257         ifconfig <vlan_name> destroy
  258 
  259   Polling
  260   -------
  261   To enable polling in the driver, add the following options to the kernel 
  262   configuration, and then recompile the kernel:
  263 
  264         options DEVICE_POLLING
  265         options HZ=1000
  266 
  267   At runtime, use the following command to turn on polling mode. Similarly,
  268   turn off polling mode by setting the variable to 0:
  269 
  270         sysctl kern.polling.enable=1
  271 
  272 
  273   NOTES: DEVICE POLLING is only valid for non-SMP kernels.
  274 
  275          The driver has to be built into the kernel for DEVICE POLLING to be
  276          enabled in the driver.
  277 
  278 
  279 Known Limitations
  280 =================
  281  
  282 There are known performance issues with this driver when running UDP traffic
  283 with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP traffic.
  284 
  285 
  286 Support
  287 =======
  288 
  289 For general information and support, go to the Intel support website at:
  290 
  291         http://support.intel.com
  292 
  293 If an issue is identified with the released source code on the supported
  294 kernel with a supported adapter, email the specific information related to 
  295 the issue to freebsdnic@mailbox.intel.com.
  296 
  297 
  298 License
  299 =======
  300 
  301 This software program is released under the terms of a license agreement 
  302 between you ('Licensee') and Intel. Do not use or load this software or any 
  303 associated materials (collectively, the 'Software') until you have carefully 
  304 read the full terms and conditions of the LICENSE located in this software 
  305 package. By loading or using the Software, you agree to the terms of this 
  306 Agreement. If you do not agree with the terms of this Agreement, do not 
  307 install or use the Software.
  308 
  309 * 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.