diff options
Diffstat (limited to 'PVE/Network/SDN/Controllers/FaucetPlugin.pm')
| -rw-r--r-- | PVE/Network/SDN/Controllers/FaucetPlugin.pm | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/PVE/Network/SDN/Controllers/FaucetPlugin.pm b/PVE/Network/SDN/Controllers/FaucetPlugin.pm deleted file mode 100644 index 4f3bb5c..0000000 --- a/PVE/Network/SDN/Controllers/FaucetPlugin.pm +++ /dev/null @@ -1,97 +0,0 @@ -package PVE::Network::SDN::Controllers::FaucetPlugin; - -use strict; -use warnings; -use PVE::Network::SDN::Controllers::Plugin; -use PVE::Tools; -use PVE::INotify; -use PVE::JSONSchema qw(get_standard_option); -use CPAN::Meta::YAML; -use Encode; - -use base('PVE::Network::SDN::Controllers::Plugin'); - -sub type { - return 'faucet'; -} - -sub properties { - return { - }; -} - -# Plugin implementation -sub generate_controller_config { - my ($class, $plugin_config, $controller_cfg, $id, $uplinks, $config) = @_; - -} - -sub generate_controller_zone_config { - my ($class, $plugin_config, $controller, $controller_cfg, $id, $uplinks, $config) = @_; - - my $dpid = $plugin_config->{'dp-id'}; - my $dphex = printf("%x",$dpid); - - my $zone_config = { - dp_id => $dphex, - hardware => "Open vSwitch", - }; - - $config->{faucet}->{dps}->{$id} = $zone_config; - -} - - -sub generate_controller_vnet_config { - my ($class, $plugin_config, $controller, $zone, $zoneid, $vnetid, $config) = @_; - - my $mac = $plugin_config->{mac}; - my $ipv4 = $plugin_config->{ipv4}; - my $ipv6 = $plugin_config->{ipv6}; - my $tag = $plugin_config->{tag}; - my $alias = $plugin_config->{alias}; - - my @ips = (); - push @ips, $ipv4 if $ipv4; - push @ips, $ipv6 if $ipv6; - - my $vlan_config = { vid => $tag }; - - $vlan_config->{description} = $alias if $alias; - $vlan_config->{faucet_mac} = $mac if $mac; - $vlan_config->{faucet_vips} = \@ips if scalar @ips > 0; - - $config->{faucet}->{vlans}->{$vnetid} = $vlan_config; - - push(@{$config->{faucet}->{routers}->{$zoneid}->{vlans}} , $vnetid); - -} - -sub write_controller_config { - my ($class, $plugin_config, $config) = @_; - - my $rawconfig = encode('UTF-8', CPAN::Meta::YAML::Dump($config->{faucet})); - - return if !$rawconfig; - return if !-d "/etc/faucet"; - - my $frr_config_file = "/etc/faucet/faucet.yaml"; - - my $writefh = IO::File->new($frr_config_file,">"); - print $writefh $rawconfig; - $writefh->close(); -} - -sub reload_controller { - my ($class) = @_; - - my $conf_file = "/etc/faucet/faucet.yaml"; - my $bin_path = "/usr/bin/faucet"; - - if (-e $conf_file && -e $bin_path) { - PVE::Tools::run_command(['systemctl', 'reload', 'faucet']); - } -} - -1; - |
