From: Alexandre Derumier Date: Fri, 3 May 2019 09:00:18 +0000 (+0200) Subject: api2: update_hook: also verify transport associated to vnet X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=b487260d4ba0e91269a9e788ddfa95da7366c5f2;p=mirror%2Fpve-network.git api2: update_hook: also verify transport associated to vnet Signed-off-by: Alexandre Derumier --- diff --git a/PVE/API2/Network/Network.pm b/PVE/API2/Network/Network.pm index d199234..3dd0a57 100644 --- a/PVE/API2/Network/Network.pm +++ b/PVE/API2/Network/Network.pm @@ -138,6 +138,14 @@ __PACKAGE__->register_method ({ $cfg->{ids}->{$networkid} = $opts; $plugin->on_update_hook($networkid, $cfg); + #also verify transport associated to vnet + if($scfg->{type} eq 'vnet') { + my $transportid = $scfg->{transportzone}; + die "missing transportzone" if !$transportid; + my $transport_cfg = $cfg->{ids}->{$transportid}; + my $transport_plugin = PVE::Network::Network::Plugin->lookup($transport_cfg->{type}); + $transport_plugin->on_update_hook($transportid, $cfg); + } PVE::Network::Network::write_config($cfg); @@ -180,7 +188,14 @@ __PACKAGE__->register_method ({ } $plugin->on_update_hook($networkid, $cfg); - + #also verify transport associated to vnet + if($scfg->{type} eq 'vnet') { + my $transportid = $scfg->{transportzone}; + die "missing transportzone" if !$transportid; + my $transport_cfg = $cfg->{ids}->{$transportid}; + my $transport_plugin = PVE::Network::Network::Plugin->lookup($transport_cfg->{type}); + $transport_plugin->on_update_hook($transportid, $cfg); + } PVE::Network::Network::write_config($cfg); }, "update network object failed");