Re: [PATCH] bonding: allow bond in mode balance-alb to work properly in bridge

Patrick McHardy
2009-03-19T08:50:29Z

David Miller wrote:
> From: Jiri Pirko <jpirko@redhat.com>
> Date: Mon, 16 Mar 2009 12:11:28 +0100
>
>> I can see two solutions. Either like my patch or somehow allow bridge to know
>> more MAC addressses per port (maybe netdev can be changed to know more then
>> one MAC address).
>>
>> Any thoughts?
>
> The netdev struct already supports having a list of multiple unicast
> MAC addresses, it can probably be used and inspected for this.
>
> I'll hold off on your patch until we make some more progress on
> this discussion.

From reading the balance-alb description, I get the impression that this
mode is simply not meant to be used with bridging:

Adaptive load balancing: includes balance-tlb plus
receive load balancing (rlb) for IPV4 traffic, and
does not require any special switch support. The
receive load balancing is achieved by ARP negotiation.
The bonding driver intercepts the ARP Replies sent by
the local system on their way out and overwrites the
source hardware address with the unique hardware
address of one of the slaves in the bond such that
different peers use different hardware addresses for
the server.

In any case I'd tend to say that if bond-alb mode mangles outgoing MAC
addresses, it should restore the original one for received packets
and keep the hacks local to bonding.