public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: "Samudrala, Sridhar" <sridhar.samudrala@intel•com>
To: Jiri Pirko <jiri@resnulli•us>,
	Alexander Duyck <alexander.duyck@gmail•com>
Cc: "Michael S. Tsirkin" <mst@redhat•com>,
	Stephen Hemminger <stephen@networkplumber•org>,
	David Miller <davem@davemloft•net>,
	Netdev <netdev@vger•kernel.org>,
	virtio-dev@lists•oasis-open.org, "Brandeburg,
	Jesse" <jesse.brandeburg@intel•com>,
	"Duyck, Alexander H" <alexander.h.duyck@intel•com>,
	Jakub Kicinski <kubakici@wp•pl>
Subject: Re: [PATCH v4 2/2] virtio_net: Extend virtio to use VF datapath when available
Date: Sun, 4 Mar 2018 13:54:49 -0800	[thread overview]
Message-ID: <3089ef58-4756-e67e-4511-652aa095e25f@intel.com> (raw)
In-Reply-To: <20180304185034.GE2112@nanopsycho.orion>



On 3/4/2018 10:50 AM, Jiri Pirko wrote:
> Sun, Mar 04, 2018 at 07:24:12PM CET, alexander.duyck@gmail•com wrote:
>> On Sat, Mar 3, 2018 at 11:13 PM, Jiri Pirko <jiri@resnulli•us> wrote:
>>> Sun, Mar 04, 2018 at 01:26:53AM CET, alexander.duyck@gmail•com wrote:
>>>> On Sat, Mar 3, 2018 at 1:25 PM, Jiri Pirko <jiri@resnulli•us> wrote:
>>>>> Sat, Mar 03, 2018 at 07:04:57PM CET, alexander.duyck@gmail•com wrote:
>>>>>> On Sat, Mar 3, 2018 at 3:31 AM, Jiri Pirko <jiri@resnulli•us> wrote:
>>>>>>> Fri, Mar 02, 2018 at 08:42:47PM CET, mst@redhat•com wrote:
>>>>>>>> On Fri, Mar 02, 2018 at 05:20:17PM +0100, Jiri Pirko wrote:
>>>>>>>>>> Yeah, this code essentially calls out the "shareable" code with a
>>>>>>>>>> comment at the start and end of the section what defines the
>>>>>>>>>> virtio_bypass functionality. It would just be a matter of mostly
>>>>>>>>>> cutting and pasting to put it into a separate driver module.
>>>>>>>>> Please put it there and unite the use of it with netvsc.
>>>>>>>> Surely, adding this to other drivers (e.g. might this be handy for xen
>>>>>>>> too?) can be left for a separate patchset. Let's get one device merged
>>>>>>>> first.
>>>>>>> Why? Let's do the generic infra alongside with the driver. I see no good
>>>>>>> reason to rush into merging driver and only later, if ever, to convert
>>>>>>> it to generic solution. On contrary. That would lead into multiple
>>>>>>> approaches and different behavious in multiple drivers. That is plain
>>>>>>> wrong.
>>>>>> If nothing else it doesn't hurt to do this in one driver in a generic
>>>>>> way, and once it has been proven to address all the needs of that one
>>>>>> driver we can then start moving other drivers to it. The current
>>>>>> solution is quite generic, that was my contribution to this patch set
>>>>>> as I didn't like how invasive it was being to virtio and thought it
>>>>>> would be best to keep this as minimally invasive as possible.
>>>>>>
>>>>>> My preference would be to give this a release or two in virtio to
>>>>>> mature before we start pushing it onto other drivers. It shouldn't
>>>>>> take much to cut/paste this into a new driver file once we decide it
>>>>>> is time to start extending it out to other drivers.
>>>>> I'm not talking about cut/paste and in fact that is what I'm worried
>>>>> about. I'm talking about common code in net/core/ or somewhere that
>>>>> would take care of this in-driver bonding. Each driver, like virtio_net,
>>>>> netvsc would just register some ops to it and the core would do all
>>>>> logic. I believe it is essential take this approach from the start.
>>>> Sorry, I didn't mean cut/paste into another driver, I meant to make it
>>>> a driver of its own. My thought was to eventually create a shared/core
>>>> driver module that is then used by the other drivers.
>>>>
>>>> My concern right now is that Stephen has indicated he doesn't want
>>>> this approach taken with netvsc, and most of the community doesn't
>>> IIUC, he only does not like the extra netdev. Is there anything else?
>> Nope that is pretty much it. It doesn't seem like a big deal for
>> virtio, but for netvsc it is significant since they don't have any
>> "backup" bit feature differentiation, so they would likely be stuck
>> with 2 netdevs even in their basic setup.
> Okay. If that is a strict "no-go" for netvsc, this should be
> just a flag passed down to the in-driver bond code.

