net: add '-net tap,sndbuf=nbytes'
commit0df0ff6de70393680cea81ad696d9d74b75f88da
authorMark McLoughlin <markmc@redhat.com>
Thu, 18 Jun 2009 17:21:34 +0000 (18 18:21 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 22 Jun 2009 15:15:30 +0000 (22 10:15 -0500)
tree4e6c037340aa0c7d3430dae6bc169a4c49c589b1
parent4a77b25e2af0ccfa637c963f64a01468edcf94ac
net: add '-net tap,sndbuf=nbytes'

2.6.30 adds a new TUNSETSNDBUF ioctl() which allows a send buffer limit
for the tap device to be specified. When this limit is reached, a tap
write() will return EAGAIN and poll() will indicate the fd isn't
writable.

This allows people to tune their setups so as to avoid e.g. UDP packet
loss when the sending application in the guest out-runs the NIC in the
host.

There is no obviously sensible default setting - a suitable value
depends mostly on the capabilities of the physical NIC through which the
packets are being sent.

Also, note that when using a bridge with netfilter enabled, we currently
never get EAGAIN because netfilter causes the packet to be immediately
orphaned. Set /proc/sys/net/bridge/bridge nf-call-iptables to zero to
disable this behaviour.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
net.c
qemu-options.hx