Hi All,
a small howto on teaming in linux
this i tried IMHO.
Teaming possible in linux too,

make menuconfig, 
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.


--
Regards                       ph:5099025
RaghuNath L                   pager:9624395369
WSS-Team,Texas Instruments India.
     You have to live on the edge of reality -
     to make your dreams come true!!!


----------------------------------------------
LIH is all for free speech.  But it was created
for a purpose.  Violations of the rules of
this list will result in stern action.

Reply via email to