Re: [PATCH net] bonding: emit event when bonding changes MAC

From: David Miller
Date: Thu Mar 29 2012 - 18:12:39 EST

From: Jay Vosburgh <fubar@xxxxxxxxxx>
Date: Thu, 29 Mar 2012 10:19:44 -0700

> Weiping Pan <wpan@xxxxxxxxxx> wrote:
>>When a bonding device is configured with fail_over_mac=active,
>>we expect to see the MAC address of the new active slave as the source MAC
>>address after failover. But we see that the source MAC address is the MAC
>>address of previous active slave.
>>Emit NETDEV_CHANGEADDR event when bonding changes its MAC address, in order
>>to let arp_netdev_event flush neighbour cache and route cache.
>>How to reproduce this bug ?
>> -----------hostB----------------
>>hostA ----- switch ---|-- eth0--bond0(|
>>( \--|-- eth1-/ |
>> --------------------------------
>>1 on hostB,
>>modprobe bonding mode=1 miimon=500 fail_over_mac=active downdelay=1000
>>ifconfig bond0 up
>>ifenslave bond0 eth0
>>ifenslave bond0 eth1
>>then eth0 is the active slave, and MAC of bond0 is MAC of eth0.
>>2 on hostA, ping
>>3 on hostB,
>>tcpdump -i bond0 -p icmp -XXX
>>you will see bond0 uses MAC of eth0 as source MAC in icmp reply.
>>4 on hostB,
>>ifconfig eth0 down
>>tcpdump -i bond0 -p icmp -XXX (just keep it running in step 3)
>>you will see first bond0 uses MAC of eth1 as source MAC in icmp
>>reply, then it will use MAC of eth0 as source MAC.
>>Signed-off-by: Weiping Pan <wpan@xxxxxxxxxx>
> Signed-off-by: Jay Vosburgh <fubar@xxxxxxxxxx>

Applied, thanks everyone.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at