diff options
| author | Prafulla Deuskar <pdeuskar@FreeBSD.org> | 2003-03-21 21:47:31 +0000 |
|---|---|---|
| committer | Prafulla Deuskar <pdeuskar@FreeBSD.org> | 2003-03-21 21:47:31 +0000 |
| commit | 55cbc7f8bd5f6082cf57285650763c509760cdfb (patch) | |
| tree | d20e66c9988dbf11f5c7af5d38ff1994edbc7898 /sys/dev/em/README | |
| parent | 43cf129c99e75e559f33da20e0a1089e193033e0 (diff) | |
Notes
Diffstat (limited to 'sys/dev/em/README')
| -rw-r--r-- | sys/dev/em/README | 186 |
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 |
