Re: Ethernet load balancing (was: Re: 3.0 wishlist Was: Overview of 2.2.x goals?)

Benjamin C.R. LaHaise (blah@kvack.org)
Tue, 20 Jan 1998 13:13:58 -0500 (EST)


On Tue, 20 Jan 1998, John Carol Langford wrote:

> >I must be missing something here (again :-) ... why is
> >it not possible to write a special net device which just
> >distributes packets equally to two real net devices?
>
> This is what eql (for serial devices) and ipeql (more generically) try to
> do.

Not quite the way I envision it (and methinks this is what the original
poster was thinking): the balancing device is a medium-specific beast,
which would use the same hard header for all devices.

> >Sounds like it would just be a very thin layer. As long
>
> It's not thin because the route cache holds the (dummy) header for the
> software device. The real header for the slave device has to be
> reconstructed on each packet, increasing the effective network stack depth
> by 50% or so.

I guess it depends heavily on the topology of the network in question, but
I don't see load balancing being too useful on anything other than
point-to-point links. Take, say, wiring two ethercards in each machine
with crossover cables to another - drop the ethercards into promiscuous
mode and an etheql device becomes trivial. I seem to remember it being
mentioned that this would be the 'right' way to do bridging too (although
a device-specific netif_rx would be needed).

-ben