From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [RFC PATCH] virtio_net: Extend virtio to use VF datapath when available Date: Thu, 21 Dec 2017 02:15:31 +0200 Message-ID: <20171221021450-mutt-send-email-mst@kernel.org> References: <1513644036-45230-1-git-send-email-sridhar.samudrala@intel.com> <20171220143140.0a3dc7f1@cakuba.netronome.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Sridhar Samudrala , stephen@networkplumber.org, netdev@vger.kernel.org, virtualization@lists.linux-foundation.org, alexander.duyck@gmail.com To: Jakub Kicinski Return-path: Received: from mx1.redhat.com ([209.132.183.28]:38978 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756566AbdLUAPc (ORCPT ); Wed, 20 Dec 2017 19:15:32 -0500 Content-Disposition: inline In-Reply-To: <20171220143140.0a3dc7f1@cakuba.netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: 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 :(