Message ID | 4e8a50df-bf96-3ef7-2977-71495d80643c@huawei.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | net: vrf: Fix operation not supported when set vrf mac | expand |
On 4/19/19 10:09 PM, linmiaohe wrote: > From: Miaohe Lin <linmiaohe@huawei.com> > > Vrf device is not able to change mac address now because lack of > ndo_set_mac_address. Complete this in case some apps need to do > this. > mac on a VRF device is irrelevant so what is the point of allowing apps to change it?
On 2019/4/20 22:42, David Ahern wrote: > On 4/19/19 10:09 PM, linmiaohe wrote: >> From: Miaohe Lin <linmiaohe@huawei.com> >> >> Vrf device is not able to change mac address now because lack of >> ndo_set_mac_address. Complete this in case some apps need to do >> this. >> > > mac on a VRF device is irrelevant so what is the point of allowing apps > to change it? > > Sure, mac on a VRF device is irrelevant. There is no point of allowing apps to change it, but someone around complains about it. So let's just ignore the voice of the complaining.
From: linmiaohe <linmiaohe@huawei.com> Date: Sat, 20 Apr 2019 12:09:39 +0800 > From: Miaohe Lin <linmiaohe@huawei.com> > > Vrf device is not able to change mac address now because lack of > ndo_set_mac_address. Complete this in case some apps need to do > this. > > Reported-by: Hui Wang <wanghui104@huawei.com> > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> It seems useless, but this change is pretty much harmless so I'll apply it. Thanks.
On 2019/4/25 2:45, David Miller wrote: > From: linmiaohe <linmiaohe@huawei.com> > Date: Sat, 20 Apr 2019 12:09:39 +0800 > >> From: Miaohe Lin <linmiaohe@huawei.com> >> >> Vrf device is not able to change mac address now because lack of >> ndo_set_mac_address. Complete this in case some apps need to do >> this. >> >> Reported-by: Hui Wang <wanghui104@huawei.com> >> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> > > It seems useless, but this change is pretty much harmless so I'll > apply it. > > Thanks. > > . > That's very nice of you. Thanks a lot.
diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c index cd15c32b2e43..9ee4d7402ca2 100644 --- a/drivers/net/vrf.c +++ b/drivers/net/vrf.c @@ -875,6 +875,7 @@ static const struct net_device_ops vrf_netdev_ops = { .ndo_init = vrf_dev_init, .ndo_uninit = vrf_dev_uninit, .ndo_start_xmit = vrf_xmit, + .ndo_set_mac_address = eth_mac_addr, .ndo_get_stats64 = vrf_get_stats64, .ndo_add_slave = vrf_add_slave, .ndo_del_slave = vrf_del_slave, @@ -1274,6 +1275,7 @@ static void vrf_setup(struct net_device *dev) /* default to no qdisc; user can add if desired */ dev->priv_flags |= IFF_NO_QUEUE; dev->priv_flags |= IFF_NO_RX_HANDLER; + dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; /* VRF devices do not care about MTU, but if the MTU is set * too low then the ipv4 and ipv6 protocols are disabled