On Wed, Dec 20, 2017 at 02:33:34PM -0800, Jakub Kicinski wrote: > On Mon, 18 Dec 2017 16:40:36 -0800, Sridhar Samudrala wrote: > > +static int virtio_netdev_event(struct notifier_block *this, > > + unsigned long event, void *ptr) > > +{ > > + struct net_device *event_dev = netdev_notifier_info_to_dev(ptr); > > + > > + /* Skip our own events */ > > + if (event_dev->netdev_ops == &virtnet_netdev) > > + return NOTIFY_DONE; > > I wonder how does this work WRT loop prevention. What if I have two > virtio devices with the same MAC, what is preventing them from claiming > each other? Is it only the check above (not sure what is "own" in > comment referring to)? I expect we will add a feature bit (VIRTIO_NET_F_MASTER) and it will be host's responsibility not to add more than 1 such device. > I'm worried the check above will not stop virtio from enslaving hyperv > interfaces and vice versa, potentially leading to a loop, no? There is > also the fact that it would be preferable to share the code between > paravirt drivers, to avoid duplicated bugs. > > My suggestion during the previous discussion was to create a paravirt > bond device, which will explicitly tell the OS which interfaces to > bond, regardless of which driver they're using. Could be some form of > ACPI/FW driver too, I don't know enough about x86 FW to suggest > something fully fleshed :( _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization