If previously an IP was allocated in the IPAM, but a new subnet added for the other IP version, we need to allocate an IP in the new subnet.
Signed-off-by: Stefan Lendl <s.le...@proxmox.com> Reviewed-by: Stefan Hanreich <s.hanre...@proxmox.com> Tested-by: Stefan Hanreich <s.hanre...@proxmox.com> --- src/PVE/Network/SDN/Vnets.pm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/PVE/Network/SDN/Vnets.pm b/src/PVE/Network/SDN/Vnets.pm index 03609b7..4542b70 100644 --- a/src/PVE/Network/SDN/Vnets.pm +++ b/src/PVE/Network/SDN/Vnets.pm @@ -196,12 +196,10 @@ sub add_dhcp_mapping { return if !$zone->{ipam} || !$zone->{dhcp}; my ($ip4, $ip6) = PVE::Network::SDN::Vnets::get_ips_from_mac($vnetid, $mac); - if ( ! ($ip4 || $ip6) ) { - print "No IP found for MAC: $mac for VMID:$vmid\n"; - add_next_free_cidr($vnetid, $name, $mac, "$vmid", undef, 1); - ($ip4, $ip6) = PVE::Network::SDN::Vnets::get_ips_from_mac($vnetid, $mac); - print "got new IP from IPAM: $ip4 $ip6\n"; - } + add_next_free_cidr($vnetid, $name, $mac, "$vmid", undef, 1, 4) if ! $ip4; + add_next_free_cidr($vnetid, $name, $mac, "$vmid", undef, 1, 6) if ! $ip6; + + ($ip4, $ip6) = PVE::Network::SDN::Vnets::get_ips_from_mac($vnetid, $mac); PVE::Network::SDN::Dhcp::add_mapping($vnetid, $mac, $ip4, $ip6) if $ip4 || $ip6; } -- 2.44.0 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel