From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N0ZOC-0006lo-VS for qemu-devel@nongnu.org; Wed, 21 Oct 2009 07:30:01 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N0ZO3-0006er-Pu for qemu-devel@nongnu.org; Wed, 21 Oct 2009 07:29:57 -0400 Received: from [199.232.76.173] (port=57327 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N0ZO1-0006e0-Qz for qemu-devel@nongnu.org; Wed, 21 Oct 2009 07:29:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:8834) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N0ZO1-0002x4-Cx for qemu-devel@nongnu.org; Wed, 21 Oct 2009 07:29:49 -0400 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n9LBTmIC015708 for ; Wed, 21 Oct 2009 07:29:48 -0400 From: Mark McLoughlin Date: Wed, 21 Oct 2009 12:27:41 +0100 Message-Id: <1256124478-2988-3-git-send-email-markmc@redhat.com> In-Reply-To: <1256124478-2988-1-git-send-email-markmc@redhat.com> References: <1256124478-2988-1-git-send-email-markmc@redhat.com> Subject: [Qemu-devel] [PATCH 02/19] net: import linux tap ioctl definitions List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Mark McLoughlin Making features dependent on the availability of newer versions if_tun.h is going to get seriously clumsy, so let's just import the definitions we need. It's only a small handful. If and when we're comfortable depending on 2.6.30 headers, we can remove this again. Signed-off-by: Mark McLoughlin --- net.c | 11 +---------- qemu-options.hx | 8 +------- tap-linux.h | 29 +++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 17 deletions(-) create mode 100644 tap-linux.h diff --git a/net.c b/net.c index 4708080..0e3388b 100644 --- a/net.c +++ b/net.c @@ -46,7 +46,7 @@ #include #endif #ifdef __linux__ -#include +#include "tap-linux.h" #endif #include #include @@ -1370,7 +1370,6 @@ static void tap_send(void *opaque) } while (size > 0); } -#ifdef TUNSETSNDBUF /* sndbuf should be set to a value lower than the tx queue * capacity of any destination network interface. * Ethernet NICs generally have txqueuelen=1000, so 1Mb is @@ -1393,12 +1392,6 @@ static int tap_set_sndbuf(TAPState *s, QemuOpts *opts) } return 0; } -#else -static int tap_set_sndbuf(TAPState *s, QemuOpts *opts) -{ - return 0; -} -#endif /* TUNSETSNDBUF */ static void tap_cleanup(VLANClientState *vc) { @@ -2972,12 +2965,10 @@ static struct { .name = "downscript", .type = QEMU_OPT_STRING, .help = "script to shut down the interface", -#ifdef TUNSETSNDBUF }, { .name = "sndbuf", .type = QEMU_OPT_SIZE, .help = "send buffer limit" -#endif }, { /* end of list */ } }, diff --git a/qemu-options.hx b/qemu-options.hx index 20aa242..c745e0c 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -810,21 +810,15 @@ DEF("net", HAS_ARG, QEMU_OPTION_net, "-net tap[,vlan=n][,name=str],ifname=name\n" " connect the host TAP network interface to VLAN 'n'\n" #else - "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile]" -#ifdef TUNSETSNDBUF - "[,sndbuf=nbytes]" -#endif - "\n" + "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,sndbuf=nbytes]\n" " connect the host TAP network interface to VLAN 'n' and use the\n" " network scripts 'file' (default=%s)\n" " and 'dfile' (default=%s);\n" " use '[down]script=no' to disable script execution;\n" " use 'fd=h' to connect to an already opened TAP interface\n" -#ifdef TUNSETSNDBUF " use 'sndbuf=nbytes' to limit the size of the send buffer; the\n" " default of 'sndbuf=1048576' can be disabled using 'sndbuf=0'\n" #endif -#endif "-net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]\n" " connect the vlan 'n' to another VLAN using a socket connection\n" "-net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port]\n" diff --git a/tap-linux.h b/tap-linux.h new file mode 100644 index 0000000..cd07ea8 --- /dev/null +++ b/tap-linux.h @@ -0,0 +1,29 @@ +/* + * Universal TUN/TAP device driver. + * Copyright (C) 1999-2000 Maxim Krasnyansky + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef QEMU_TAP_H +#define QEMU_TAP_H + +#include + +/* Ioctl defines */ +#define TUNSETIFF _IOW('T', 202, int) +#define TUNSETSNDBUF _IOW('T', 212, int) + +/* TUNSETIFF ifr flags */ +#define IFF_TAP 0x0002 +#define IFF_NO_PI 0x1000 + +#endif /* QEMU_TAP_H */ -- 1.6.2.5