Bertrand LUPART :: Linux: multiple bonding interfaces
start > 2007-12-11 > 1

Linux: multiple bonding interfaces

I'm using bonding on my Linux servers for quite some time now, and it's really helpful in case of a switch, cable or network card failure.

I just decided it would be time to add that to my 4 interfaces Linux router.

The machine is a Dell PowerEdge 1950 running GNU/Linux Debian etch. I just added a second Intel 1000GT quad port card, so that the machine now sport 10 1Gb/s ethernet ports. The goal was to bond 2 links, using a total of 6 interfaces and keeping 4 of them free.

Adding the first bonding interface was plain easy, as usual. In fact, it was easier than usual because the bonding module were already compiled in, configured and loaded, the bond0 interface already created. In fact, that's what caused me trouble :)

Adding the second one was more problematic: i never used more than one bonding interface to a Linux machine and didn't thought it could be problematic before trying.

While trying to run ifenslave on bond1: i got the following error:

Master 'bond1': Error: handshake with driver failed. Aborting

The error is not quite user-friendly. You really imagine you've now a big big complicated problem. More, when using your friend google, you only find a total of 20 results composed of asian pages you don't understand and… source code :) This really help you to think you're lost.

That's obviously not the case.

Just got to the bonding module configuration again. I've never mentionned how much "max_bonds" i wanted. The default is one, thus, only the bond0 interface was created.

I just added the following at the end of the /etc/modprobe.d/aliases file:

 alias bond0 bonding
 alias bond1 bonding
 alias bond2 bonding
 alias bond3 bonding
 alias bond4 bonding
 options bonding mode=1 miimon=100 downdelay=200 updelay=200 max_bonds=5

Now works as expected.

Don't forget to read Documentation/networking/bonding.txt in the kernel source.

No comments / Post a Comment