[libvirt] [PATCHv3 09/16] LXC: use the new net devices gateway definition

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


On Fri, Oct 10, 2014 at 02:04:01PM +0200, Cédric Bosdonnat wrote:
> When a gateway is set on a network device, a new default route via this
> gateway through the devoce will be added in the container.
> ---
>  src/lxc/lxc_container.c | 40 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
> index 608d39f..bbab4af 100644
> --- a/src/lxc/lxc_container.c
> +++ b/src/lxc/lxc_container.c
> @@ -480,6 +480,35 @@ lxcContainerGetNetDef(virDomainDefPtr vmDef, const char *devName)
>      return NULL;
>  }
>  
> +static int
> +lxcContainerAddDefaultRoute(const char *ifname,
> +                            const char *gateway,
> +                            int family)
> +{
> +    virSocketAddr address;
> +    virSocketAddr network;
> +
> +    VIR_DEBUG("Adding default route via %s on dev %s", gateway, ifname);
> +    if (virSocketAddrParse(&address, gateway, family) < 0)
> +        return -1;
> +
> +    if (family == AF_INET) {
> +        if (virSocketAddrParseIPv4(&network, "0.0.0.0") < 0)
> +            return -1;
> +    } else {
> +        if (virSocketAddrParseIPv6(&network, "::") < 0)
> +            return -1;
> +    }

I wouldn't mind us defining constants for the two strings

  VIR_SOCKET_ADDR_IPV4_ALL "0.0.0.0"
  VIR_SOCKET_ADDR_IPV6_ALL "::"


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