[pve-devel] [PATCH pve-network] dhcp: fix allocating IP for every defined dhcp-range

Stefan Hanreich s.hanreich at proxmox.com
Tue Nov 21 13:40:12 CET 2023

Due to the wrong check an IP was allocated for every DHCP range,
instead of only allocating an IP in the first free DHCP range.

Suggested-By: Stefan Lendl <s.lendl at proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
The fix I talked about off-list was actually unrelated to this. It
prevented allocating IP addresses in multiple IPv4/6 subnets, not
allocating multiple IP addresses for multiple DHCP ranges. So I did
not remove anything in this patch.

 src/PVE/Network/SDN/Subnets.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/PVE/Network/SDN/Subnets.pm b/src/PVE/Network/SDN/Subnets.pm
index b05b3d9..8e2a6aa 100644
--- a/src/PVE/Network/SDN/Subnets.pm
+++ b/src/PVE/Network/SDN/Subnets.pm
@@ -238,7 +238,7 @@ sub add_next_free_ip {
 		foreach my $range (@$dhcp_ranges) {
 		    $ip = $plugin->add_range_next_freeip($plugin_config, $subnet, $range, $data);
-	            next if !$ip;
+		    last if $ip;
 	    } else {
 		$ip = $plugin->add_next_freeip($plugin_config, $subnetid, $subnet, $hostname, $mac, $vmid);

More information about the pve-devel mailing list