BGP router-ids are 32-bit values, so use get_router_id() instead of the
address directly, cause that would only work for IPv4 underlays.
And remove dead code in the EVPN zone plugin, we don't need the
router-id there anywhere.

Signed-off-by: Hannes Laimer <[email protected]>
---
 src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 4 ++--
 src/PVE/Network/SDN/Zones/EvpnPlugin.pm       | 2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm 
b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index 88bdcb8..8bc00c7 100644
--- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -116,7 +116,7 @@ sub generate_frr_config {
         $loopback = "dummy_$fabric->{id}";
 
         $ifaceip = $current_node->{$addr_key};
-        $routerid = $current_node->{$addr_key};
+        $routerid = 
PVE::Network::SDN::Controllers::Plugin::get_router_id($ifaceip, $loopback);
 
     } elsif ($plugin_config->{'peers'}) {
         @peers = PVE::Tools::split_list($plugin_config->{'peers'});
@@ -268,7 +268,7 @@ sub generate_zone_frr_config {
         $loopback = "dummy_$fabric->{id}";
 
         $ifaceip = $current_node->{$addr_key};
-        $routerid = $current_node->{$addr_key};
+        $routerid = 
PVE::Network::SDN::Controllers::Plugin::get_router_id($ifaceip, $loopback);
 
     } elsif ($controller->{peers}) {
         @peers = PVE::Tools::split_list($controller->{'peers'}) if 
$controller->{'peers'};
diff --git a/src/PVE/Network/SDN/Zones/EvpnPlugin.pm 
b/src/PVE/Network/SDN/Zones/EvpnPlugin.pm
index 227d917..9aeced5 100644
--- a/src/PVE/Network/SDN/Zones/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Zones/EvpnPlugin.pm
@@ -145,7 +145,6 @@ sub generate_sdn_config {
     my $loopback = undef;
     my $ifaceip = undef;
     my $iface = undef;
-    my $routerid = undef;
 
     if ($controller->{peers}) {
         @peers = PVE::Tools::split_list($controller->{'peers'});
@@ -204,7 +203,6 @@ sub generate_sdn_config {
         $loopback = "dummy_$fabric->{id}";
 
         $ifaceip = $current_node->{$addr_key};
-        $routerid = $current_node->{$addr_key};
     } else {
         die "neither fabric nor peers configured for EVPN controller 
$controller->{id}";
     }
-- 
2.47.3



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to