dhcp: always generate dhcp-range for dnsmasq

(configure_range is now noop)

Signed-off-by: lou lecrivain <lou.lecrivain@wdz.de>
Tested-by: Stefan Hanreich <s.hanreich@proxmox.com>
Reviewed-by: Stefan Hanreich <s.hanreich@proxmox.com>
Tested-by: Hannes Duerr <h.duerr@proxmox.com>
Link: https://lore.proxmox.com/mailman.183.1734119197.332.pve-devel@lists.proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Lou Lecrivain 2024-12-13 20:45:38 +01:00 committed by Thomas Lamprecht
parent 7603197666
commit 8794d57125
2 changed files with 10 additions and 14 deletions

View file

@ -100,7 +100,6 @@ sub regenerate_config {
my ($zone, $subnet_network, $subnet_mask) = split(/-/, $subnet_id); my ($zone, $subnet_network, $subnet_mask) = split(/-/, $subnet_id);
next if $zone ne $zoneid; next if $zone ne $zoneid;
next if !$dhcp_ranges;
eval { $dhcp_plugin->configure_subnet($config, $zoneid, $vnetid, $subnet_config) }; eval { $dhcp_plugin->configure_subnet($config, $zoneid, $vnetid, $subnet_config) };
warn "Could not configure subnet $subnet_id: $@\n" if $@; warn "Could not configure subnet $subnet_id: $@\n" if $@;

View file

@ -129,6 +129,15 @@ sub configure_subnet {
my $tag = $subnet_config->{id}; my $tag = $subnet_config->{id};
my ($zone, $network, $mask) = split(/-/, $tag);
if (Net::IP::ip_is_ipv4($network)) {
$mask = (2 ** $mask - 1) << (32 - $mask);
$mask = join( '.', unpack( "C4", pack( "N", $mask ) ) );
}
push @{$config}, "dhcp-range=set:$tag,$network,static,$mask,infinite";
my $option_string; my $option_string;
if (ip_is_ipv6($subnet_config->{network})) { if (ip_is_ipv6($subnet_config->{network})) {
$option_string = 'option6'; $option_string = 'option6';
@ -139,22 +148,10 @@ sub configure_subnet {
push @{$config}, "dhcp-option=tag:$tag,$option_string:dns-server,$subnet_config->{'dhcp-dns-server'}" push @{$config}, "dhcp-option=tag:$tag,$option_string:dns-server,$subnet_config->{'dhcp-dns-server'}"
if $subnet_config->{'dhcp-dns-server'}; if $subnet_config->{'dhcp-dns-server'};
} }
sub configure_range { sub configure_range {
my ($class, $config, $dhcpid, $vnetid, $subnet_config, $range_config) = @_; # noop, everything is done within configure_subnet
my $tag = $subnet_config->{id};
my ($zone, $network, $mask) = split(/-/, $tag);
if (Net::IP::ip_is_ipv4($network)) {
$mask = (2 ** $mask - 1) << (32 - $mask);
$mask = join( '.', unpack( "C4", pack( "N", $mask ) ) );
}
push @{$config}, "dhcp-range=set:$tag,$network,static,$mask,infinite";
} }
sub configure_vnet { sub configure_vnet {