FILE NAME: bonding-1.0.4g-1.src.rpm TITLE: HP Tested and Approved Linux Bonding Driver VERSION: 1.0.4g-1 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC1020 Fast Ethernet Adapter (bcm5700) 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) HP NC7782 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 - Update 1 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: HP highly recommends to our customers that are installing Red Hat Enterprise Linux 3 on ProLiant servers to also install Update 1 (2.4.21-9.EL kernel) or greater. More details are located here: http://rhn.redhat.com/errata/RHSA-2004-017.html. 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 256MB RAM minimum Latest HP system ROM bcm5700 driver version 7.1.9c e100 driver version 2.3.27a e1000 driver version 5.2.16a NOTE: Visit the following URL to upgrade the ROM http://h18000.www1.hp.com/support/files (select ProLiant from the server column) EFFECTIVE DATE: 01/23/2004 SUPERSEDES: bonding-1.0.4f-1.src.rpm DESCRIPTION: This package contains the bonding driver for HP ProLiant NC series NICs running under the Linux distributions listed above. This driver allows you to combine multiple HP ProLiant NIC ports to behave as one. All Ethernet devices listed in the PRODUCTS AFFECTED section may be teamed together regardless of the manufacturer of the MAC or PHY. This is commonly referred to as "multivendor teaming". ENHANCEMENTS/FIXES: - Verified functionality with latest supported errata kernels listed above - Added "ethtool -i" support which allows users to run the driver on Red Hat Enterprise Linux 3 - Added NC1020 support Table of Contents ================= Introduction Packaging Kernel Source Code Setup Installing the RPM Package Bond Configuration Module Parameters 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 the configuration of 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 set up 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 does not exist, refer to the "Kernel Source Code Setup" section of this document. 4. Install the new binary RPM package using the following command. Do not 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 ================== 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 "Switch Configuration" section gives details about configuring the switch to support the load balancing modes of the bonding driver. The "Verifying Bond Configuration" section gives details on how to verify the teaming configuration. Special Note on Configuring Teams on Red Hat 7.2 Professional Installations --------------------------------------------------------------------------- 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= Modify as shown below to have a working configuration alias bondX bonding options bonding miimon= mode= When 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 ================= 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 Package ============================ 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