Yea, and that ifenslave won't work with redhat's network setup files,
which has been in place for years. Notice I'm not on that page? I
considered it a forked version. It also does things I talked to becker
about, that is not nice to the system (MII polling as often it does is
bad.)
When I created the first 2.2 bonding patch, I didn't want to have to
rewrite redhat's already in place ifenslave support (from the 2.0.xx
kernel patch). The ifenslave listed on that page is broken in that
regard.
The original ifenslave bonded a device to a master that was already up
and running; the master device was used also a xmit device (so it
routed packets, and sometimes transmitted them). So, if the master
device died, the slave(s) died with it. Not good. Redhat config files
assumed the master was up and running, and you can add a slave to it
without any problems. The slave device also picks up it's mac address
from the master device.
The version I created, the master device does nothing but route packets
to slaves. This has a simple problem - no known mac hardware address.
(ie, it's 0:0:0:0:0:0:0:0) That's bad. To set a hardware mac address,
you need to down, change the hw mac, and re-up the device. But,
redhat's scripts already assume the master is up and running, and
downing the master to setup the mac hw means all IP routing information
is lost. So I added the BOND_SETHWADDR, which allows ifenslave to add a
mac address to the bond master without killing any IP routing
information. But that's not totally correct either, since adding a mac
hw address can screw up the arp tables (it appears not to, but that's
just plain lucky).
So, in summary, bonding is hack, I strongly dis-agree with what is at
http://sourceforge.net/projects/bonding, but my hands are currently tied
on doing much about it (I could, but I could suffer from consequences)
-- ------------------------+-------------------------------------------------- Thomas Davis | ASG Cluster guy tadavis@lbl.gov | (510) 486-4524 | "80 nodes and chugging Captain!" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/