This results in a 3 driver model (virtio/netvsc, vf & bypass) with 2 netdevs
created when bypass is based on netvsc and 3 netdevs created when the bypass
is based on virtio_net.

Unless we agree on a common netdev model between netvsc and virtio_net,
i am not sure if it is useful to commonize the code into a separate driver.

-Sridhar

  reply	other threads:[~2018-03-04 21:54 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-01 20:08 [PATCH v4 0/2] Enable virtio_net to act as a backup for a passthru device Sridhar Samudrala
2018-03-01 20:08 ` [PATCH v4 1/2] virtio_net: Introduce VIRTIO_NET_F_BACKUP feature bit Sridhar Samudrala
2018-03-01 20:08 ` [PATCH v4 2/2] virtio_net: Extend virtio to use VF datapath when available Sridhar Samudrala
2018-03-02  8:36   ` Jiri Pirko
2018-03-02 15:26     ` Alexander Duyck
2018-03-02 16:20       ` Jiri Pirko
2018-03-02 16:37         ` Samudrala, Sridhar
2018-03-02 17:06           ` Alexander Duyck
2018-03-02 19:42         ` Michael S. Tsirkin
2018-03-02 20:49           ` Siwei Liu
2018-03-03 11:31           ` Jiri Pirko
2018-03-03 18:04             ` Alexander Duyck
2018-03-03 21:25               ` Jiri Pirko
2018-03-04  0:26                 ` Alexander Duyck
2018-03-04  7:13                   ` Jiri Pirko
2018-03-04 18:24                     ` Alexander Duyck
2018-03-04 18:50                       ` Jiri Pirko
2018-03-04 21:54                         ` Samudrala, Sridhar [this message]
2018-03-04 21:58                         ` Alexander Duyck
2018-03-05  9:21                           ` Jiri Pirko
2018-03-05 16:11                             ` Stephen Hemminger
2018-03-05 22:30                               ` Jiri Pirko
2018-03-05 22:47                                 ` Alexander Duyck
2018-03-06  3:15                                   ` Stephen Hemminger
2018-03-06 19:08                                     ` Alexander Duyck
2018-03-06 22:59                                       ` Jiri Pirko
2018-03-06 23:27                                         ` Alexander Duyck
2018-03-07  2:38                                           ` Michael S. Tsirkin
2018-03-07 17:50                                             ` Alexander Duyck
2018-03-07 18:06                                               ` Stephen Hemminger
2018-03-07 18:55                                                 ` Alexander Duyck
2018-03-07 20:11                                                 ` Michael S. Tsirkin
2018-03-12 18:47                                                   ` Samudrala, Sridhar
2018-03-02 19:41       ` Michael S. Tsirkin
2018-03-02 19:52         ` Samudrala, Sridhar
2018-03-02 20:10           ` Michael S. Tsirkin
2018-03-02 20:44             ` Siwei Liu
2018-03-02 20:56               ` Samudrala, Sridhar
2018-03-02 21:33                 ` Michael S. Tsirkin
2018-03-02 21:31               ` Michael S. Tsirkin
2018-03-02 22:26                 ` Siwei Liu
2018-03-04  4:00                   ` Michael S. Tsirkin
2018-03-02 21:11   ` Siwei Liu
2018-03-02 21:36     ` Michael S. Tsirkin
2018-03-02 23:56       ` Siwei Liu
2018-03-04  4:04         ` Michael S. Tsirkin
2018-03-12 21:53           ` Siwei Liu
2018-03-02 23:12     ` Samudrala, Sridhar
2018-03-03  0:09       ` Siwei Liu
2018-03-12 20:12   ` Jiri Pirko
2018-03-12 20:58     ` Samudrala, Sridhar
2018-03-12 21:08       ` Jiri Pirko
2018-03-14  0:36         ` Samudrala, Sridhar
2018-03-14  0:54           ` Stephen Hemminger
2018-03-14 15:45           ` Jiri Pirko
2018-03-12 22:44   ` Siwei Liu
2018-03-14  0:28     ` Samudrala, Sridhar
2018-03-14  0:44       ` Michael S. Tsirkin
2018-03-14  4:50       ` Siwei Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3089ef58-4756-e67e-4511-652aa095e25f@intel.com \
    --to=sridhar.samudrala@intel$(echo .)com \
    --cc=alexander.duyck@gmail$(echo .)com \
    --cc=alexander.h.duyck@intel$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=jesse.brandeburg@intel$(echo .)com \
    --cc=jiri@resnulli$(echo .)us \
    --cc=kubakici@wp$(echo .)pl \
    --cc=mst@redhat$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=stephen@networkplumber$(echo .)org \
    --cc=virtio-dev@lists$(echo .)oasis-open.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox