]> git.proxmox.com Git - pve-network.git/blame - PVE/Network/SDN.pm
cleanup old transport/router/sdn_cfg references
[pve-network.git] / PVE / Network / SDN.pm
CommitLineData
86d22462 1package PVE::Network::SDN;
92b6f291
AD
2
3use strict;
4use warnings;
434125ce 5
92b6f291 6use Data::Dumper;
c665cefc 7use JSON;
434125ce 8
f5eabba0
AD
9use PVE::Network::SDN::Zones;
10
434125ce 11use PVE::Tools qw(extract_param dir_glob_regex run_command);
92b6f291 12use PVE::Cluster qw(cfs_read_file cfs_write_file cfs_lock_file);
92b6f291 13
f5eabba0 14# improve me : move status code inside plugins ?
92b6f291 15
e424c7ac 16sub ifquery_check {
c665cefc
AD
17
18 my $cmd = ['ifquery', '-a', '-c', '-o','json'];
c665cefc 19
0c5021ad
TL
20 my $result = '';
21 my $reader = sub { $result .= shift };
c665cefc
AD
22
23 eval {
6e9fff39 24 run_command($cmd, outfunc => $reader);
c665cefc
AD
25 };
26
6e9fff39 27 my $resultjson = decode_json($result);
c665cefc
AD
28 my $interfaces = {};
29
30 foreach my $interface (@$resultjson) {
6e9fff39
AD
31 my $name = $interface->{name};
32 $interfaces->{$name} = {
33 status => $interface->{status},
34 config => $interface->{config},
35 config_status => $interface->{config_status},
36 };
c665cefc
AD
37 }
38
39 return $interfaces;
40}
41
e424c7ac
AD
42sub status {
43
56cdcac9
AD
44 my ($zone_status, $vnet_status) = PVE::Network::SDN::Zones::status();
45 return($zone_status, $vnet_status);
e424c7ac
AD
46}
47
481;
80348b2d 49