Subject: Network Load Balance

There is any way to make 2 intel ethernet cards working as one, like the
Network Load Balance (NLB - Windows) in the Intel Ethernet adapters with
the Adaptive Load Balance feature on linux?

I know that in windows it works, but in the linux? Anyone has any
ideias?

Joao Reis.




2002-11-25 22:49:12

by Manish Lachwani

[permalink] [raw]
Subject: RE: Network Load Balance

Did you try to work with ANS (Advanced Network Service) in the e1000 driver?
bThere is also a utility procfg that ca be used to configure this

Thanks
Manish

-----Original Message-----
From: Joao "Alberto M. dos Reis " "(listas de discucao)
[mailto:[email protected]]
Sent: Monday, November 25, 2002 2:44 PM
To: lista do kernel
Subject: Network Load Balance


There is any way to make 2 intel ethernet cards working as one, like the
Network Load Balance (NLB - Windows) in the Intel Ethernet adapters with
the Adaptive Load Balance feature on linux?

I know that in windows it works, but in the linux? Anyone has any
ideias?

Joao Reis.



2002-11-25 22:50:48

by Steven Dake

[permalink] [raw]
Subject: Re: Network Load Balance

Joao,

Your looking for bonding driver, which is in the kernel and also has a
seperate sourceforge project where development works.

Thanks
-steve

Joao Alberto M. dos Reis (listas de discucao) wrote:

>There is any way to make 2 intel ethernet cards working as one, like the
>Network Load Balance (NLB - Windows) in the Intel Ethernet adapters with
>the Adaptive Load Balance feature on linux?
>
>I know that in windows it works, but in the linux? Anyone has any
>ideias?
>
>Joao Reis.
>
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>
>
>

2002-11-26 17:16:39

by Jeff V. Merkey

[permalink] [raw]
Subject: [PROPOSAL] Network Load Balance


Here is something we did at Novell many years back that worked very well for
load balancing across multiple adapters. This implementation allowed up
to four (4) adapters to function with load balancing. To pull this off,
you need to spoof at the MAC laer and alter the MAC addresses in the
header of received frames to spoof the IP stack above. This method
requires **NO** changes to any protocol stacks above.

All adapters were permitted to receive frames and there was a memory table
that held the MAC address of the first adapter in the load balance
group. For any packets received by any of the adapters, the MAC frame
address was replaced for other receiving adapters with the address of
the primary adapter prior to being pushed up to the protocol stacks.

Any TX packets going outbound to the primary adapter MAC address were
intercepted and round robined out to each of the load balance cards.
Prior to being transmitted, the MAC address in the outbound packets
was changed to match the card the packet would be sent from. This
has the affect of spoofing the remote clients into seeing packets
originate from that particular adapter, and they would answer to that
card MAC address. When the card received the packets, since the MAC address
was being NAT'd, all of the received data would be aliased to appear to
be originating from the first primary adapter.

This model worked great on IPX, and worked fine with ARP and RARP under
IP, although it's not intutive as to why.

At any rate, this is a down and dirty model that would support load
balancing effectively across up to four adapters. It worked very well
for us.

Jeff





On Mon, Nov 25, 2002 at 03:59:18PM -0700, Steven Dake wrote:
> Joao,
>
> Your looking for bonding driver, which is in the kernel and also has a
> seperate sourceforge project where development works.
>
> Thanks
> -steve
>
> Joao Alberto M. dos Reis (listas de discucao) wrote:
>
> >There is any way to make 2 intel ethernet cards working as one, like the
> >Network Load Balance (NLB - Windows) in the Intel Ethernet adapters with
> >the Adaptive Load Balance feature on linux?
> >
> >I know that in windows it works, but in the linux? Anyone has any
> >ideias?
> >
> >Joao Reis.
> >
> >
> >
> >-
> >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> >the body of a message to [email protected]
> >More majordomo info at http://vger.kernel.org/majordomo-info.html
> >Please read the FAQ at http://www.tux.org/lkml/
> >
> >
> >
> >
> >
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2002-11-26 22:19:15

by Ben Greear

[permalink] [raw]
Subject: Re: [PROPOSAL] Network Load Balance

Jeff V. Merkey wrote:
> Here is something we did at Novell many years back that worked very well for
> load balancing across multiple adapters. This implementation allowed up
> to four (4) adapters to function with load balancing. To pull this off,
> you need to spoof at the MAC laer and alter the MAC addresses in the
> header of received frames to spoof the IP stack above. This method
> requires **NO** changes to any protocol stacks above.

How is this different from the bonding driver(s) that are already
in the kernel?

Also, round-robin type of things seem to cause trouble by re-ordering
packets (as seen by the receiving machine).

Ben

--
Ben Greear <[email protected]> <Ben_Greear AT excite.com>
President of Candela Technologies Inc http://www.candelatech.com
ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear


Subject: Re: [PROPOSAL] Network Load Balance

I know that in windows you need a capable ethernet adapter (Intel with
adaptive load balance feature) and the intel's load balance driver. Do I
have to have special hardware or driver to make the linux kernel's bonding?



On Tue, 26 Nov 2002, Ben Greear wrote:

> Jeff V. Merkey wrote:
> > Here is something we did at Novell many years back that worked very well for
> > load balancing across multiple adapters. This implementation allowed up
> > to four (4) adapters to function with load balancing. To pull this off,
> > you need to spoof at the MAC laer and alter the MAC addresses in the
> > header of received frames to spoof the IP stack above. This method
> > requires **NO** changes to any protocol stacks above.
>
> How is this different from the bonding driver(s) that are already
> in the kernel?
>
> Also, round-robin type of things seem to cause trouble by re-ordering
> packets (as seen by the receiving machine).
>
> Ben
>
> --
> Ben Greear <[email protected]> <Ben_Greear AT excite.com>
> President of Candela Technologies Inc http://www.candelatech.com
> ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear
>
>
>

2002-11-27 08:42:10

by Marc-Christian Petersen

[permalink] [raw]
Subject: Re: [PROPOSAL] Network Load Balance

Hi Joao,

> I know that in windows you need a capable ethernet adapter (Intel with
> adaptive load balance feature) and the intel's load balance driver. Do I
> have to have special hardware or driver to make the linux kernel's bonding?
This can be done with every NIC. Just read:
<file: Documentation/networking/bonding.txt>

and set it up.

ciao, Marc