[libvirt] [PATCH v4 1/3] Make virNetDevSetupControl() public.

Michal Privoznik mprivozn at redhat.com
Fri Jun 14 14:50:59 UTC 2013


On 13.06.2013 08:26, Roman Bogorodskiy wrote:
> This method is useful not only in virnetdev.c.
> ---
>  src/libvirt_private.syms |  1 +
>  src/util/virnetdev.c     | 15 +++++++++++++--
>  src/util/virnetdev.h     | 14 +++++++++++++-
>  3 files changed, 27 insertions(+), 3 deletions(-)
> 
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 042081f..f26b8aa 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -1530,6 +1530,7 @@ virNetDevSetMTUFromDevice;
>  virNetDevSetName;
>  virNetDevSetNamespace;
>  virNetDevSetOnline;
> +virNetDevSetupControl;
>  virNetDevValidateConfig;
>  
>  
> diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
> index 1a22126..f6b7e12 100644
> --- a/src/util/virnetdev.c
> +++ b/src/util/virnetdev.c
> @@ -88,11 +88,22 @@ static int virNetDevSetupControlFull(const char *ifname,
>  }
>  
>  
> -static int virNetDevSetupControl(const char *ifname,
> -                                 struct ifreq *ifr)
> +int
> +virNetDevSetupControl(const char *ifname,
> +                      struct ifreq *ifr)
>  {
>      return virNetDevSetupControlFull(ifname, ifr, VIR_NETDEV_FAMILY, SOCK_DGRAM);
>  }
> +#else
> +int
> +virNetDevSetupControl(const char *ifname ATTRIBUTE_UNUSED,
> +                      void *ifr ATTRIBUTE_UNUSED)
> +{
> +    virReportSystemError(ENOSYS,

s/$/ "%s"/

> +                         _("Network device configuration is not supported "
> +                           "on this platform"));
> +    return -1;
> +}
>  #endif
>  
>  
> diff --git a/src/util/virnetdev.h b/src/util/virnetdev.h
> index bc0777c..86c1f18 100644
> --- a/src/util/virnetdev.h
> +++ b/src/util/virnetdev.h
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (C) 2007-2012 Red Hat, Inc.
> + * Copyright (C) 2007-2013 Red Hat, Inc.
>   *
>   * This library is free software; you can redistribute it and/or
>   * modify it under the terms of the GNU Lesser General Public
> @@ -23,11 +23,23 @@
>  #ifndef __VIR_NETDEV_H__
>  # define __VIR_NETDEV_H__
>  
> +# include <net/if.h>
> +

Since virnetdev.c already includes <linux/if.h> this chunk makes the
compilation fail. It's, however, sufficient, to apply 3/3 prior to this
patch.


>  # include "virsocketaddr.h"
>  # include "virnetlink.h"
>  # include "virmacaddr.h"
>  # include "virpci.h"
>  
> +# ifdef HAVE_STRUCT_IFREQ
> +typedef struct ifreq virIfreq;
> +# else
> +typedef struct {} virIfreq;

s/struct {}/void/

> +# endif
> +
> +int virNetDevSetupControl(const char *ifname,
> +                          virIfreq *ifr)
> +    ATTRIBUTE_RETURN_CHECK ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
> +
>  int virNetDevExists(const char *brname)
>      ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
>  
> 

Michal




More information about the libvir-list mailing list