2018-05-14 09:25:43

by liuqifa

[permalink] [raw]
Subject: [PATCH v2] ipvlan: flush arp table when mac address changed

From: Keefe Liu <[email protected]>

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 flush the IPVlan's arp table.

Signed-off-by: Keefe Liu <[email protected]>
---
drivers/net/ipvlan/ipvlan_main.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c
index 450eec2..4377c26 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:
--
1.8.3.1




2018-05-14 09:50:58

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH v2] ipvlan: flush arp table when mac address changed

Hello.

On 5/14/2018 12:22 PM, [email protected] wrote:

> From: Keefe Liu <[email protected]>
>
> 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

commit 32c10bbfe914 ("ipvlan: always use the current L2
addr of the master").

> also, but it doesn't flush the IPVlan's arp table.
>
> Signed-off-by: Keefe Liu <[email protected]>
[...]

MBR, Sergei