On Mon, Nov 4, 2013 at 9:41 AM, Anthony Liguori <anth...@codemonkey.ws>wrote:
> On Tue, Oct 29, 2013 at 3:12 AM, Vincenzo Maffione <v.maffi...@gmail.com> > 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