[pve-devel] [PATCH container] clone: randomize network MAC HW address of clone
Thomas Lamprecht
t.lamprecht at proxmox.com
Tue Mar 20 15:28:46 CET 2018
adapt code from qemu-servers clone API path and generate a new
randomized network hardware address (MAC) for the new clone to avoid
address collisions
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
src/PVE/API2/LXC.pm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index 0c9ee40..0c834d4 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -1350,6 +1350,12 @@ __PACKAGE__->register_method({
# TODO: allow bind mounts?
die "unable to clone mountpint '$opt' (type $mp->{type})\n";
}
+ } elsif ($opt =~ m/^net(\d+)$/) {
+ # always change MAC! address
+ my $dc = PVE::Cluster::cfs_read_file('datacenter.cfg');
+ my $net = PVE::LXC::Config->parse_lxc_network($value);
+ $net->{hwaddr} = PVE::Tools::random_ether_addr($dc->{mac_prefix});
+ $newconf->{$opt} = PVE::LXC::Config->print_lxc_network($net);
} else {
# copy everything else
$newconf->{$opt} = $value;
--
2.14.2
More information about the pve-devel
mailing list