Statistics
| Branch: | Revision:

root / net / tap.c @ a74cdab4

History | View | Annotate | Download (13.5 kB)

# Date Author Comment
5430a28f 02/02/2011 12:50 am mst@redhat.com

vhost: force vhost off for non-MSI guests

When MSI is off, each interrupt needs to be bounced through the io
thread when it's set/cleared, so vhost-net causes more context switches and
higher CPU utilization than userspace virtio which handles networking in...

43849424 11/16/2010 04:40 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....

27a6375d 11/16/2010 04:40 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 <>...

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 <>

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 <>

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 <>

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

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...

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 <>...

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 <>

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 <>

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

net: convert tap to NetClientInfo

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

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 <>

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...

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...

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 <>

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 <>