From: Nikolay Aleksandrov <ra...@blackwall.org> Date: Wed, 15 Jul 2015 22:57:01 +0200
> From: Nikolay Aleksandrov <niko...@cumulusnetworks.com> > > If the bond is enslaving a device with different type it will be setup > by it, but if after being setup the enslave fails the bond doesn't > switch back its type and also keeps pointers to foreign structures that can > be long gone. Thus revert back any type changes if the enslave failed and > the bond had to change its type. > Example: > Before patch: > $ echo lo > bond0/bonding/slaves > -bash: echo: write error: Cannot assign requested address > $ ip l sh bond0 > 20: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN > mode DEFAULT group default > link/loopback 16:54:78:34:bd:41 brd 00:00:00:00:00:00 > $ echo +eth1 > bond0/bonding/slaves > $ ip l sh bond0 > 20: bond0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode > DEFAULT group default qlen 1000 > link/ether 52:54:00:3f:47:69 brd ff:ff:ff:ff:ff:ff > (notice the MASTER flag is gone) > > After patch: > $ echo lo > bond0/bonding/slaves > -bash: echo: write error: Cannot assign requested address > $ ip l sh bond0 > 21: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN > mode DEFAULT group default qlen 1000 > link/ether 6e:66:94:f6:07:fc brd ff:ff:ff:ff:ff:ff > $ echo +eth1 > bond0/bonding/slaves > $ ip l sh bond0 > 21: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN > mode DEFAULT group default qlen 1000 > link/ether 52:54:00:3f:47:69 brd ff:ff:ff:ff:ff:ff > > Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com> > Fixes: e36b9d16c6a6 ("bonding: clean muticast addresses when device changes > type") Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html