From efffa0ff103114037375268f8cdc29c0e4acbb62 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Wed, 25 Nov 2020 10:01:37 +0100 Subject: [PATCH] zones: evpn : add support for loopback --- PVE/Network/SDN/Zones.pm | 2 +- PVE/Network/SDN/Zones/EvpnPlugin.pm | 7 +++---- PVE/Network/SDN/Zones/Plugin.pm | 2 +- PVE/Network/SDN/Zones/QinQPlugin.pm | 2 +- PVE/Network/SDN/Zones/SimplePlugin.pm | 2 +- PVE/Network/SDN/Zones/VlanPlugin.pm | 2 +- PVE/Network/SDN/Zones/VxlanPlugin.pm | 2 +- 7 files changed, 9 insertions(+), 10 deletions(-) diff --git a/PVE/Network/SDN/Zones.pm b/PVE/Network/SDN/Zones.pm index 1f225dc..67d8f18 100644 --- a/PVE/Network/SDN/Zones.pm +++ b/PVE/Network/SDN/Zones.pm @@ -131,7 +131,7 @@ sub generate_etc_network_config { my $plugin = PVE::Network::SDN::Zones::Plugin->lookup($plugin_config->{type}); eval { - $plugin->generate_sdn_config($plugin_config, $zone, $id, $vnet, $controller, $subnet_cfg, $interfaces_config, $config); + $plugin->generate_sdn_config($plugin_config, $zone, $id, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config); }; if (my $err = $@) { warn "zone $zone : vnet $id : $err\n"; diff --git a/PVE/Network/SDN/Zones/EvpnPlugin.pm b/PVE/Network/SDN/Zones/EvpnPlugin.pm index d50ddb9..14bbf56 100644 --- a/PVE/Network/SDN/Zones/EvpnPlugin.pm +++ b/PVE/Network/SDN/Zones/EvpnPlugin.pm @@ -49,7 +49,7 @@ sub options { # Plugin implementation sub generate_sdn_config { - my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $subnet_cfg, $interfaces_config, $config) = @_; + my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config) = @_; my $tag = $vnet->{tag}; my $alias = $vnet->{alias}; @@ -66,9 +66,8 @@ sub generate_sdn_config { warn "vlan-aware vnet can't be enabled with evpn plugin" if $vnet->{vlanaware}; my @peers = PVE::Tools::split_list($controller->{'peers'}); -# my $bgprouter = PVE::Network::SDN::Controllers::EvpnController::find_bgp_controller($local_node, $controller_cfg); -# my $loopback = $bgprouter->{loopback} if $bgprouter->{loopback}; - my $loopback = undef; + my $bgprouter = PVE::Network::SDN::Controllers::EvpnPlugin::find_bgp_controller($local_node, $controller_cfg); + my $loopback = $bgprouter->{loopback} if $bgprouter->{loopback}; my ($ifaceip, $iface) = PVE::Network::SDN::Zones::Plugin::find_local_ip_interface_peers(\@peers, $loopback); my $mtu = 1450; diff --git a/PVE/Network/SDN/Zones/Plugin.pm b/PVE/Network/SDN/Zones/Plugin.pm index aa795a3..8592e3c 100644 --- a/PVE/Network/SDN/Zones/Plugin.pm +++ b/PVE/Network/SDN/Zones/Plugin.pm @@ -98,7 +98,7 @@ sub parse_section_header { } sub generate_sdn_config { - my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $subnet_cfg, $interfaces_config, $config) = @_; + my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config) = @_; die "please implement inside plugin"; } diff --git a/PVE/Network/SDN/Zones/QinQPlugin.pm b/PVE/Network/SDN/Zones/QinQPlugin.pm index 5d40db8..2bd60db 100644 --- a/PVE/Network/SDN/Zones/QinQPlugin.pm +++ b/PVE/Network/SDN/Zones/QinQPlugin.pm @@ -49,7 +49,7 @@ sub options { # Plugin implementation sub generate_sdn_config { - my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $subnet_cfg, $interfaces_config, $config) = @_; + my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config) = @_; my $stag = $plugin_config->{tag}; my $mtu = $plugin_config->{mtu}; diff --git a/PVE/Network/SDN/Zones/SimplePlugin.pm b/PVE/Network/SDN/Zones/SimplePlugin.pm index c4f4475..ed41e62 100644 --- a/PVE/Network/SDN/Zones/SimplePlugin.pm +++ b/PVE/Network/SDN/Zones/SimplePlugin.pm @@ -43,7 +43,7 @@ sub options { # Plugin implementation sub generate_sdn_config { - my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $subnet_cfg, $interfaces_config, $config) = @_; + my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config) = @_; return $config if$config->{$vnetid}; # nothing to do diff --git a/PVE/Network/SDN/Zones/VlanPlugin.pm b/PVE/Network/SDN/Zones/VlanPlugin.pm index 7af9b2c..ca6bd8f 100644 --- a/PVE/Network/SDN/Zones/VlanPlugin.pm +++ b/PVE/Network/SDN/Zones/VlanPlugin.pm @@ -43,7 +43,7 @@ sub options { # Plugin implementation sub generate_sdn_config { - my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $subnet_cfg, $interfaces_config, $config) = @_; + my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config) = @_; my $bridge = $plugin_config->{bridge}; die "can't find bridge $bridge" if !-d "/sys/class/net/$bridge"; diff --git a/PVE/Network/SDN/Zones/VxlanPlugin.pm b/PVE/Network/SDN/Zones/VxlanPlugin.pm index 1fe16b8..c018d34 100644 --- a/PVE/Network/SDN/Zones/VxlanPlugin.pm +++ b/PVE/Network/SDN/Zones/VxlanPlugin.pm @@ -47,7 +47,7 @@ sub options { # Plugin implementation sub generate_sdn_config { - my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $subnet_cfg, $interfaces_config, $config) = @_; + my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $controller, $controller_cfg, $subnet_cfg, $interfaces_config, $config) = @_; my $tag = $vnet->{tag}; my $alias = $vnet->{alias}; -- 2.39.2