patch-2.2.15 linux/Documentation/networking/bonding.txt

Next file: linux/Documentation/networking/dmfe.txt
Previous file: linux/Documentation/magic-number.txt
Back to the patch index
Back to the overall index

diff -u --new-file --recursive --exclude-from ../../exclude v2.2.14/Documentation/networking/bonding.txt linux/Documentation/networking/bonding.txt
@@ -0,0 +1,128 @@
+Installation:
+
+Apply patch.  (if your reading this in
+/usr/src/linux/Documentation/networking/bonding.txt, then it's already
+applied.)
+
+Run make menuconfig/xconfig/config, and select 'bonding device' in
+network devices.
+
+Build the new kernel/modules.
+
+Get update ifenslave.c (included in tar file.) (location to be determined.)
+
+install ifenslave.c; do:
+	gcc -O2 -o ifenslave ifenslave.c
+	cp ifenslave /sbin/ifenslave
+
+Modify /etc/conf.modules by adding the line:
+	alias bond0 bonding
+
+If you running a RH5.0 or newer distribution, do:
+
+cd /etc/sysconfig/network-scripts
+cp ifcfg-eth0 ifcfg-bond0
+edit ifcfg-bond0, and make it look the following:
+
+DEVICE=bond0
+USERCTL=no
+ONBOOT=yes
+BOOTPROTO=none
+BROADCAST=XXX.XXX.XXX.255
+NETWORK=XXX.XXX.XXX.0
+NETMASK=255.255.255.0
+IPADDR=XXX.XXX.XXX.XXX
+
+(put the approiate values for you network in where the XXX's are at.)
+
+Then, edit ifcfg-eth0/ifcfg-eth1 (and all the other slave devices), and make them
+look like this:
+
+DEVICE=eth0
+USERCTL=no
+ONBOOT=yes
+MASTER=bond0
+SLAVE=yes
+BOOTPROTO=none
+
+Reboot, and the network should come up bonded together.
+
+For other distributions, you need to do something like:
+
+/sbin/ifconfig bond0 addresss netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxx up
+/sbin/ifenslave bond0 eth0
+/sbin/ifenslave bond0 eth1
+
+When properly configured, it will look this:
+
+[root]# /sbin/ifconfig
+bond0     Link encap:Ethernet  HWaddr 00:C0:F0:1F:37:B4  
+          inet addr:XXX.XXX.XXX.YYY  Bcast:XXX.XXX.XXX.255  Mask:255.255.252.0
+          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
+          RX packets:7224794 errors:0 dropped:0 overruns:0 frame:0
+          TX packets:3286647 errors:1 dropped:0 overruns:1 carrier:0
+          collisions:0 txqueuelen:0 
+
+eth0      Link encap:Ethernet  HWaddr 00:C0:F0:1F:37:B4  
+          inet addr:XXX.XXX.XXX.YYY  Bcast:XXX.XXX.XXX.255  Mask:255.255.252.0
+          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
+          RX packets:3573025 errors:0 dropped:0 overruns:0 frame:0
+          TX packets:1643167 errors:1 dropped:0 overruns:1 carrier:0
+          collisions:0 txqueuelen:100 
+          Interrupt:10 Base address:0x1080 
+
+eth1      Link encap:Ethernet  HWaddr 00:C0:F0:1F:37:B4  
+          inet addr:XXX.XXX.XXX.YYY  Bcast:XXX.XXX.XXX.255  Mask:255.255.252.0
+          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
+          RX packets:3651769 errors:0 dropped:0 overruns:0 frame:0
+          TX packets:1643480 errors:0 dropped:0 overruns:0 carrier:0
+          collisions:0 txqueuelen:100 
+          Interrupt:9 Base address:0x1400 
+
+Questions:
+
+1.  Is it SMP safe?
+
+	Yes.  The old 2.0.xx channel bonding patch wasn't SMP safe.
+This one was designed from the start to be SMP safe.
+
+2.  What type of cards can it work with it?
+
+	Any Ethernet type cards (ie, you can even mix cards - a tulip
+and a 3com 3c905, for example).  You can even bond together Gigabit
+Ethernet cards!
+
+3.  How many bond devices can I have?
+
+	Just one at this time.
+
+4.  How many slaves can a bond device have?
+
+	Limited by the number of cards you can place in your system.
+
+5.  What happens when a slave dies?
+
+	Currently, the ethernet drivers don't really handle this
+situation very well.  The tulip driver never stalls; it just starts to
+throw packets away!
+
+6.  If this was fixed, can bonding be used for High Availability?
+
+	Yes!
+
+7.  Which switches/systems does it work with?
+
+	Cisco 5500 series (look for EtherChannel support).
+	SunTrunking software.
+
+8.  Where does the bond0 device get it's mac address from?
+
+	It's taken from the first slave device.  If you remove that
+first slave device, the MAC address continues to be associated with
+it.  If you wish to remove that MAC address, you have to ifconfig
+bond0 down, and then modprobe -r bonding.  If you wish, you can also
+assign a MAC address when you ifconfig the bond0 device.
+
+9.  Which transmit policy is used?
+
+	Round robin, based on order of enslaving.
\ No newline at end of file

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)