summaryrefslogtreecommitdiffstats
path: root/drivers/net/ipvlan
diff options
context:
space:
mode:
authorKeefe Liu <liuqifa@huawei.com>2018-05-14 13:38:09 +0200
committerDavid S. Miller <davem@davemloft.net>2018-05-16 17:59:41 +0200
commitab452c3ce7bacb27ffe2fc0144aecd0c399e1e24 (patch)
treecc4e69c6986ae0e8bd41d264156bb6b36dc7e0a3 /drivers/net/ipvlan
parentvmxnet3: use DMA memory barriers where required (diff)
downloadlinux-ab452c3ce7bacb27ffe2fc0144aecd0c399e1e24.tar.xz
linux-ab452c3ce7bacb27ffe2fc0144aecd0c399e1e24.zip
ipvlan: call netdevice notifier when master mac address changed
When master device's mac has been changed, the commit 32c10bbfe914 ("ipvlan: always use the current L2 addr of the master") makes the IPVlan devices's mac changed also, but it doesn't do related works such as flush the IPVlan devices's arp table. Signed-off-by: Keefe Liu <liuqifa@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ipvlan')
-rw-r--r--drivers/net/ipvlan/ipvlan_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c
index 450eec264a5e..4377c26f714d 100644
--- a/drivers/net/ipvlan/ipvlan_main.c
+++ b/drivers/net/ipvlan/ipvlan_main.c
@@ -792,8 +792,10 @@ static int ipvlan_device_event(struct notifier_block *unused,
break;
case NETDEV_CHANGEADDR:
- list_for_each_entry(ipvlan, &port->ipvlans, pnode)
+ list_for_each_entry(ipvlan, &port->ipvlans, pnode) {
ether_addr_copy(ipvlan->dev->dev_addr, dev->dev_addr);
+ call_netdevice_notifiers(NETDEV_CHANGEADDR, ipvlan->dev);
+ }
break;
case NETDEV_PRE_TYPE_CHANGE: