Statistics
| Branch: | Revision:

root / net @ a5fd2c34

# Date Author Comment
a5fd2c34 11/13/2010 11:22 pm Michael S. Tsirkin

tap: make set_offload a nop after netdev cleanup

virtio-net expects set_offload to succeed after
peer cleanup.
Since we don't have an open fd anymore, make it so.
Fixes warning about the failure of offload setting.

Reported-by: Jason Wang <>...

54cdaa1b 11/04/2010 03:10 pm Michael S. Tsirkin

tap: clear vhost_net backend on cleanup

Frontends calling tap_get_vhost_net get an invalid pointer after the
peer backend has been deleted. Jason Wang <> reports
this leading to a crash in ack_features when we remove the vhost-net
bakend of a virtio nic....

49a2942d 10/13/2010 09:41 pm Blue Swirl

Delete write only variables

Compiling with GCC 4.6.0 20100925 produced warnings like:
/src/qemu/net/tap-win32.c: In function 'tap_win32_open':
/src/qemu/net/tap-win32.c:582:12: error: variable 'hThread' set but not used [-Werror=unused-but-set-variable]
...

3ee66dfa 10/03/2010 09:31 am Andreas Färber

tap: Add stub for Haiku

Adapted from AIX code.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

5251d6ad 09/29/2010 07:15 pm Andreas Färber

tap: Remove double include of util.h

If neither of FreeBSD, FreeBSD_kernel and DragonFly is defined,
util.h is included from tap-bsd.c.
Don't include it again if OpenBSD is defined.

Cc: Blue Swirl <>
Signed-off-by: Andreas Färber <>...

445d892f 09/07/2010 08:27 pm Michael S. Tsirkin

tap: add APIs for vnet header length

Add APIs to control host header length. First user
will be vhost-net.

Signed-off-by: Michael S. Tsirkin <>

ef4252b1 09/07/2010 08:27 pm Michael S. Tsirkin

tap: generalize code for different vnet header len

Make host vnet header length a structure field in
preparation for using this support in linux kernel.

Signed-off-by: Michael S. Tsirkin <>

3690cec8 07/31/2010 10:40 pm Blue Swirl

Fix a warning on OpenSolaris

Add a missing #include statement to avoid a warning:
/src/qemu/net/tap-solaris.c: In function 'tap_open':
/src/qemu/net/tap-solaris.c:189: warning: implicit declaration of function 'error_report'

Signed-off-by: Blue Swirl <>

91ca60e0 06/22/2010 11:15 pm Michael Tokarev

give some useful error messages when tap open

In net/tap-linux.c, when manipulation of /dev/net/tun fails, it prints
(with fprintf) something like this:

warning: could not open /dev/net/tun: no virtual network emulation

this has 2 issues:
1) it is not a warning really, it's a fatal error (kvm exits after...

9678d950 04/25/2010 09:35 pm Blue Swirl

Remove dead assignments in various common files, spotted by clang analyzer

Value stored is never read.

Signed-off-by: Blue Swirl <>

25da2f34 04/02/2010 06:40 pm Anthony Liguori

Fix build on mingw32

Signed-off-by: Anthony Liguori <>

95d528a2 04/01/2010 09:56 pm Michael S. Tsirkin

tap: add interface to get device fd

Will be used by vhost to attach/detach to backend.

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>

82b0d80e 04/01/2010 09:56 pm Michael S. Tsirkin

tap: add vhost/vhostfd options

This adds vhost binary option to tap, to enable vhost net accelerator.
Default is off for now, we'll be able to make default on long term
when we know it's stable.

vhostfd option can be used by management, to pass in the fd. Assigning...

b202554c 04/01/2010 09:56 pm Michael S. Tsirkin

tap: add API to retrieve vhost net header

will be used by virtio-net for vhost net support

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>

73d96e29 03/27/2010 08:41 pm Blue Swirl

Fix BSD and win32 builds

CC    net/tap-bsd.o
/src/qemu/net/tap-bsd.c: In function `tap_open':
/src/qemu/net/tap-bsd.c:93: warning: implicit declaration of function `error_report'
CC    sparc-softmmu/../net/tap-win32.o
cc1: warnings being treated as errors...
31dc63df 03/21/2010 09:13 pm Anthony Liguori

Revert "tap: invoke downscript when we exit abnormally"

This reverts commit 8af8ce4d6116e3d46ad298ca8fe50d3b515b1aac.

8af8ce4d 03/19/2010 10:27 pm Anthony Liguori

tap: invoke downscript when we exit abnormally

Right now, downscript is not invoked reliably. If you execute 'quit' from the
monitor, it won't be invoked.

This fixes that by converting tap to use an exit_notifier to execute the
downscript. In this case, allowing an exit notifier to include state is...

1ecda02b 03/16/2010 05:58 pm Markus Armbruster

error: Replace qemu_error() by error_report()

error_report() terminates the message with a newline. Strip it it
from its arguments.

This fixes a few error messages lacking a newline:
net_handle_fd_param()'s "No file descriptor named %s found", and
tap_open()'s "vnet_hdr=1 requested, but no kernel support for...

2f792016 03/16/2010 05:55 pm Markus Armbruster

error: Move qemu_error & friends into their own header

24ac07de 03/09/2010 07:23 pm Juan Quintela

slirp: check system() success

we shouldn't call W*() macros until we check that fork worked.

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

62112d18 02/19/2010 08:12 pm Markus Armbruster

net: Fix bogus "Warning: vlan 0 with no nics" with -device

net_check_clients() prints this when an VLAN has host devices, but no
guest devices. It uses VLANState members nb_guest_devs and
nb_host_devs to keep track of these devices. However, -device does...

28b150bf 01/27/2010 07:47 pm Blue Swirl

Fix BSD build

<sys/wait.h> must be included in order to use WIF* macros.

Signed-off-by: Blue Swirl <>

5a01e99f 01/26/2010 10:59 pm Kirill A. Shutemov

net/slirp.c: fix warning with _FORTIFY_SOURCE

CC net/slirp.o
cc1: warnings being treated as errors
net/slirp.c: In function 'slirp_smb_cleanup':
net/slirp.c:470: error: ignoring return value of 'system', declared with attribute warn_unused_result
make: *** [net/slirp.o] Error 1...

ceb69615 01/08/2010 05:58 pm Michael S. Tsirkin

net: add API to disable/enable polling

When vhost is bound to a backend device, we need to stop polling it when
vhost is started, and restart polling when vhost is stopped.
Add an API for that for use by vhost, and implement in tap backend.

Signed-off-by: Michael S. Tsirkin <>...

ee7139c3 12/13/2009 04:28 pm Andreas Färber

tap: Compilation fix for Solaris

Avoid an unresolved symbol error for TFR,
which is defined in sysemu.h.

Based on patch by Palle Lyckegaard.

Signed-off-by: Andreas Färber <>
Cc: Palle Lyckegaard <>
Cc: Ben Taylor <>...

08fd0fa9 12/04/2009 08:06 pm Blue Swirl

win32: fix variable use before initialization

Signed-off-by: Blue Swirl <>

40ff6d7e 12/03/2009 07:45 pm Kevin Wolf

Don't leak file descriptors

We're leaking file descriptors to child processes. Set FD_CLOEXEC on file
descriptors that don't need to be passed to children to stop this misbehaviour.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

6720b35b 12/03/2009 05:41 pm Pierre Riteau

net: fix TAP networking on host kernels without IFF_VNET_HDR support

vnet_hdr is initialized at 1 by default. We need to reset it to 0 if
the kernel doesn't support IFF_VNET_HDR.

Signed-off-by: Pierre Riteau <>
Signed-off-by: Mark McLoughlin <>...

2e50326c 12/03/2009 05:41 pm Pierre Riteau

net: check for TUNSETOFFLOAD support before trying to enable offload features

This avoids the "TUNSETOFFLOAD ioctl() failed: Invalid argument" message
on kernels without TUNSETOFFLOAD support.

Signed-off-by: Pierre Riteau <>
Signed-off-by: Mark McLoughlin <>...

df6c2a0f 12/03/2009 05:41 pm Mark McLoughlin

net: initialize vnet_hdr in net_init_tap()

net_tap_init() always sets vnet_hdr using qemu_opt_get_bool(), but
initialize it in net_init_tap() just to reduce confusion.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

f5c5e381 12/03/2009 05:41 pm Mark McLoughlin

net: fix vnet_hdr handling in solaris tap code

Print an error if the user specifies vnet_hdr=1 on the cmdline.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

f1d078c3 12/03/2009 05:41 pm Mark McLoughlin

net: move parse_macaddr() to net/util.[ch]

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

665a3b07 12/03/2009 05:41 pm Mark McLoughlin

net: remove VLANClientState members now in NetClientInfo

Add a NetClientInfo pointer to VLANClientState and use that
for the typecode and function pointers.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

ce20b5be 12/03/2009 05:41 pm Mark McLoughlin

net: convert slirp to NetClientInfo

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

b4e859c6 12/03/2009 05:41 pm Mark McLoughlin

net: convert vde to NetClientInfo

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

564f63e3 12/03/2009 05:41 pm Mark McLoughlin

net: convert socket to NetClientInfo

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

731d5856 12/03/2009 05:41 pm Mark McLoughlin

net: convert dump to NetClientInfo

aliguori: fix uninitialized use of pcap_len

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

3e35ba93 12/03/2009 05:41 pm Mark McLoughlin

net: convert tap to NetClientInfo

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

dca91811 12/03/2009 05:41 pm Mark McLoughlin

net: convert tap-win32 to NetClientInfo

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

5c361cc3 12/03/2009 05:41 pm Mark McLoughlin

net: move vde code from net.c to net/vde.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

42281ac9 12/03/2009 05:41 pm Mark McLoughlin

net: move socket backend code from net.c to net/socket.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

1abecf77 12/03/2009 05:41 pm Mark McLoughlin

net: move dump backend code from net.c to net/dump.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

68ac40d2 12/03/2009 05:41 pm Mark McLoughlin

net: move slirp code from net.c to net/slirp.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

a167ba50 11/29/2009 07:00 pm Aurelien Jarno

Add support for GNU/kFreeBSD

Signed-off-by: Aurelien Jarno <>

929fe497 11/21/2009 11:32 am Juergen Lock

Avoid segfault on net_tap_init() failure

Check for fd == -1 there.

Signed-off-by: Juergen Lock <>
Signed-off-by: Blue Swirl <>

2f859a3c 11/21/2009 11:32 am Juergen Lock

tap-bsd: handle ifname on FreeBSD hosts

Handle ifname on FreeBSD hosts; if no ifname is given, always start
the search from tap0. (Simplified/cleaned up version of what has been
in the FreeBSD ports for a long time.)

Signed-off-by: Juergen Lock <>...

39ca4c08 11/21/2009 11:32 am Juergen Lock

Fix tap breakage on BSD hosts (no IFF_VNET_HDR)

net/tap-bsd.c was assuming IFF_VNET_HDR was always available, which
I think isn't true on any BSD.

Signed-off-by: Juergen Lock <>
Signed-off-by: Blue Swirl <>

be1636b3 11/09/2009 04:43 pm Mark McLoughlin

tap: disable draining queue in one go

If qemu_send_packet_async() returns zero, it means the packet has been
queued and the sent callback will be invoked once it has been flushed.

This is only possible where the NIC's receive() handler returns zero
and promises to notify the networking core that room is available in its...

839f368f 11/09/2009 04:43 pm Mark McLoughlin

net/queue: queue packets even if sender doesn't supply a callback

Now that we disable any receiver whose queue is full, we do not require
senders to handle a zero return by supplying a sent callback.

This is a second step towards allowing can_receive() handlers to return...

5819c918 11/09/2009 04:43 pm Mark McLoughlin

tap: drain queue in tap_send()

Okay, let's try re-enabling the drain-entire-queue behaviour, with a
difference - before each subsequent packet, use qemu_can_send_packet()
to check that we can send it. This is similar to how we check before
polling the tap fd and avoids having to drop a packet if the receiver...

ed7193ec 10/30/2009 11:45 pm Anthony Liguori

Unbreak Linux build

commit 71f4effce79ec0485586963ea764f2c212c72f26
Author: Alexander Graf &lt;&gt;
Date: Fri Oct 30 22:27:00 2009 +0100
Unbreak tap compilation on OS X

Broke the build on Linux due to a bad #if guard

Signed-off-by: Anthony Liguori <>

71f4effc 10/30/2009 11:38 pm Alexander Graf

Unbreak tap compilation on OS X

Currently compiling the tap sources breaks on Mac OS X. This is because of:

1) tap-linux.h requiring Linux includes
2) typos
3) missing #includes

This patch adds what's necessary to compile tap happily on Mac OS X....

9c282718 10/30/2009 03:39 pm Mark McLoughlin

net: move UFO support detection to tap-linux.c

Only supported on Linux

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

88b3ec02 10/30/2009 03:39 pm Mark McLoughlin

net: move AIX code into net/tap-aix.c

Okay, this makes the tap options available on AIX even though there's
no support, but if we want to do it right we should have not compile
the tap code at all on AIX using e.g. CONFIG_TAP.

Signed-off-by: Mark McLoughlin <>...

c28b1c10 10/30/2009 03:39 pm Mark McLoughlin

net: move linux code into net/tap-linux.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

15ac913b 10/30/2009 03:39 pm Mark McLoughlin

net: move tap_set_sndbuf() to tap-linux.c

TUNSETSNDBUF is only available on linux

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

dc69004c 10/30/2009 03:39 pm Mark McLoughlin

net: move tap_probe_vnet_hdr() to tap-linux.c

Only Linux has support for IFF_VNET_HDR

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

1faac1f7 10/30/2009 03:39 pm Mark McLoughlin

net: move tap_set_offload() code into tap-linux.c

TUNSETOFFLOAD is only available on Linux

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

33ad161a 10/30/2009 03:39 pm Mark McLoughlin

net: move tap-win32.c under net/

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

a8ed73f7 10/30/2009 03:39 pm Mark McLoughlin

net: move more stuff into net/tap-win32.c, add net/tap.h

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

f54c7bdc 10/30/2009 03:39 pm Mark McLoughlin

net: move tap-linux.h under net/

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

5281d757 10/30/2009 03:39 pm Mark McLoughlin

net: split all the tap code out into net/tap.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

e7e92325 10/30/2009 03:39 pm Mark McLoughlin

net: split BSD tap_open() out into net/tap-bsd.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

966ea5ec 10/30/2009 03:39 pm Mark McLoughlin

net: move solaris code to net/tap-solaris.c

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

e1144d00 10/30/2009 03:39 pm Mark McLoughlin

net: move net-queue.[ch] under net/

[v2: handle building in a separate dir]

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

7200ac3c 10/30/2009 03:39 pm Mark McLoughlin

net: move net-checksum.c under net/

Also add a new net/checksum.h header

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>