[Beowulf] Bonding in 2.4.22-1.2149 Linux kernel

Alexandr Konovalov avkon at imm.uran.ru
Wed Jan 14 15:03:14 EST 2004


we have somewhat non-standart configuration of our computing 
cluster. Inernal computing nodes are connected by 2 (bonded) 
ethernet networks, but host connected only to one ethernet 
(i.e., connection to host not bonded for the all computing 
nodes). For the Linux kernel 2.4.9 - 2.4.20 it's possible to 
run such configuration if we use static arp tables and 
static routes (connection to host should be routed directly 
to the slave device, say eth1, not to bond0).

But when we install 2.4.22-1.2149 (from Fedora 1), things 
are changed. Now routing to slave device became impossibe 
with diagnostics like
ioctl(3, 0x890b, 0xbfe90b10) = -1 ENODEV (No such device)
And there is no more slave devices in route output. Googling 
give us some reasons for this graceful changing of (yes, 
undocumented and unspecified) behaviour.

It's compitely unacceptable for us to abandon bonding, so 
after drivers/net/bonding/bond_main.c reading we (probably) 
found a solution. Out idea is simply create new bonding 
policy. If a packet destination is in the bonded network it 
will call bond_xmit_roundrobin, if not then packed will be 
xmited directly to an appropriate slave device. MAC adresses 
for the direct xmiting will received by modiles as the load 

Probably we miss some opportunities and make some desing 
mistakes, because our hardware configuration is not very 
rare, so someone perhaps solve all our problems. We are 
interested in any feedback from the Beowulf community.

Thanks for your attention,
Alexandr Konovalov

Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

More information about the Beowulf mailing list