> Subject: Re: [PATCH] hv_netvsc: Mark VF as slave before exposing it to user-mode > > On Wed, 25 Oct 2023 15:50:50 -0700 > longli@xxxxxxxxxxxxxxxxx wrote: > > > @@ -2347,6 +2342,12 @@ static int netvsc_register_vf(struct net_device > *vf_netdev) > > if (!ndev) > > return NOTIFY_DONE; > > > > + if (event == NETDEV_POST_INIT) { > > + /* set slave flag before open to prevent IPv6 addrconf */ > > + vf_netdev->flags |= IFF_SLAVE; > > + return NOTIFY_DONE; > > + } > > + > > net_device_ctx = netdev_priv(ndev); > > netvsc_dev = rtnl_dereference(net_device_ctx->nvdev); > > if (!netvsc_dev || rtnl_dereference(net_device_ctx->vf_netdev)) > > @@ -2753,8 +2754,9 @@ static int netvsc_netdev_event(struct notifier_block > *this, > > return NOTIFY_DONE; > > > > switch (event) { > > + case NETDEV_POST_INIT: > > case NETDEV_REGISTER: > > - return netvsc_register_vf(event_dev); > > + return netvsc_register_vf(event_dev, event); > > Although correct, this is an awkward way to write this. > There are two events which call register_vf() but the post init one short circuits > and doesn't really register the VF. > > The code is clearer if flag is set in switch statement. > I will add a dedicated function to handle NETDEV_POST_INIT. Thanks, Long