[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tap: reset vnet header size on open
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] tap: reset vnet header size on open |
Date: |
Mon, 12 Nov 2012 13:23:39 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Nov 12, 2012 at 09:19:18AM +0200, Michael S. Tsirkin wrote:
> For tap, we currently assume the vnet header size is 10
> (the default value) but that might not be the case
> if tap is persistent and has been used by qemu previously.
> To fix, set vnet header size correctly on open.
>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
>
> This fixes the issue reported by Alexander Graf on the kvm forum.
> Alexander, could you confirm please?
> Thanks,
>
> net/tap-linux.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/net/tap-linux.c b/net/tap-linux.c
> index c6521be..3eaedc4 100644
> --- a/net/tap-linux.c
> +++ b/net/tap-linux.c
> @@ -39,6 +39,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
> int vnet_hdr_required
> {
> struct ifreq ifr;
> int fd, ret;
> + int len = sizeof(struct virtio_net_hdr);
We probably want the same behavior in the tap,fd= codepath. How about a
call to tap_set_vnet_hdr_len() in net_init_tap() instead?
Stefan