[eepro100] Does eepro100 support Load Balancing Feature forIntel PRO/100 fa mily under LINUX OS?

Donald Becker becker@scyld.com
Wed, 19 Jul 2000 01:09:09 -0400 (EDT)

On Wed, 19 Jul 2000, Gerd v. Egidy wrote:

> > > Does eepro100 support Load Balancing Feature for Intel PRO/100
> > > family under LINUX OS?
> > 
> > Load balancing, AKA channel bonding or channel aggregation, should not be a
> > function of the driver.  We commonly channel bond with various adapter
> > types, and I've even bonded 10Mbps and 100Mbps channels just to verify
> > that it would work.
> I've heard that this currently doesn't work the way you expect it under Linux:
> You get two net devices (eg. eth0 and eth1) and set up a special balance routing
> through both of them. Then you have to apply a patch which causes the kernel to 
> delete the routing cache after every packet.


> The result is a poor performance because of the patch.

Any patch that does that would result in *really* poor performance.

The way channel bonding works is by copying the master station address to
the slaves, and distributing transmit packets.  Transmit packets are queued
to the interfaces in a round-robin fashion.  If one of the driver Tx queues
fills, it is dropped out of the round-robin sequence.

This is very similar to the way switch trunking, developed subsequent to
channel bonding, works.  Switch trunking is just bonding to a single switch,
rather than parallel isolated networks.  The complication with switch
trunking is automatically detecting that trunking should be done.

> I think i heard of a eepro100 driver from Intel which contains this feature but bound
> to the driver and not usable for all adapter types. This driver lacks a bit of 
> performance compared to the standard eepro100 driver for linux.
> Donald, can you confirm this information or is this just rumors or outdated?

We've used channel bonding since 1994, and the scheme has remained almost
unchanged since then.  There was some prior work (on other OSes) with
bonding at the IP level, and even one NFS-specific approach at the UDP
level.  Ron Minnich probably remembers that one...

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Beowulf Clusters / Linux Installations
Annapolis MD 21403