diff --git a/lxc_net/container.py b/lxc_net/container.py index 20776b8..d040606 100644 --- a/lxc_net/container.py +++ b/lxc_net/container.py @@ -129,7 +129,16 @@ class Container(util.LibvirtObject): def __str__(self): return "This container is already instanciated" - def __init__(self, conn, networks, name=None, mem=int(1e6)): + def __init__(self, conn, networks, name=None, mem=int(1e6), enable_v4=True): + """ Parameters: + * conn: connection to libvirt, + * networks: iterable of Network instances this container is connected to, + * name: name of the container. Defaults to something id-based. + * mem: KiB of memory available to this container, + * enable_v4: is IPv4 enabled for this container? Defaults to True. If False, + this container won't be given an IPv4 address. + """ + super().__init__(conn) if not name: @@ -138,6 +147,7 @@ class Container(util.LibvirtObject): self.networks = networks self.mem = mem + self.enable_v4 = enable_v4 self.overlay_root = None @@ -159,7 +169,7 @@ class Container(util.LibvirtObject): for net in self.networks: net_config = net_config_templ.inst( mac=util.MACAddress(net.id, self.id), - ipv4=util.Addrv4(net.id, self.id), + ipv4=util.Addrv4(net.id, self.id) if self.enable_v4 else None, ipv6=util.Addrv6(net.id, self.id), ) net_config_path = net_conf_dir / "11-{link:02d}-{name}.network".format(