This document and associated shell script, "bonding", are provided as
an example of how to set up a team and automate its start up.
Note: the shell script, "bonding" is only necessary for automation with SLES 7
and UL 1.0. By following the Red Hat instructions below, the user can
utilize native Red Hat network automation.
This specific example creates a two-port team in "active-backup" mode. The
primary adapter, "HP NCx7xx Gigabit Server Adapter", utilizes the bcm5700
driver. The back up adapter, "HP NC31xx Fast Ethernet Adapter", utilizes
the e100 driver. These two server adapters are the only two in the server. The
steps below must be adjusted if other server adapters are in the system.
These instructions are valid only for HP supported Red Hat distributions as well
as SLES 7 and UL 1.0. Please see the associated bonding-x.x.x-src.txt file
for HP supported Linux distributions.
First, ensure the latest supported network and bonding drivers are installed from
http://h18000.www1.hp.com/products/servers/linux/softwaredrivers.html.
Red Hat Enterprise Linux Distributions
================================================================================
1] Remove any lines in /etc/modules.conf (/etc/modprobe.conf on RHEL4) that reference eth0, eth1, or
bonding, then add the following lines
alias bond0 bonding
options bond0 primary=eth0 mode=1 miimon=200
alias eth0 bcm5700
alias eth1 e100
2] Create a file named /etc/sysconfig/network-scripts/ifcfg-bond0 containing
the following (change the addresses for your particular environment):
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
3] Create a file named /etc/sysconfig/network-scripts/ifcfg-eth0 containing
the following:
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
4] Create a file named /etc/sysconfig/network-scripts/ifcfg-eth1 containing
the following:
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
5] Reboot the server.
6] Verify team configuration by viewing /proc/net/bonding/bond0, or running
"/etc/init.d/bonding status". Monitoring /var/log/messages may be
helpful in diagnosing teaming configuration problems. On RHEL3, for
details on configuring a bond (team) refer to
/usr/share/doc/bonding-x.x.x/bonding.txt (where x.x.x is the version of
the HP tested and approved bonding driver)
SuSE Distributions
================================================================================
1] Remove any lines in /etc/modules.conf (/etc/modprobe.conf on SLES 9) that reference eth0, eth1, or
bonding - no lines need to be added to this file since everything
will be done in the startup script.
2] Copy the bonding script (provided on the Software and Documentation CD
at /linux/bonding/bonding to /etc/init.d,
a listing of the script is provided at the end of this document.
3] Execute the following command
chmod +x /etc/init.d/bonding
4] Execute one of the following commands so the team will start
after reboots
insserv bonding
chkconfig bonding on
5] Reboot the server.
6] Verify team configuration by viewing /proc/net/bonding/bond0, or running
"/etc/init.d/bonding status". Monitoring /var/log/messages may be
helpful in diagnosing teaming configuration problems.
Bonding start/stop script
================================================================================
#! /bin/sh
#
# /etc/init.d/bonding
#
# See "man chkconfig" for information on next two lines
# chkconfig: - 6 1
# description: Linux Bonding driver
#
# comments for insserv
### BEGIN INIT INFO
# Provides: bonding
# Required-Start: $local_fs $network
# Required-Stop:
# Default-Start: 2 3 5
# Default-Stop:
# Description: start/stop the bonded interfaces; a simple script to be
# used as a template - modify as needed for your setup.
# The server for which this script is written contains a single
# NC7770 and a single NC3134. The NC3134 (e100) is an active
# backup for the NC7770 (tg3 or bcm5700).
#
### END INIT INFO
if [ -f /etc/rc.status ]; then
. /etc/rc.status
fi
if [ -f /etc/rc.config ]; then
. /etc/rc.config
fi
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
rc_reset
case "$1" in
start)
echo "Starting network teams (bonds): "
# load the bonding driver, change module parameters as needed
modprobe bonding primary=eth0 mode=1 miimon=200
if [ $? -ne 0 ]; then
echo "ERROR: could not load bonding driver"
# rc_failed
# rc_status -v
# rc_exit
exit 1
fi
# load the tg3 driver first (eth0)
modprobe tg3
if [ $? -ne 0 ]; then
echo "ERROR: could not load tg3 driver"
# rc_failed
# rc_status -v
# rc_exit
exit 1
fi
# load the e100 driver second (eth1 since we have a single tg3
# device)
modprobe e100
if [ $? -ne 0 ]; then
echo "ERROR: could not load e100 driver"
# rc_failed
# rc_status -v
# rc_exit
exit 1
fi
# configure the network, change as needed for your setup
ifconfig bond0 192.168.1.1 netmask 255.255.255.0 \
broadcast 192.168.1.255 up
# enslave each interface
ifenslave bond0 eth0
ifenslave bond0 eth1
# rc_status -v
echo "Network teams started."
;;
stop)
echo "Stopping network teams (bonds): "
# bring all interfaces down and remove all drivers
ifconfig eth0 down
ifconfig eth1 down
ifconfig bond0 down
rmmod e100
rmmod tg3
rmmod bonding
# rc_status -v
echo "Network teams stopped."
;;
status)
if [ -f /proc/net/bond0/info ]; then
cat /proc/net/bond0/info
else
echo "Bonding driver is not loaded"
fi
# rc_exit
exit 1
;;
restart|reload)
$0 stop ${2+"$2"} && $0 start ${2+"$2"}
# rc_exit
exit 1
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload}"
# rc_exit
exit 1
;;
esac
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.