Skip to contentSkip to conversation

Network Load Balance

DISCUSSION JoaoAlberto M. dos Reis (listas de discucao) 4 participants 5 messages Nov 25, 2002 – Nov 27, 2002

lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw

Joao,

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

Thanks
-steve

Quoted 21 lines · Joao Alberto M. dos Reis (listas de discucao)

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/

#2 lore raw

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

Quoted 37 lines · Steven Dake

Joao,

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

Thanks
-steve

Quoted 11 lines · Joao Alberto M. dos Reis (listas de discucao)

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.

Quoted 10 lines

-
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/

#3 lore raw
Quoted 3 lines · Jeff V. Merkey

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

Signature · 3 lines
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
#4 lore raw

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?

Quoted 23 lines · Ben Greear
Quoted 6 lines · Jeff V. Merkey

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