[libvirt] [PATCH 14/28] util: move IP route & address object-related functions to virnetdevip.c

John Ferlan jferlan at redhat.com
Fri Jun 24 11:11:17 UTC 2016



On 06/22/2016 01:37 PM, Laine Stump wrote:
> These functions all need to be called from a utility function that
> must be located in the util directory, so we move them all into
> util/virnetdevip.[ch] now that it exists.
> 
> Function and struct names were appropriately changed for the new
> location, but all code is unchanged aside from motion and renaming.
> ---
>  src/conf/domain_conf.c            |  36 ++++++-------
>  src/conf/domain_conf.h            |  16 ++----
>  src/conf/network_conf.c           |  16 +++---
>  src/conf/network_conf.h           |   4 +-
>  src/conf/networkcommon_conf.c     | 107 ++++----------------------------------
>  src/conf/networkcommon_conf.h     |  55 +++++++-------------
>  src/libvirt_private.syms          |  16 +++---
>  src/lxc/lxc_container.c           |  12 ++---
>  src/lxc/lxc_native.c              |  12 ++---
>  src/network/bridge_driver.c       |  14 ++---
>  src/network/bridge_driver_linux.c |   6 +--
>  src/util/virnetdevip.c            |  69 ++++++++++++++++++++++++
>  src/util/virnetdevip.h            |  29 +++++++++++
>  13 files changed, 191 insertions(+), 201 deletions(-)
> 

The one naming thing that "could" have changed as well is to keep the
"Def" portion (virNetDevIPRouteDefFree, virNetDevIPRouteDefParseXML,
virNetDevIPRouteDefFormat, virNetDevIPRouteDefCreate).  Generally I'd
say it's a coin flip, but to be consistent since they're handling the
virNetworkRouteDefPtr, then I guess without "knowing" the API names I'd
start searching "NetworkRouteDef{Parse|Format}" in order to find the
code that dealt with it (the libvirt consistency argument).

Maybe they'll happen in a later patch, but why not move the Create,
Parse and Format routines as well? That'd remove networkcommon_conf it
seems.  Could really gone for overkill and generated
virnetdeviproute.{h,c} ~/~

> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 4802e03..f380271 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c

