Subject: Re: [PATCH] bonding: correct the MAC address for "follow" fail_over_mac policy

From: Ding Tianhong <[email-masked]>
Date: Tue, 21 Jul 2015 15:08:28 +0800

On 2015/7/21 11:30, David Miller wrote:
> From: Ding Tianhong <[email-masked]>
> Date: Thu, 16 Jul 2015 16:30:02 +0800
> 
>> The "follow" fail_over_mac policy is useful for multiport devices that
>> either become confused or incur a performance penalty when multiple
>> ports are programmed with the same MAC address, but the same MAC
>> address still may happened by this steps for this policy:
>>
>> 1) echo +eth0 > /sys/class/net/bond0/bonding/slaves
>>    bond0 has the same mac address with eth0, it is MAC1.
>>
>> 2) echo +eth1 > /sys/class/net/bond0/bonding/slaves
>>    eth1 is backup, eth1 has MAC2.
>>
>> 3) ifconfig eth0 down
>>    eth1 became active slave, bond will swap MAC for eth0 and eth1,
>>    so eth1 has MAC1, and eth0 has MAC2.
>>
>> 4) ifconfig eth1 down
>>    there is no active slave, and eth1 still has MAC1, eth2 has MAC2.
>>
>> 5) ifconfig eth0 up
>>    the eth0 became active slave again, the bond set eth0 to MAC1.
>>
>> Something wrong here, then if you set eth1 up, the eth0 and eth1 will have the same
>> MAC address, it will break this policy for ACTIVE_BACKUP mode.
>>
>> This patch will fix this problem by finding the old active slave and
>> swap them MAC address before change active slave.
>>
>> Signed-off-by: Ding Tianhong <[email-masked]>
> 
> Applied and queued up for -stable, thanks.

Thanks David.

hi zefan:

Could you please apply this patch to 3.4 stable tree, I think it will fix the same problem for this version.

Ding
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> .
>