[libvirt] [PATCHv3 10/16] LXC: honour network devices link state

Daniel P. Berrange berrange at redhat.com
Wed Oct 22 10:15:57 UTC 2014


On Fri, Oct 10, 2014 at 02:04:02PM +0200, Cédric Bosdonnat wrote:
> Don't activate LXC network device if <link state='down'/> has been set
> in its configuration.
> ---
>  src/lxc/lxc_container.c | 28 +++++++++++++++-------------
>  1 file changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
> index bbab4af..4378b3d 100644
> --- a/src/lxc/lxc_container.c
> +++ b/src/lxc/lxc_container.c
> @@ -568,21 +568,23 @@ static int lxcContainerRenameAndEnableInterfaces(virDomainDefPtr vmDef,
>              }
>          }
>  
> -        VIR_DEBUG("Enabling %s", newname);
> -        rc = virNetDevSetOnline(newname, true);
> -        if (rc < 0)
> -            goto error_out;
> +        if (netDef->linkstate != VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN) {
> +            VIR_DEBUG("Enabling %s", newname);
> +            rc = virNetDevSetOnline(newname, true);
> +            if (rc < 0)
> +                goto error_out;
>  
> -        /* Set the gateways */
> -        if (netDef->gateway_ipv4 &&
> -            lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv4,
> -                                        AF_INET) < 0)
> -            goto error_out;
> +            /* Set the gateways */
> +            if (netDef->gateway_ipv4 &&
> +                lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv4,
> +                                            AF_INET) < 0)
> +                goto error_out;
>  
> -        if (netDef->gateway_ipv6 &&
> -            lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv6,
> -                                        AF_INET6) < 0)
> -            goto error_out;
> +            if (netDef->gateway_ipv6 &&
> +                lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv6,
> +                                            AF_INET6) < 0)
> +                goto error_out;
> +        }
>  
>          VIR_FREE(newname);
>      }

ACK makes sense, we can't configure addresses if the device is
down.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list