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: Luigi Rizzo
Subject: Re: [Qemu-devel] [PATCH v3] net: Adding netmap network backend
Date: Mon, 4 Nov 2013 10:08:19 -0800




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.

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]