qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] net: Adding netmap network backend


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v3] net: Adding netmap network backend
Date: Mon, 4 Nov 2013 10:20:12 -0800

On Mon, Nov 4, 2013 at 10:08 AM, Luigi Rizzo <address@hidden> wrote:
>
>
>
> On Mon, Nov 4, 2013 at 9:41 AM, Anthony Liguori <address@hidden>
> wrote:
>>
>> On Tue, Oct 29, 2013 at 3:12 AM, Vincenzo Maffione <address@hidden>
>> wrote:
>> > This patch adds support for a network backend based on netmap.
>> > netmap is a framework for high speed packet I/O. You can use it
>> > to build extremely fast traffic generators, monitors, software
>> > switches or network middleboxes. Its companion software switch
>> > VALE lets you interconnect virtual machines.
>> > netmap and VALE are implemented as a non intrusive kernel module,
>> > support NICs from multiple vendors, are part of standard FreeBSD
>> > distributions and available in source format for Linux too.
>>
>> I don't think it's a good idea to support this on Linux hosts.  This
>> is an out of tree module that most likely will never go upstream.
>>
>> I don't want to live through another kqemu with this if it eventually
>> starts to bit-rot.
>
>
> I believe this is very different from kqemu.
>
> For first, it is just a one-file backend (the patches
> to other files are just because there is not yet a way
> to automatically generate them; but i am sure qemu
> will get there). Getting rid of it, should the code
> bit-rot, is completely trivial.
>
> Second, there is nothing linux specific here. Unless configure
> determines that the (possibly out of tree, as in Linux,
> or in-tree, as in FreeBSD) netmap headers are
> installed, it just won't build the backend.

Without being in upstream Linux, we have no guarantee that the API/ABI
will be stable over time.  I suspect it's also very unlikely that any
many stream distro will include these patches meaning that the number
of users that will test this is very low.

I don't think just adding another backend because we can helps us out
in the long term.  Either this is the Right Approach to networking and
we should focus on getting proper kernel support or if that's not
worth it, then there's no reason to include this in QEMU either.

Regards,

Anthony Liguori

> I am not sure if you do not want to support netmap _in general_
> (despite it is already upstream in FreeBSD),
> or you'd like to put extra checks in ./configure to actually
> prevent its use on linux hosts.
>
> Both cases it seems to me a loss of a useful feature with no
> real return
>
>>
> configure         |  31 ++++
>>
>  hmp-commands.hx   |   4 +-
>>
>  net/Makefile.objs |   1 +
>>
>  net/clients.h     |   5 +
>>
>  net/net.c         |   6 +
>>
>  net/netmap.c      | 423
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>
>  qapi-schema.json  |  19 ++-
>>
>  qemu-options.hx   |   8 ++
>>
>  8 files changed, 494 insertions(+), 3 deletions(-)
>>
>  create mode 100644 net/netmap.c
>
> cheers
> luigi



reply via email to

[Prev in Thread] Current Thread [Next in Thread]