X-Git-Url: https://git.proxmox.com/?p=pve-network.git;a=blobdiff_plain;f=PVE%2FAPI2%2FNetwork%2FSDN%2FSubnets.pm;fp=PVE%2FAPI2%2FNetwork%2FSDN%2FSubnets.pm;h=1e65ed404fb5ffd8814f65ec50455f9df86e77f6;hp=82635f6bad3fce16d433281b5b19ed5af6711895;hb=4ad7844283c42ac05ac9c771645fc74a0fd108ce;hpb=6f5f42e4435a4ec171f4634d3480208c271b39d5 diff --git a/PVE/API2/Network/SDN/Subnets.pm b/PVE/API2/Network/SDN/Subnets.pm index 82635f6..1e65ed4 100644 --- a/PVE/API2/Network/SDN/Subnets.pm +++ b/PVE/API2/Network/SDN/Subnets.pm @@ -11,6 +11,7 @@ use PVE::Network::SDN; use PVE::Network::SDN::Subnets; use PVE::Network::SDN::SubnetPlugin; use PVE::Network::SDN::Vnets; +use PVE::Network::SDN::Zones; use PVE::Network::SDN::Ipams; use PVE::Network::SDN::Ipams::Plugin; @@ -177,6 +178,12 @@ __PACKAGE__->register_method ({ sub { my $cfg = PVE::Network::SDN::Subnets::config(); + my $zone_cfg = PVE::Network::SDN::Zones::config(); + my $vnet_cfg = PVE::Network::SDN::Vnets::config(); + my $vnet = $param->{vnet}; + my $zoneid = $vnet_cfg->{ids}->{$vnet}->{zone}; + my $zone = $zone_cfg->{ids}->{$zoneid}; + my $opts = PVE::Network::SDN::SubnetPlugin->check_config($id, $param, 1, 1); my $scfg = undef; @@ -185,7 +192,7 @@ __PACKAGE__->register_method ({ } $cfg->{ids}->{$id} = $opts; - PVE::Network::SDN::SubnetPlugin->on_update_hook($id, $opts); + PVE::Network::SDN::SubnetPlugin->on_update_hook($zone, $id, $opts); PVE::Network::SDN::Subnets::write_config($cfg); @@ -215,6 +222,12 @@ __PACKAGE__->register_method ({ sub { my $cfg = PVE::Network::SDN::Subnets::config(); + my $zone_cfg = PVE::Network::SDN::Zones::config(); + my $vnet_cfg = PVE::Network::SDN::Vnets::config(); + my $vnet = $param->{vnet}; + my $zoneid = $vnet_cfg->{ids}->{$vnet}->{zone}; + my $zone = $zone_cfg->{ids}->{$zoneid}; + my $scfg = &$api_sdn_subnets_config($cfg, $id); PVE::SectionConfig::assert_if_modified($cfg, $digest); @@ -224,7 +237,7 @@ __PACKAGE__->register_method ({ raise_param_exc({ ipam => "you can't change ipam"}) if $opts->{ipam} && $scfg->{ipam} && $opts->{ipam} ne $scfg->{ipam}; - PVE::Network::SDN::SubnetPlugin->on_update_hook($id, $opts, $scfg); + PVE::Network::SDN::SubnetPlugin->on_update_hook($zone, $id, $opts, $scfg); PVE::Network::SDN::Subnets::write_config($cfg);