Re: [PATCH net] ipvlan: call dev_change_flags when reset ipvlan mode
From: Hangbin Liu <hidden>
Date: 2018-06-20 03:23:06
On Tue, Jun 19, 2018 at 02:10:18PM -0700, Cong Wang wrote:
On Mon, Jun 18, 2018 at 7:04 AM, Hangbin Liu [off-list ref] wrote:quoted
@@ -94,10 +95,13 @@ static int ipvlan_set_port_mode(struct ipvl_port *port, u16 nval) mdev->l3mdev_ops = NULL; } list_for_each_entry(ipvlan, &port->ipvlans, pnode) { + flags = ipvlan->dev->flags; if (nval == IPVLAN_MODE_L3 || nval == IPVLAN_MODE_L3S) - ipvlan->dev->flags |= IFF_NOARP; + dev_change_flags(ipvlan->dev, + flags | IFF_NOARP); else - ipvlan->dev->flags &= ~IFF_NOARP; + dev_change_flags(ipvlan->dev, + flags & ~IFF_NOARP);You need to check the return value of dev_change_flags().
Hi Wang Cong, The only case dev_change_flags() return an err is when we change IFF_UP flag. Since we only set/reset IFF_NOARP, do you think we still need to check the return value? Thanks Hangbin