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

From: Jiri Pirko
Date: Thu Mar 19 2009 - 12:35:26 EST


Thu, Mar 19, 2009 at 09:50:03AM CET, kaber@xxxxxxxxx wrote:
> David Miller wrote:
>> From: Jiri Pirko <jpirko@xxxxxxxxxx>
>> 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.

To let bonding driver to resolve this I think there will be needed some kind of
hook in netif_receive_skb() as for example bridge has. I would rather do this
more general and transparent.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/