]>
Commit | Line | Data |
---|---|---|
bc9e5709 AD |
1 | use strict; |
2 | use warnings; | |
3 | use File::Copy; | |
4 | use PVE::Cluster qw(cfs_read_file); | |
5 | ||
6 | use PVE::Network::Network; | |
7 | use Data::Dumper; | |
8 | use PVE::Network::Network::Plugin; | |
9 | use PVE::Network::Network::VnetPlugin; | |
10 | use PVE::Network::Network::VlanPlugin; | |
11 | use PVE::Network::Network::VxlanMulticastPlugin; | |
12 | ||
13 | ||
14 | my $status = PVE::Network::Network::status(); | |
15 | ||
16 | my $network_cfg = PVE::Cluster::cfs_read_file('networks.cfg'); | |
17 | my $vnet_cfg = undef; | |
18 | my $transport_cfg = undef; | |
19 | ||
20 | my $vnet_status = {}; | |
21 | my $transport_status = {}; | |
22 | ||
23 | foreach my $id (keys %{$network_cfg->{ids}}) { | |
24 | if ($network_cfg->{ids}->{$id}->{type} eq 'vnet') { | |
25 | my $transportzone = $network_cfg->{ids}->{$id}->{transportzone}; | |
26 | $transport_status->{$transportzone}->{status} = 1 if !defined($transport_status->{$transportzone}->{status}); | |
27 | ||
28 | if ($status->{$id}->{status} && $status->{$id}->{status} eq 'pass') { | |
29 | $vnet_status->{$id}->{status} = 1; | |
30 | my $bridgeport = $status->{$id}->{config}->{'bridge-ports'}; | |
31 | ||
32 | if ($status->{$bridgeport}->{status} && $status->{$bridgeport}->{status} ne 'pass') { | |
33 | $vnet_status->{$id}->{status} = 0; | |
34 | $transport_status->{$transportzone}->{status} = 0; | |
35 | } | |
36 | } else { | |
37 | $vnet_status->{$id}->{status} = 0; | |
38 | $transport_status->{$transportzone}->{status} = 0; | |
39 | } | |
40 | } | |
41 | } | |
42 | ||
43 | print Dumper($vnet_status); | |
44 | print Dumper($transport_status); |