summaryrefslogtreecommitdiff
path: root/PVE/Network/SDN/Controllers.pm
diff options
context:
space:
mode:
authorAlexandre Derumier <aderumier@odiso.com>2020-11-25 10:01:36 +0100
committerThomas Lamprecht <t.lamprecht@proxmox.com>2020-11-25 12:04:00 +0100
commitf23633dc24196b0e09c1fa592b3ad70095b1b3fb (patch)
treeee678ce27e871a2c5927f9c7d9b6d196a1340dd8 /PVE/Network/SDN/Controllers.pm
parentd1ab9bdbbcf0ac0ed17bba9a86754b8c560db467 (diff)
controllers: improve bgp-evpn
- add new bgp plugin - add ebgp support - add loopback support - move gateway-nodes option to zone as 'exitnodes' - move external-peers to bgp plugin
Diffstat (limited to 'PVE/Network/SDN/Controllers.pm')
-rw-r--r--PVE/Network/SDN/Controllers.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/PVE/Network/SDN/Controllers.pm b/PVE/Network/SDN/Controllers.pm
index f652d7f..9937755 100644
--- a/PVE/Network/SDN/Controllers.pm
+++ b/PVE/Network/SDN/Controllers.pm
@@ -13,9 +13,11 @@ use PVE::Network::SDN::Vnets;
use PVE::Network::SDN::Zones;
use PVE::Network::SDN::Controllers::EvpnPlugin;
+use PVE::Network::SDN::Controllers::BgpPlugin;
use PVE::Network::SDN::Controllers::FaucetPlugin;
use PVE::Network::SDN::Controllers::Plugin;
PVE::Network::SDN::Controllers::EvpnPlugin->register();
+PVE::Network::SDN::Controllers::BgpPlugin->register();
PVE::Network::SDN::Controllers::FaucetPlugin->register();
PVE::Network::SDN::Controllers::Plugin->init();
@@ -95,24 +97,24 @@ sub generate_controller_config {
#generate configuration
my $config = {};
- foreach my $id (keys %{$controller_cfg->{ids}}) {
+ foreach my $id (sort keys %{$controller_cfg->{ids}}) {
my $plugin_config = $controller_cfg->{ids}->{$id};
my $plugin = PVE::Network::SDN::Controllers::Plugin->lookup($plugin_config->{type});
- $plugin->generate_controller_config($plugin_config, $plugin_config, $id, $uplinks, $config);
+ $plugin->generate_controller_config($plugin_config, $controller_cfg, $id, $uplinks, $config);
}
- foreach my $id (keys %{$zone_cfg->{ids}}) {
+ foreach my $id (sort keys %{$zone_cfg->{ids}}) {
my $plugin_config = $zone_cfg->{ids}->{$id};
my $controllerid = $plugin_config->{controller};
next if !$controllerid;
my $controller = $controller_cfg->{ids}->{$controllerid};
if ($controller) {
my $controller_plugin = PVE::Network::SDN::Controllers::Plugin->lookup($controller->{type});
- $controller_plugin->generate_controller_zone_config($plugin_config, $controller, $id, $uplinks, $config);
+ $controller_plugin->generate_controller_zone_config($plugin_config, $controller, $controller_cfg, $id, $uplinks, $config);
}
}
- foreach my $id (keys %{$vnet_cfg->{ids}}) {
+ foreach my $id (sort keys %{$vnet_cfg->{ids}}) {
my $plugin_config = $vnet_cfg->{ids}->{$id};
my $zoneid = $plugin_config->{zone};
next if !$zoneid;