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.le...@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 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel