[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] net: increase buffer size to accommodate Jumbo
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] net: increase buffer size to accommodate Jumbo frame pkts over netdev UDP socket |
Date: |
Mon, 18 Mar 2013 17:08:39 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Mar 15, 2013 at 05:12:38PM -0700, address@hidden wrote:
> From: Scott Feldman <address@hidden>
>
> Socket buffer sizes were hard-coded to 4K. Bump this up to 12K to handle
> typical
> MTU=9000 Jumbo frame pkt. Ran into this limitation when using -netdev UDP
> sockets
> to connect VM-to-VM, where VM interface is configure with MTU=9000. Using
> virtio_net NIC model. Test is simple: ping -M do -s 8500 <target>. This test
> will attempt to ping with unfragmented packet of given size. Without patch,
> size is limited to < 4K (minus protocol hdrs). With patch, ping test works
> with pkt size up to 9000 (again, minus protocol hdrs).
>
> Signed-off-by: Scott Feldman <address@hidden>
> ---
> net/net.c | 2 +-
> net/socket.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
grep reveals that VDE is limited in a similar way. tap-win32 may be
affected too.
I noticed that Linux tap goes straight for:
net/tap.c:#define TAP_BUFSIZE (4096 + 65536)
The 4096 is reserved for network/virtio headers.
Please move TAP_BUFSIZE to include/net/net.h and rename it to
NET_BUFSIZE. Then socket, vde, and tap-win32 can use it.
Stefan