[...]
> @@ -6266,9 +6266,9 @@ virDomainHostdevDefParseXMLCaps(xmlNodePtr node ATTRIBUTE_UNUSED,
>          if (nroutenodes) {
>              size_t i;
>              for (i = 0; i < nroutenodes; i++) {
> -                virNetworkRouteDefPtr route = NULL;
> +                virNetDevIPRoutePtr route = NULL;
>  
> -                if (!(route = virNetworkRouteDefParseXML(_("Domain hostdev device"),
> +                if (!(route = virNetDevIPRouteParseXML(_("Domain hostdev device"),
>                                                           routenodes[i],
>                                                           ctxt)))

The arguments need vertical alignment on line 2 and 3 under the _...

[...]

> @@ -8955,9 +8955,9 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>      int ret, val;
>      size_t i;
>      size_t nips = 0;
> -    virDomainNetIPDefPtr *ips = NULL;
> +    virNetDevIPAddrPtr *ips = NULL;
>      size_t nroutes = 0;
> -    virNetworkRouteDefPtr *routes = NULL;
> +    virNetDevIPRoutePtr *routes = NULL;
>  
>      if (VIR_ALLOC(def) < 0)
>          return NULL;
> @@ -9074,7 +9074,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>                      ctxt->node = tmpnode;
>                  }
>              } else if (xmlStrEqual(cur->name, BAD_CAST "ip")) {
> -                virDomainNetIPDefPtr ip = NULL;
> +                virNetDevIPAddrPtr ip = NULL;
>  
>                  if (!(ip = virDomainNetIPParseXML(cur)))
>                      goto error;
> @@ -9082,13 +9082,13 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>                  if (VIR_APPEND_ELEMENT(ips, nips, ip) < 0)
>                      goto error;
>              } else if (xmlStrEqual(cur->name, BAD_CAST "route")) {
> -                virNetworkRouteDefPtr route = NULL;
> -                if (!(route = virNetworkRouteDefParseXML(_("Domain interface"),
> +                virNetDevIPRoutePtr route = NULL;
> +                if (!(route = virNetDevIPRouteParseXML(_("Domain interface"),
>                                                           cur, ctxt)))

Vertical alignment...


[...]


>  /* Used for prefix of ifname of any network name generated dynamically
> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
> index 5ae2bdf..fb2a48d 100644
> --- a/src/conf/network_conf.c
> +++ b/src/conf/network_conf.c

[...]

> @@ -2261,9 +2261,9 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
>              goto error;
>          /* parse each definition */
>          for (i = 0; i < nRoutes; i++) {
> -            virNetworkRouteDefPtr route = NULL;
> +            virNetDevIPRoutePtr route = NULL;
>  
> -            if (!(route = virNetworkRouteDefParseXML(def->name,
> +            if (!(route = virNetDevIPRouteParseXML(def->name,
>                                                       routeNodes[i],
>                                                       ctxt)))

Vertical alignment

[...]

> --- a/src/conf/networkcommon_conf.c
> +++ b/src/conf/networkcommon_conf.c
> @@ -32,34 +32,8 @@
>  

[...]

> -virNetworkRouteDefPtr
> -virNetworkRouteDefCreate(const char *errorDetail,
> +virNetDevIPRoutePtr
> +virNetDevIPRouteCreate(const char *errorDetail,
>                           char *family,
>                           const char *address,
>                           const char *netmask,
> @@ -69,7 +43,7 @@ virNetworkRouteDefCreate(const char *errorDetail,
>                           unsigned int metric,
>                           bool hasMetric)

Vertical alignment

>  {
> -    virNetworkRouteDefPtr def = NULL;
> +    virNetDevIPRoutePtr def = NULL;
>      virSocketAddr testAddr;
>  
>      if (VIR_ALLOC(def) < 0)
> @@ -242,21 +216,21 @@ virNetworkRouteDefCreate(const char *errorDetail,
>      return def;
>  
>   error:
> -    virNetworkRouteDefFree(def);
> +    virNetDevIPRouteFree(def);
>      return NULL;
>  }
>  
> -virNetworkRouteDefPtr
> -virNetworkRouteDefParseXML(const char *errorDetail,
> +virNetDevIPRoutePtr
> +virNetDevIPRouteParseXML(const char *errorDetail,
>                             xmlNodePtr node,
>                             xmlXPathContextPtr ctxt)

Vertical alignment

>  {
>      /*
> -     * virNetworkRouteDef object is already allocated as part
> +     * virNetDevIPRoute object is already allocated as part
>       * of an array.  On failure clear: it out, but don't free it.
>       */
>  
> -    virNetworkRouteDefPtr def = NULL;
> +    virNetDevIPRoutePtr def = NULL;
>      xmlNodePtr save;
>      char *family = NULL;
>      char *address = NULL, *netmask = NULL;
> @@ -302,7 +276,7 @@ virNetworkRouteDefParseXML(const char *errorDetail,
>          }
>      }
>  
> -    def = virNetworkRouteDefCreate(errorDetail, family, address, netmask,
> +    def = virNetDevIPRouteCreate(errorDetail, family, address, netmask,
>                                     gateway, prefix, hasPrefix, metric,
>                                     hasMetric);

Vertical alignment

>  
> @@ -316,8 +290,8 @@ virNetworkRouteDefParseXML(const char *errorDetail,
>  }
>  
>  int
> -virNetworkRouteDefFormat(virBufferPtr buf,
> -                         const virNetworkRouteDef *def)
> +virNetDevIPRouteFormat(virBufferPtr buf,
> +                         const virNetDevIPRoute *def)

Vertical alignment


[...]


> diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
> index 9ad1b08..8294d29 100644
> --- a/src/lxc/lxc_native.c
> +++ b/src/lxc/lxc_native.c
> @@ -419,7 +419,7 @@ typedef struct {
>      char *macvlanmode;
>      char *vlanid;
>      char *name;
> -    virDomainNetIPDefPtr *ips;
> +    virNetDevIPAddrPtr *ips;
>      size_t nips;
>      char *gateway_ipv4;
>      char *gateway_ipv6;
> @@ -430,10 +430,10 @@ typedef struct {
>  static int
>  lxcAddNetworkRouteDefinition(const char *address,
>                               int family,
> -                             virNetworkRouteDefPtr **routes,
> +                             virNetDevIPRoutePtr **routes,
>                               size_t *nroutes)
>  {
> -    virNetworkRouteDefPtr route = NULL;
> +    virNetDevIPRoutePtr route = NULL;
>      char *familyStr = NULL;
>      char *zero = NULL;
>  
> @@ -444,7 +444,7 @@ lxcAddNetworkRouteDefinition(const char *address,
>      if (VIR_STRDUP(familyStr, family == AF_INET ? "ipv4" : "ipv6") < 0)
>          goto error;
>  
> -    if (!(route = virNetworkRouteDefCreate(_("Domain interface"), familyStr,
> +    if (!(route = virNetDevIPRouteCreate(_("Domain interface"), familyStr,
>                                            zero, NULL, address, 0, false,
>                                            0, false)))

Vertical alignment

>          goto error;
> @@ -460,7 +460,7 @@ lxcAddNetworkRouteDefinition(const char *address,
>   error:

[...]


ACK - I think the Def should be added back in and the vertical alignment
things fixed.  A quick scan from yesterday and I found just one instance
in patch 2, src/conf/interface_conf.c for _virInterfaceDef and the
comment column off by 1 vertical char (no big deal).

John




More information about the libvir-list mailing list