aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/em/README
diff options
context:
space:
mode:
authorPrafulla Deuskar <pdeuskar@FreeBSD.org>2003-03-21 21:47:31 +0000
committerPrafulla Deuskar <pdeuskar@FreeBSD.org>2003-03-21 21:47:31 +0000
commit55cbc7f8bd5f6082cf57285650763c509760cdfb (patch)
treed20e66c9988dbf11f5c7af5d38ff1994edbc7898 /sys/dev/em/README
parent43cf129c99e75e559f33da20e0a1089e193033e0 (diff)
Notes
Diffstat (limited to 'sys/dev/em/README')
-rw-r--r--sys/dev/em/README186
1 files changed, 114 insertions, 72 deletions
diff --git a/sys/dev/em/README b/sys/dev/em/README
index 6ff12d78cbf5e..dd47ac58b04e4 100644
--- a/sys/dev/em/README
+++ b/sys/dev/em/README
@@ -2,13 +2,13 @@ $FreeBSD$
FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters
============================================================
-November 12, 2002
+February 5, 2003
Contents
========
-- In This Release
+- Overview
- Supported Adapters
- Building and Installation
- Speed and Duplex Configuration
@@ -18,17 +18,12 @@ Contents
- License
-In This Release
-===============
+Overview
+========
-This file describes the FreeBSD* driver, version 1.4.x, for the Intel(R)
+This file describes the FreeBSD* driver, version 1.5.x, for the Intel(R)
PRO/1000 Family of Adapters. This driver has been developed for use with
-FreeBSD, version 4.7. As a new feature for this release, the driver is now
-compiled by default into the FreeBSD 4.7 kernel.
-
-The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
-all but the 82542-based adapters. For specific adapters, refer to the
-Supported Adapters section below.
+FreeBSD, version 4.7.
For questions related to hardware requirements, refer to the documentation
supplied with your Intel PRO/1000 adapter. All hardware requirements listed
@@ -56,8 +51,9 @@ release:
82544 PRO/1000 XF Server Adapter A50484-xxx
82544 PRO/1000 T Desktop Adapter A62947-xxx
-
- 82540 PRO/1000 MT Desktop Adapter A78708-xxx
+
+ 82540 PRO/1000 MT Desktop Adapter A78408-xxx
+ 82541 C91016-xxx
82545 PRO/1000 MT Server Adapter A92165-xxx
@@ -70,6 +66,7 @@ release:
82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx
+
To verify your Intel adapter is supported, find the board ID number on the
adapter. Look for a label that has a barcode and a number in the format of
123456-001 (six digits hyphen three digits). Match this to the list of
@@ -88,77 +85,90 @@ For the latest Intel network drivers for FreeBSD, see:
Building and Installation
=========================
-NOTE: You must have kernel sources installed in order to compile the driver
- module.
-
- In the instructions below, x.x.x is the driver version as indicated in
- the name of the driver tar.
+NOTE: The driver can be installed as a dynamic loadable kernel module or
+ compiled into the kernel. You must have kernel sources installed in
+ order to compile the driver module.
+In the instructions below, x.x.x is the driver version as indicated in the
+name of the driver tar file.
1. Move the base driver tar file to the directory of your choice. For
example, use /home/username/em or /usr/local/src/em.
2. Untar/unzip the archive:
- tar xfz em-x.x.x.tar.gz
+ tar xvfz em-x.x.x.tar.gz
-3. To load the driver onto a running system:
+ This will create an em-x.x.x directory.
- cd em-x.x.x/modules
- kldload ./if_em.ko
+3. To create a loadable module, perform the following steps.
+ NOTE: To compile the driver into the kernel, go directly to step 4.
-4. To assign an IP address to the interface, enter the following:
+ a. To compile the module
- ifconfig em<interface_num> <IP_address>
+ cd em-x.x.x
+ make
-5. Verify that the interface works. Enter the following, where <IP_address>
- is the IP address for another machine on the same subnet as the interface
- that is being tested:
+ b. To install the compiled module in system directory:
+
+ make install
+
+ c. If you want the driver to load automatically when the system is booted:
- ping <IP_address>
+ 1. Follow steps a, and b above to compile and install the module
+ 2. Edit /boot/loader.conf, and add the following line:
-6. If you want the driver to load automatically when the system is booted:
+ if_em_load="YES"
- cd em-x.x.x/modules
- cp if_em.ko /modules
-
- Edit /boot/loader.conf, and add the following line:
-
- if_em_load="YES"
+4. To compile the driver into the kernel:
- OR
+ cd em-x.x.x/src
- compile the driver into the kernel (see item 7).
+ cp if_em* /usr/src/sys/dev/em
+ cp Makefile /usr/src/sys/modules/em
- Edit /etc/rc.conf, and create the appropriate ifconfig_em<interface_num>
- entry:
+ Edit the /usr/src/sys/conf/files.i386 file, and add the following lines:
- ifconfig_em<interface_num>="<ifconfig_settings>"
+ dev/em/if_em.c optional em
- Example usage:
+ dev/em/if_em_hw.c optional em
- ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
+ Remove the following lines from the /usr/src/sys/conf/files.i386 file,
+ if they exist:
- NOTE: For assistance, see the ifconfig man page.
+ dev/em/if_em_fxhw.c optional em
+ dev/em/if_em_phy.c optional em
-7. If you want to compile the driver into the kernel, enter:
+ Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
+ /usr/src/sys/i386/conf, and ensure the following line is present:
- cd em-x.x.x/src
- cp if_em* /usr/src/sys/dev/em
- cp Makefile /usr/src/sys/modules/em
+ device em
+
+ Compile and install the kernel. The system must be rebooted for the kernel
+ updates to take effect. For additional information on compiling the
+ kernel, consult the FreeBSD operating system documentation.
+
+5. To assign an IP address to the interface, enter the following:
+
+ ifconfig em<interface_num> <IP_address>
- Edit the /usr/src/sys/conf/files.i386 file, and add the following line:
+6. Verify that the interface works. Enter the following, where <IP_address>
+ is the IP address for another machine on the same subnet as the interface
+ that is being tested:
- dev/em/if_em_hw.c optional em
+ ping <IP_address>
- Remove the following lines from the /usr/src/sys/conf/files.i386 file, if
- they exist:
+7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
+ and create the appropriate ifconfig_em<interface_num> entry:
- /dev/em/if_em_fx_hw.c optional em
- /dev/em/if_em_phy.c optional em
+ ifconfig_em<interface_num>="<ifconfig_settings>"
- Compile and install the kernel.
+ Example usage:
+
+ ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
+
+ NOTE: For assistance, see the ifconfig man page.
Speed and Duplex Configuration
@@ -198,47 +208,79 @@ For more information on the ifconfig utility, see the ifconfig man page.
Additional Configurations
=========================
+The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
+all but the 82542-based adapters. For specific adapters, refer to the
+Supported Adapters section.
+
Jumbo Frames
------------
-
To enable Jumbo Frames, use the ifconfig utility to increase the MTU
beyond 1500 bytes.
- NOTE: Only enable Jumbo Frames if your network infrastructure supports
- them.
+ NOTES: Only enable Jumbo Frames if your network infrastructure supports
+ them.
+
+ The Jumbo Frames setting on the switch must be set to at least
+ 22 bytes larger than that of the adapter.
+
+ The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
+ MTU range is 1500. To modify the setting, enter the following:
+
+ ifconfig em<interface_num> <hostname or IP address> mtu 9000
- The MTU range for Jumbo Frames is 1500 to 16114. For example, enter the
- following:
+ To confirm an interface's MTU value, use the ifconfig command. To confirm
+ the MTU used between two specific devices, use:
- ifconfig em<interface_num> mtu 9000
+ route get <destination_IP_address>
VLANs
-----
+ To create a new VLAN pseudo-interface:
+
+ ifconfig <vlan_name> create
+
+ To associate the VLAN pseudo-interface with a physical interface and
+ assign a VLAN ID, IP address, and netmask:
+
+ ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
+ <vlan_id> vlandev <physical_interface>
+
+ Example:
+
+ ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0
+
+ In this example, all packets will be marked on egress with 802.1Q VLAN
+ tags, specifying a VLAN ID of 10.
+
+ To remove a VLAN pseudo-interface:
- To enable VLANs in the kernel, modify the config file as follows:
+ ifconfig <vlan_name> destroy
- pseudo-device vlan <num_VLANs>
+ Polling
+ -------
+ To enable polling in the driver, add the following options to the kernel
+ configuration, and then recompile the kernel:
- Then, recompile the kernel and reboot.
+ options DEVICE_POLLING
+ options HZ=1000
- To see the VLAN device entries, use ifconfig.
+ At runtime, use the following command to turn on polling mode. Similarly,
+ turn off polling mode by setting the variable to 0:
- To attach a VLAN to the driver enter the following:
+ sysctl kern.polling.enable=1
- ifconfig vlan0 inet 10.0.0.1 netmask 255.255.255.0 vlan 1 vlandev
- em0 mtu 1500 up
- Also, bring the driver up by entering:
+ NOTES: DEVICE POLLING is only valid for non-SMP kernels.
- ifconfig em0 up
+ The driver has to be built into the kernel for DEVICE POLLING to be
+ enabled in the driver.
Known Limitations
=================
-There are known performance problems with this driver when running UDP
-traffic with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP
-traffic.
+There are known performance issues with this driver when running UDP traffic
+with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP traffic.
Support