FILE NAME:         bonding-1.0.3-12HP.src.rpm

TITLE:             HP Tested and Approved Linux Bonding Driver

VERSION:           1.0.3-12HP

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.18-27 (SMP, UP)
                   Red Hat Linux 7.3 Professional
                        - Errata kernel 2.4.18-27 (SMP, UP, and BigMem)
                   Red Hat Linux 8.0 Professional
                        - Errata kernel 2.4.18-27 (SMP, UP, and BigMem)
                   Red Hat Enterprise Linux 2.1 - QU2
                        - Errata kernel 2.4.9-e.24 (SMP, UP, and Enterprise)
                   SuSE Linux Enterprise Server 7 (SLES-7)
                        - Errata kernel 2.4.18-244 (SMP)
                        - Errata kernel 2.4.18-262 (UP)
                   Conective Linux Enterprise Edition, SCO Linux 4.0, 
                        SuSE Linux Enterprise 8, and Turbolinux 8 all 
                        powered by UnitedLinux 1.0
                        - Service Pack 2a (service packs must be installed in
                          order, from service pack 1 to the above service pack)

                   Note: Currently, this driver is not supported on the BigMem 
                         Errata Kernel 2.4.18-27 on Red Hat Linux 7.2 Professional 
                         due to driver installation issues.                                                 


PREREQUISITES:  Pentium based computer
                128MB RAM minimum
                Latest HP system ROM
                bcm5700 driver version 6.2.11a
                e100 driver version 2.2.21b
                e1000 driver version 5.0.43a

                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: 08/12/2003

SUPERSEDES:     bonding-1.0.3-3.src.rpm

DESCRIPTION:    This RPM Package contains the HP Tested and Approved Linux
                bonding driver for use with HP Server Adapters mentioned
                in the PRODUCTS AFFECTED section of this document.

ENHANCEMENTS/FIXES:
                - Ported MAC and MTU functions from latest bonding driver
                - Added Jumbo frames limitation to this document 
                - Include "HP" in the version of the built binary 
                  bonding driver RPM package


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.3/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-<version>.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-<kernel-version> 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-<kernel_version>
                  # make mrproper
                  # make -e KERNELRELEASE=`uname -r` oldconfig
                  # make -e KERNELRELEASE=`uname -r` dep



        SLES 7 and UnitedLinux 1.0 installation
        If the /usr/src/linux-<kernel-version> 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-<kernel_version>.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-<version>.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-<version>.i386.rpm

5. The bonding.o module is installed in the 
   /lib/modules/<kernel_version>/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. 


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