macvtap support for libvirt -- build support

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.
* configure.ac src/Makefile.am: new build support
* src/libvirt_macvtap.syms: list of exported symbols
* src/util/macvtap.c: empty module to not break compilation
This commit is contained in:
Stefan Berger 2010-02-12 18:03:07 +01:00 committed by Daniel Veillard
parent 4b75e4df27
commit fd5091db5f
4 changed files with 35 additions and 1 deletions

View File

@ -1827,6 +1827,30 @@ 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_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 ])
if test "$with_macvtap" = "yes" ; then
val=1
else
val=0
fi
AC_DEFINE_UNQUOTED([WITH_MACVTAP], $val, [whether macvtap support is enabled])
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 +1902,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([])

View File

@ -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

5
src/libvirt_macvtap.syms Normal file
View File

@ -0,0 +1,5 @@
#
# macvtap.h
openMacvtapTap;
delMacvtapByMACAddress;

0
src/util/macvtap.c Normal file
View File