diff options
| author | Shlomo Pongratz <shlomop@mellanox.com> | 2012-04-03 18:56:19 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-04-04 18:11:12 -0400 |
| commit | 2af73d4b2afe826d23e83f3747f850eefbd867ff (patch) | |
| tree | ab503b426a45d2395f0ff80c6bd74e9f603feb8c | |
| parent | acdd5985364f8dc511a0762fab2e683f29d9d692 (diff) | |
net/bonding: emit address change event also in bond_release
commit 7d26bb103c4 "bonding: emit event when bonding changes MAC" didn't
take care to emit the NETDEV_CHANGEADDR event in bond_release, where bonding
actually changes the mac address (to all zeroes). As a result the neighbours
aren't deleted by the core networking code (which does so upon getting that
event).
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/bonding/bond_main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 941b4e189ad..5cb85cb0be4 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
| @@ -2034,6 +2034,9 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev) | |||
| 2034 | write_unlock_bh(&bond->lock); | 2034 | write_unlock_bh(&bond->lock); |
| 2035 | unblock_netpoll_tx(); | 2035 | unblock_netpoll_tx(); |
| 2036 | 2036 | ||
| 2037 | if (bond->slave_cnt == 0) | ||
| 2038 | call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev); | ||
| 2039 | |||
| 2037 | bond_compute_features(bond); | 2040 | bond_compute_features(bond); |
| 2038 | if (!(bond_dev->features & NETIF_F_VLAN_CHALLENGED) && | 2041 | if (!(bond_dev->features & NETIF_F_VLAN_CHALLENGED) && |
| 2039 | (old_features & NETIF_F_VLAN_CHALLENGED)) | 2042 | (old_features & NETIF_F_VLAN_CHALLENGED)) |
