On Tue, May 22, 2018 at 03:26:26PM +0200, Jiri Pirko wrote: > Tue, May 22, 2018 at 03:17:37PM CEST, mst@xxxxxxxxxx wrote: > >On Tue, May 22, 2018 at 03:14:22PM +0200, Jiri Pirko wrote: > >> Tue, May 22, 2018 at 03:12:40PM CEST, mst@xxxxxxxxxx wrote: > >> >On Tue, May 22, 2018 at 11:08:53AM +0200, Jiri Pirko wrote: > >> >> Tue, May 22, 2018 at 11:06:37AM CEST, jiri@xxxxxxxxxxx wrote: > >> >> >Tue, May 22, 2018 at 04:06:18AM CEST, sridhar.samudrala@xxxxxxxxx wrote: > >> >> >>Use the registration/notification framework supported by the generic > >> >> >>failover infrastructure. > >> >> >> > >> >> >>Signed-off-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> > >> >> > > >> >> >In previous patchset versions, the common code did > >> >> >netdev_rx_handler_register() and netdev_upper_dev_link() etc > >> >> >(netvsc_vf_join()). Now, this is still done in netvsc. Why? > >> >> > > >> >> >This should be part of the common "failover" code. > >> >> > > >> >> > >> >> Also note that in the current patchset you use IFF_FAILOVER flag for > >> >> master, yet for the slave you use IFF_SLAVE. That is wrong. > >> >> IFF_FAILOVER_SLAVE should be used. > >> > > >> >Or drop IFF_FAILOVER_SLAVE and set both IFF_FAILOVER and IFF_SLAVE? > >> > >> No. IFF_SLAVE is for bonding. > > > >What breaks if we reuse it for failover? > > This is exposed to userspace. IFF_SLAVE is expected for bonding slaves. > And failover slave is not a bonding slave. That does not really answer the question. I'd claim it's sufficiently like a bond slave for IFF_SLAVE to make sense. In fact you will find that netvsc already sets IFF_SLAVE, and so does e.g. the eql driver. The advantage of using IFF_SLAVE is that userspace knows to skip it. If we don't set IFF_SLAVE existing userspace tries to use the lowerdev. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization