On Mon, Feb 08, 2010 at 02:35:51PM -0500, Stefan Berger wrote: > This patch adds build support for libvirt checking for certain contents > of /usr/include/linux/if_link.h to see whether macvtap support is > compilable on that system. One can disable macvtap support in libvirt > via --without-macvtap passed to configure. > > Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> > > > Index: libvirt-macvtap/src/Makefile.am > =================================================================== > --- libvirt-macvtap.orig/src/Makefile.am > +++ libvirt-macvtap/src/Makefile.am > @@ -55,6 +55,7 @@ UTIL_SOURCES = \ > util/ebtables.c util/ebtables.h \ > util/json.c util/json.h \ > util/logging.c util/logging.h \ > + util/macvtap.c util/macvtap.h \ > util/memory.c util/memory.h \ > util/pci.c util/pci.h \ > util/processinfo.c util/processinfo.h \ > @@ -784,12 +785,15 @@ if WITH_LINUX > USED_SYM_FILES += libvirt_linux.syms > endif > > +USED_SYM_FILES += libvirt_macvtap.syms > + > EXTRA_DIST += \ > libvirt_public.syms \ > libvirt_private.syms \ > libvirt_driver_modules.syms \ > libvirt_bridge.syms \ > - libvirt_linux.syms > + libvirt_linux.syms \ > + libvirt_macvtap.syms > > BUILT_SOURCES = libvirt.syms > > Index: libvirt-macvtap/src/libvirt_macvtap.syms > =================================================================== > --- /dev/null > +++ libvirt-macvtap/src/libvirt_macvtap.syms > @@ -0,0 +1,5 @@ > +# > + > +# macvtap.h > +openMacvtapTap; > +delMacvtapByMACAddress; > Index: libvirt-macvtap/configure.ac > =================================================================== > --- libvirt-macvtap.orig/configure.ac > +++ libvirt-macvtap/configure.ac > @@ -1827,6 +1827,25 @@ AC_ARG_WITH([qemu-group], > AC_DEFINE_UNQUOTED([QEMU_USER], ["$QEMU_USER"], [QEMU user account]) > AC_DEFINE_UNQUOTED([QEMU_GROUP], ["$QEMU_GROUP"], [QEMU group account]) > > + > +AC_ARG_WITH([macvtap], > + AC_HELP_STRING([--with-macvtap],[enable macvtap device @<:@default=check@:>@]), > + [with_macvtap=${withval}], > + [with_macvtap=check]) > + > +if test "$with_macvtap" != "no" ; then > + AC_DEFINE_UNQUOTED([WITH_MACVTAP], 1, [whether macvtap support is enabled]) > + AC_TRY_COMPILE([ #include <linux/if_link.h> ], > + [ int x = MACVLAN_MODE_BRIDGE; ], > + [ with_macvtap=yes ], > + [ if test "$with_macvtap" = "yes" ; then > + AC_MSG_ERROR([Installed linux headers don't show support for macvtap device.]) > + fi > + with_macvtap=no ]) > +fi > +AM_CONDITIONAL([WITH_MACVTAP], [test "$with_macvtap" = "yes"]) > + > + > # Only COPYING.LIB is under version control, yet COPYING > # is included as part of the distribution tarball. > # Copy one to the other, but only if this is a srcdir-build. > @@ -1878,6 +1897,7 @@ AC_MSG_NOTICE([ Remote: $with_remote]) > AC_MSG_NOTICE([ Network: $with_network]) > AC_MSG_NOTICE([Libvirtd: $with_libvirtd]) > AC_MSG_NOTICE([ netcf: $with_netcf]) > +AC_MSG_NOTICE([ macvtap: $with_macvtap]) > AC_MSG_NOTICE([]) > AC_MSG_NOTICE([Storage Drivers]) > AC_MSG_NOTICE([]) ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list