qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/19 v2] Add virtio-net/tap support for partial


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 00/19 v2] Add virtio-net/tap support for partial csums and GSO
Date: Fri, 30 Oct 2009 22:10:37 +0100


On 30.10.2009, at 17:59, Mark McLoughlin wrote:

Hi,

On Fri, 2009-10-30 at 11:04 +0100, address@hidden wrote:
On Oct 22, 2009, at 19:43, ext Mark McLoughlin wrote:

Hey,
      Over a year ago we added some code to qemu-kvm.git which takes
advantage of the recent tun/tap IFF_VNET_HDR feature in order to allow
virtio-net to send and receive packets with partial checksums and
segmentation offloaded:

http://article.gmane.org/gmane.comp.emulators.kvm.devel/20440

"This allows us to pass larger packets and packets with
partial checkums between the guest and the host, greatly
increasing the achievable bandwidth."

      Unfortunately, that implementation was quite hacky as it
made some assumptions that would break if e.g. you added another
network client to a vlan where the feature had enabled.

      Now that we have the -netdev parameter, we can more safely
pair the NIC and backend, allowing us to negatiate features like
this.

      What follows is a somewhat cleaned up version of the code
from qemu-kvm.git. Further cleanups are probably possible, but I
think this much is mergeable. Some points of discussion:

I think this patch set has broken the QEMU build on OS X. The reason
is that there are some definitions in tap-linux.h which only gets
included in net.c if __linux__ is defined but the other parts of net.c
which utilize definitions from tap-linux.h get compiled in
nevertheless. It compiles if all definitions (except for the extra
includes) from tap-linux.h are included for OS X as well. I've
attached below a sample of the compiler output.

It doesn't look like this is still a problem anymore with latest git?
Could you try again?

There are probably other problems now :-)

Things are still horribly broken on OS X. I just did a git pull and realized you were the one responsible :-).

In file included from net/tap.c:34:
/usr/include/net/if.h:264: error: field ‘ifru_addr’ has incomplete type
/usr/include/net/if.h:265: error: field ‘ifru_dstaddr’ has incomplete type /usr/include/net/if.h:266: error: field ‘ifru_broadaddr’ has incomplete type
/usr/include/net/if.h:305: error: field ‘ifra_addr’ has incomplete type
/usr/include/net/if.h:306: error: field ‘ifra_broadaddr’ has incomplete type
/usr/include/net/if.h:307: error: field ‘ifra_mask’ has incomplete type
/usr/include/net/if.h:379: error: field ‘addr’ has incomplete type
/usr/include/net/if.h:380: error: field ‘dstaddr’ has incomplete type
In file included from net/tap.c:41:
./net/tap-linux.h:20:25: warning: linux/ioctl.h: No such file or directory
make[1]: *** [net/tap.o] Error 1
make: *** [build-all] Error 2


I'm looking into making OS X work again now ...

Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]