FILE NAME: bonding-1.0.4v-1.src.rpm TITLE: HP Tested and Approved Linux Bonding Driver VERSION: 1.0.4v-1 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC150T 4-Port Gigabit Combo Switch Adapter* (bcm5700) HP NC310F Gigabit Server Adapter (e1000) HP NC320T PCI Express Gigabit Server Adapter (bcm5700) HP NC320i Integrated PCI Express Gigabit Server Adapter (bcm5700) HP NC324i Integrated PCI Express Dual Port Gigabit Server Adapter (bcm5700) HP NC325i Integrated PCI Express Dual Port Gigabit Server Adapter (bcm5700) HP NC326i Integrated PCI Express Dual Port Gigabit Server Adapter (bcm5700) HP NC370T Multifunction Gigabit Server Adapter (bnx2)** HP NC370F Multifunction Gigabit Server Adapter (bnx2)** HP NC1020 Gigabit Server Adapter (bcm5700) HP NC3123 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 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 NC7150 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) * The HP NC150T 4-Port Gigabit Combo Switch is only supported in active-backup mode. ** Only supported on Red Hat Enterprise Linux 3 by this driver. OPERATING SYSTEM: Red Hat Enterprise Linux 3 for AMD64/EM64T - Update 5 Red Hat Enterprise Linux 3 for x86 - Update 5 SUSE LINUX Enterprise Server 8 for AMD64 - SP4 + errata kernel 2.4.21-292 SUSE LINUX Enterprise Server 8 for x86 - SP4 + errata kernel 2.4.21-292 NOTE: The bonding driver distributed on the SUSE LINUX Enterprise Server 9 media is supported. This package (bonding-1.0.4v-1.src.rpm) will not build correctly on that distribution. The bonding driver distributed on the Red Hat Enterprise Linux 4 media is supported. This package (bonding-1.0.4v-1.src.rpm) will not build correctly on that distribution. PREREQUISITES: Pentium-based computer 256MB RAM minimum Latest HP system ROM bcm5700 driver version 8.2.9a bnx2 driver version 1.3.19a e100 driver version 3.4.13a e1000 driver version 6.1.10a NOTE: Visit the following URL to upgrade the ROM http://h18000.www1.hp.com/support/files (select ProLiant from the server column) EFFECTIVE DATE: 08/18/2005 SUPERSEDES: bonding-1.0.4t-1.src.rpm DESCRIPTION: This package contains the bonding driver for HP NC series NICs running under the Linux distributions listed above. This driver allows you to combine multiple HP 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: - Tested with latest base drivers - Fixed problem in round-robin mode where current_slave was not being handled correctly, preventing the "now running without any active interface" message from being logged. 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.4v/bonding.txt For SUSE: /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 SUSE LINUX Enterprise Server 8 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 Installing the RPM Package ========================== Backup the current bonding module and ifenslave utility in case a rollback to the previous version is needed. Find the current bonding module by running: find /lib/modules/`uname -r`/kernel -name "bonding.*" Copy the bonding.o/ko driver and /sbin/ifenslave utility to a safe location. If a rollback to a prior bonding driver version is needed, both the bonding.o/ko and ifenslave utility will need to be restored for proper operation. 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: # 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. 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, 2004, 2005 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies