[libvirt] [PATCH] Fix compilation on non-macvtap systems

Eric Blake eblake at redhat.com
Wed Jun 22 22:59:01 UTC 2011


On 06/22/2011 04:42 PM, Matthias Bolte wrote:
> The refactoring in 6a5978833a5 and df3d8c362d3 was incomplete
> as it accidentally moved macvtap related code out of a
> #if WITH_MACVTAP in a #if __linux__ block. To fix this move
> ifaceMacvtapLinkAdd and ifaceMacvtapLinkDump back under
> #if WITH_MACVTAP.
> 
> Also nlComm was moved from #if WITH_MACVTAP to #if __linux__
> but configure.ac was not updated to match this, as libnl is
> now required on Linux always because of this.
> 
> Also related to libnl, libvirt_lxc missed LIBNL_CFLAGS in it's
> CFLAGS.
> ---
>  configure.ac         |    6 +++---
>  src/Makefile.am      |    1 +
>  src/util/interface.c |    6 +++---
>  3 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index f816696..4c81e3b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2372,10 +2372,10 @@ dnl netlink library
>  LIBNL_CFLAGS=""
>  LIBNL_LIBS=""
>  
> -if test "$with_macvtap" = "yes"; then
> +if test "$with_linux" = "yes"; then

Do we want this to be:

if test "$with_macvtap" = "yes" || test "$with_linux" = "yes"; then

>      PKG_CHECK_MODULES([LIBNL], [libnl-1 >= $LIBNL_REQUIRED], [
>      ], [
> -        AC_MSG_ERROR([libnl-devel >= $LIBNL_REQUIRED is required for macvtap support])
> +        AC_MSG_ERROR([libnl-devel >= $LIBNL_REQUIRED is required])

RHEL 5 only has libnl-devel 1.0.  Is libnl 1.1 a hard-and-fast
requirement, or will things still work if we relax the required libnl
version to accommodate RHEL 5?

>      ])
>  fi
>  
> @@ -2574,7 +2574,7 @@ AC_MSG_NOTICE([    pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS])
>  else
>  AC_MSG_NOTICE([    pcap: no])
>  fi
> -if test "$with_macvtap" = "yes" ; then
> +if test "$with_linux" = "yes" ; then

Same question on the conditional.

> +++ b/src/util/interface.c
> @@ -494,7 +494,7 @@ ifaceSetMacaddr(const char *ifname ATTRIBUTE_UNUSED,
>  
>  
>  /**
> - * ifaceLinkAdd
> + * ifaceMacvtapLinkAdd
>   *
>   * @type: The type of device, i.e., "macvtap"
>   * @macaddress: The MAC address of the device
> @@ -510,7 +510,7 @@ ifaceSetMacaddr(const char *ifname ATTRIBUTE_UNUSED,
>   *
>   * Returns 0 on success, -1 on fatal error.
>   */
> -#if __linux__
> +#if WITH_MACVTAP
>  int
>  ifaceMacvtapLinkAdd(const char *type,
>                      const unsigned char *macaddress, int macaddrsize,
> @@ -758,7 +758,7 @@ ifaceLinkDel(const char *ifname ATTRIBUTE_UNUSED)
>  #endif
>  
>  
> -#if __linux__
> +#if WITH_MACVTAP

These hunks look okay, but I doubt they work in isolation without fixing
the other questions I raised.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110622/de1ff712/attachment-0001.sig>


More information about the libvir-list mailing list