all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-network] sdn: require mac in IPAM API calls
@ 2023-11-23 14:54 Stefan Lendl
  2023-11-23 16:19 ` Stefan Lendl
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Lendl @ 2023-11-23 14:54 UTC (permalink / raw)
  To: pve-devel

standard_option for 'mac-addr' is declared in EVPN where mac-addr is optional.
The DELETE endpoint did actually delete from IPAM without a MAC but it would
remain in macs.db which brings ends up in a bad state.

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
---
 src/PVE/API2/Network/SDN/Ips.pm | 18 +++++++++++++++---
 src/PVE/Network/SDN/Subnets.pm  |  6 ++----
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/PVE/API2/Network/SDN/Ips.pm b/src/PVE/API2/Network/SDN/Ips.pm
index 0003b2a..0edabd8 100644
--- a/src/PVE/API2/Network/SDN/Ips.pm
+++ b/src/PVE/API2/Network/SDN/Ips.pm
@@ -27,7 +27,11 @@ __PACKAGE__->register_method ({
 	properties => {
 	    zone => get_standard_option('pve-sdn-zone-id'),
 	    vnet => get_standard_option('pve-sdn-vnet-id'),
-	    mac => get_standard_option('mac-addr'),
+	    mac => {
+		type => 'string',
+		description => "MAC Address of the IP to delete",
+		format => 'mac-addr'
+	    },
 	    ip => {
 		type => 'string',
 		format => 'ip',
@@ -66,7 +70,11 @@ __PACKAGE__->register_method ({
 	properties => {
 	    zone => get_standard_option('pve-sdn-zone-id'),
 	    vnet => get_standard_option('pve-sdn-vnet-id'),
-	    mac => get_standard_option('mac-addr'),
+	    mac => {
+		type => 'string',
+		description => "MAC Address of the IP to add",
+		format => 'mac-addr'
+	    },
 	    ip => {
 		type => 'string',
 		format => 'ip',
@@ -104,7 +112,11 @@ __PACKAGE__->register_method ({
 	    vmid => get_standard_option('pve-vmid', {
 		optional => 1,
 	    }),
-	    mac => get_standard_option('mac-addr'),
+	    mac => {
+		type => 'string',
+		description => "MAC Address of the IP to update",
+		format => 'mac-addr'
+	    },
 	    ip => {
 		type => 'string',
 		format => 'ip',
diff --git a/src/PVE/Network/SDN/Subnets.pm b/src/PVE/Network/SDN/Subnets.pm
index 3b08dcd..fe4f71b 100644
--- a/src/PVE/Network/SDN/Subnets.pm
+++ b/src/PVE/Network/SDN/Subnets.pm
@@ -402,10 +402,8 @@ sub del_ip {
 	my $plugin = PVE::Network::SDN::Ipams::Plugin->lookup($plugin_config->{type});
 	$plugin->del_ip($plugin_config, $subnetid, $subnet, $ip);
 
-	if ($mac) {
-	    eval { PVE::Network::SDN::Ipams::del_cache_mac_ip($mac, $ip) };
-	    warn $@ if $@;
-	}
+	eval { PVE::Network::SDN::Ipams::del_cache_mac_ip($mac, $ip) };
+	warn $@ if $@;
     }
 
     eval {
-- 
2.42.0





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pve-devel] [PATCH pve-network] sdn: require mac in IPAM API calls
  2023-11-23 14:54 [pve-devel] [PATCH pve-network] sdn: require mac in IPAM API calls Stefan Lendl
@ 2023-11-23 16:19 ` Stefan Lendl
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Lendl @ 2023-11-23 16:19 UTC (permalink / raw)
  To: pve-devel


sent v2




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-11-23 16:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-23 14:54 [pve-devel] [PATCH pve-network] sdn: require mac in IPAM API calls Stefan Lendl
2023-11-23 16:19 ` Stefan Lendl

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal