[pve-devel] [PATCH pve-network 3/3] dhcp: delete remove_mapping

Alexandre Derumier aderumier at odiso.com
Wed Nov 15 15:22:00 CET 2023


The cleanup of old mac is now done when we add a new mac/ip

Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
 src/PVE/API2/Network/SDN/Ipam.pm    |  1 -
 src/PVE/Network/SDN/Dhcp.pm         | 15 -------------
 src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 34 -----------------------------
 src/PVE/Network/SDN/Dhcp/Plugin.pm  |  5 -----
 4 files changed, 55 deletions(-)

diff --git a/src/PVE/API2/Network/SDN/Ipam.pm b/src/PVE/API2/Network/SDN/Ipam.pm
index 66131e3..68d99a6 100644
--- a/src/PVE/API2/Network/SDN/Ipam.pm
+++ b/src/PVE/API2/Network/SDN/Ipam.pm
@@ -104,7 +104,6 @@ __PACKAGE__->register_method ({
 	my $vnet = extract_param($param, 'vnet');
 	my $mac = extract_param($param, 'mac');
 
-	PVE::Network::SDN::Dhcp::remove_mapping($vnet, $mac);
 	PVE::Network::SDN::Vnets::del_ips_from_mac($vnet, $mac);
 
 	return undef;
diff --git a/src/PVE/Network/SDN/Dhcp.pm b/src/PVE/Network/SDN/Dhcp.pm
index 99561b3..06d03e2 100644
--- a/src/PVE/Network/SDN/Dhcp.pm
+++ b/src/PVE/Network/SDN/Dhcp.pm
@@ -38,21 +38,6 @@ sub add_mapping {
     $dhcp_plugin->add_ip_mapping($zoneid, $macdb, $mac, $ip4, $ip6)
 }
 
-sub remove_mapping {
-    my ($vnetid, $mac) = @_;
-
-    my $vnet = PVE::Network::SDN::Vnets::get_vnet($vnetid);
-    return if !$vnet;
-
-    my $zoneid = $vnet->{zone};
-    my $zone = PVE::Network::SDN::Zones::get_zone($zoneid);
-
-    return if !$zone->{ipam} || !$zone->{dhcp};
-
-    my $dhcp_plugin = PVE::Network::SDN::Dhcp::Plugin->lookup($zone->{dhcp});
-    $dhcp_plugin->del_ip_mapping($zoneid, $mac);
-}
-
 sub regenerate_config {
     my ($reload) = @_;
 
diff --git a/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm b/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
index b672dd3..46172c5 100644
--- a/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
+++ b/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
@@ -18,40 +18,6 @@ sub type {
     return 'dnsmasq';
 }
 
-sub del_ip_mapping {
-    my ($class, $dhcpid, $mac) = @_;
-
-    my $ethers_file = "$DNSMASQ_CONFIG_ROOT/$dhcpid/ethers";
-    my $ethers_tmp_file = "$ethers_file.tmp";
-
-    my $removeFn = sub {
-	open(my $in, '<', $ethers_file) or die "Could not open file '$ethers_file' $!\n";
-	open(my $out, '>', $ethers_tmp_file) or die "Could not open file '$ethers_tmp_file' $!\n";
-
-        while (my $line = <$in>) {
-	    next if $line =~ m/^$mac/;
-	    print $out $line;
-	}
-
-	close $in;
-	close $out;
-
-	move $ethers_tmp_file, $ethers_file;
-
-	chmod 0644, $ethers_file;
-    };
-
-    PVE::Tools::lock_file($ethers_file, 10, $removeFn);
-
-    if ($@) {
-	warn "Unable to remove $mac from the dnsmasq configuration: $@\n";
-	return;
-    }
-
-    my $service_name = "dnsmasq\@$dhcpid";
-    PVE::Tools::run_command(['systemctl', 'reload', $service_name]);
-}
-
 sub add_ip_mapping {
     my ($class, $dhcpid, $macdb, $mac, $ip4, $ip6) = @_;
 
diff --git a/src/PVE/Network/SDN/Dhcp/Plugin.pm b/src/PVE/Network/SDN/Dhcp/Plugin.pm
index 8d0f7ba..d05378d 100644
--- a/src/PVE/Network/SDN/Dhcp/Plugin.pm
+++ b/src/PVE/Network/SDN/Dhcp/Plugin.pm
@@ -27,11 +27,6 @@ sub add_ip_mapping {
     die 'implement in sub class';
 }
 
-sub del_ip_mapping {
-    my ($class, $dhcp_config, $mac) = @_;
-    die 'implement in sub class';
-}
-
 sub configure_range {
     my ($class, $dhcp_config, $subnet_config, $range_config) = @_;
     die 'implement in sub class';
-- 
2.39.2





More information about the pve-devel mailing list