FILE NAME: bonding-1.0.4d-1.src.rpm TITLE: HP Tested and Approved Linux Bonding Driver VERSION: 1.0.4d-1 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC3120 Fast Ethernet Adapter (e100) HP NC3121 Fast Ethernet Adapter (e100) HP NC3122 Fast Ethernet Adapter (e100) HP NC3123 Fast Ethernet Adapter (e100) HP NC3131 Fast Ethernet Adapter (e100) HP NC3132 Fast Ethernet Adapter (e100) HP NC3133 Fast Ethernet Adapter (e100) HP NC3134 Fast Ethernet Adapter (e100) HP NC3135 Fast Ethernet Adapter (e100) HP NC3163 Fast Ethernet Adapter (e100) HP NC6132 Gigabit Server Adapter (e1000) HP NC6133 Gigabit Server Adapter (e1000) HP NC6134 Gigabit Server Adapter (e1000) HP NC6136 Gigabit Server Adapter (e1000) HP NC6170 Gigabit Server Adapter (e1000) HP NC6770 Gigabit Server Adapter (bcm5700) HP NC7131 Gigabit Server Adapter (e1000) HP NC7132 Gigabit Server Adapter (e1000) HP NC7170 Gigabit Server Adapter (e1000) HP NC7760 Gigabit Server Adapter (bcm5700) HP NC7761 Gigabit Server Adapter (bcm5700) HP NC7770 Gigabit Server Adapter (bcm5700) HP NC7771 Gigabit Server Adapter (bcm5700) HP NC7780 Gigabit Server Adapter (bcm5700) HP NC7781 Gigabit Server Adapter (bcm5700) OPERATING SYSTEM: Red Hat Linux 7.2 Professional - Errata kernel 2.4.20-20 (SMP, UP) Red Hat Linux 7.3 Professional - Errata kernel 2.4.20-20 (SMP, UP, and BigMem) Red Hat Linux 8.0 Professional - Errata kernel 2.4.20-20 (SMP, UP, and BigMem) Red Hat Enterprise Linux 2.1 - QU2 - Errata kernel 2.4.9-e.27 (SMP, UP, and Enterprise) Red Hat Enterprise Linux 3 SuSE Linux Enterprise Server 7 (SLES-7) - Errata kernel 2.4.18-280 (SMP) - Errata kernel 2.4.18-280 (UP) Conective Linux Enterprise Edition, SCO Linux 4.0, SuSE Linux Enterprise 8, and Turbolinux 8 all powered by UnitedLinux 1.0 - Service Pack 3 Note: For Red Hat Linux 7.2 Professional BigMem installations, the system needs to be pre-configured before setting up the kernel source and building the NIC and intermediate drivers. Refer to Customer Advisory EU030812_CW01 for details of how to pre-configure the system. To access the Customer Advisory, visit www.hp.com and search for EU030812_CW01. PREREQUISITES: Pentium based computer 128MB RAM minimum Latest HP system ROM bcm5700 driver version 6.2.17a e100 driver version 2.2.21c e1000 driver version 5.0.43c Note: Please visit the following URL to upgrade the ROM http://h18000.www1.hp.com/support/files (select ProLiant from the server column) EFFECTIVE DATE: 11/20/2003 SUPERSEDES: bonding-1.0.3-12HP.src.rpm DESCRIPTION: This driver enables creation of teams of multiple HP ProLiant NICs Running under linux. ENHANCEMENTS/FIXES: - This driver now supports the MAC and MTU functionality - Added Jumbo frames limitation to this document - Changed versioning scheme of the RPM and built binary bonding driver RPM package - The Makefile for this driver now builds with the compiler used to build the kernel - A device being made a master is no longer brought down. This change prevents the ifenslave -c failure that was caused by setting a down device as the master. - Special Notes have been added to indicate a change in the way a team is configured for Red Hat 7.2 installations Table of Contents ================= Introduction Packaging Kernel Source Code Setup Installing the RPM Package Bond Configuration Module Parameters Driver Messages Uninstalling the RPM Known Issues Introduction ============ This package provides a driver module (bonding.o) and the ifenslave utility used to configure teaming. After installation, additional information can be found in the bonding.txt file located at: For Red Hat: /usr/share/doc/bonding-1.0.4/bonding.txt For SuSE and UnitedLinux: /usr/share/doc/packages/bonding/bonding.txt Packaging ========= The driver is released in the source RPM format. The file name for the package is bonding-.src.rpm and is dependent on the kernel source code. Kernel Source Code Setup ======================== The bonding driver requires the presence of the kernel source code and configuring the kernel source before building the bonding driver. The following steps need to be done once for each kernel that is booted. For example, if the current kernel is UP (uni-processor) and an SMP (symmetrical-multi-processor) kernel is booted, these steps must be performed again to configure the kernel source for SMP before building the bonding driver for the SMP kernel. Red Hat installations If the /usr/src/linux- directory does not exist, install the kernel source code per Red Hat instructions. Once installed, follow the commands listed below to configure the kernel source to match the running kernel. # cd /usr/src/linux- # make mrproper # make -e KERNELRELEASE=`uname -r` oldconfig # make -e KERNELRELEASE=`uname -r` dep UnitedLinux 1.0 installation: If the /usr/src/linux- directory does not exist, install the kernel source code per SuSE instructions. Once installed, follow the commands listed below to setup the kernel source tree. # cd /usr/src/linux-.SuSE # make mrproper # make cloneconfig # make dep SuSE Linux Enterprise Server 7 installation: If the /usr/src/linux- directory does not exist, install the kernel source code per SuSE or UnitedLinux instructions. Once installed, follow the commands listed below to configure the kernel source to match the running kernel. # cd /usr/src/linux-.SuSE # cp /boot/vmlinuz.config .config # cp /boot/vmlinuz.version.h include/linux/version.h # cp /boot/vmlinuz.autoconf.h include/linux/autoconf.h # make oldconfig # make dep Installing the RPM Package ========================== 1. Check for the existence of a current version of the bonding package as follows: # rpm -q bonding If an old version of the package exists the RPM package should be removed. # rpm -e bonding Then remove the loaded bonding module. # rmmod bonding Verify that the old bonding package has been removed as follows: # rpm -q bonding 2. Install the RPM source package. # rpm -ivh bonding-.src.rpm 3. Change to the following directory and build the binary RPM for the bonding driver. For Red Hat: # cd /usr/src/redhat # rpmbuild -bb SPECS/bonding.spec For SuSE and UnitedLinux: # cd /usr/src/packages # rpm -bb SPECS/bonding.spec Note: If an error is encountered while building the driver or this directory doesn't exist, please refer to the "Kernel Source Code Setup" section of this document. 4. Install the new binary RPM package using the following command. Don't use the U (Upgrade) flag in the RPM command below - previous bonding drivers must be removed as described in step one above before installing this version. # rpm -ivh RPMS/i386/bonding-.i386.rpm 5. The bonding.o module is installed in the /lib/modules//kernel/drivers/net directory. Bond Configuration ================== Please refer to the "Bond Configuration" and "Configuring Multiple Bonds" sections in bonding.txt to get more details on configuring single and multiple teams using the bonding driver. The section on "Switch Configuration" gives details about configuring the switch to support the load balancing modes of the bonding driver. The section on "Verifying Bond Configuration" gives details on how to verify the teaming configuration. Special Note on Configuring teams on Red Hat 7.2 Professional Installations --------------------------------------------------------------------------- It has been noted that on Red Hat 7.2 Professional Installations, configuring teams as shown in the following example does not work. alias bondX bonding options bondX miimon= mode= Please modify as shown below to have a working configuration alias bondX bonding options bonding miimon= mode= For Configuring Multiple teams, the /etc/modules.conf file should resemble the following alias bond0 bonding alias bond1 bonding options bonding miimon= mode= options bond1 -o bonding1 miimon= mode= Where bond0 and bond1 are the two teams Module Parameters ================= Please refer to the "Module Parameters" section in bonding.txt to get more details on the module parameters supported by the bonding driver. Uninstalling the RPM ==================== The following command will uninstall the bonding RPM. rpm -e bonding Known Issues ============ 1) If jumbo frames are used (MTU size greater than 1500 bytes), every network driver controlling a teamed NIC must support setting of the MTU size (SIOCSIFMTU IOCTL). A method to determine if your network driver/adapter supports this IOCTL is to run the following command on the interface (eth0 used in this example): /sbin/ifconfig eth0 mtu 9000 If the command completes without error, ensure the MTU size was changed with the following command: /sbin/ifconfig eth0 | grep MTU You should see a line similar to the following if the driver/adapter supports jumbo frames: UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1 You may also monitor /var/log/messages for possible error/confirmation messages. 2) When using the arp_interval module parameter, the "Link Failure Count" reported in /proc/net/bondN/info will often show at least one link failure for each interface. This issue can safely be ignored. Copyright 2002, 2003 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies