my $scfg = PVE::Network::Network::network_config($cfg, $networkid);
my $plugin = PVE::Network::Network::Plugin->lookup($scfg->{type});
- $plugin->on_delete_hook($networkid, $scfg);
+ $plugin->on_delete_hook($networkid, $cfg);
delete $cfg->{ids}->{$networkid};
PVE::Network::Network::write_config($cfg);
}
sub on_delete_hook {
- my ($class, $networkid, $scfg) = @_;
+ my ($class, $transportid, $network_cfg) = @_;
- # verify that no vnet are associated to this transport
+ # verify that no vnet are associated to this transport
+ foreach my $id (keys %{$network_cfg->{ids}}) {
+ my $network = $network_cfg->{ids}->{$id};
+ die "transport $transportid is used by vnet $id"
+ if ($network->{type} eq 'vnet' && defined($network->{transportzone}) && $network->{transportzone} eq $transportid);
+ }
}
sub on_update_hook {
}
sub on_delete_hook {
- my ($class, $networkid, $scfg) = @_;
+ my ($class, $networkid, $network_cfg) = @_;
# verify than no vm or ct have interfaces in this bridge
my $vmdata = read_cluster_vm_config();
}
sub on_delete_hook {
- my ($class, $networkid, $scfg) = @_;
+ my ($class, $transportid, $network_cfg) = @_;
# verify that no vnet are associated to this transport
+ foreach my $id (keys %{$network_cfg->{ids}}) {
+ my $network = $network_cfg->{ids}->{$id};
+ die "transport $transportid is used by vnet $id"
+ if ($network->{type} eq 'vnet' && defined($network->{transportzone}) && $network->{transportzone} eq $transportid);
+ }
}
sub on_update_hook {