On 12.03.2026 10:20, Hannes Laimer wrote:
> On 2026-03-10 13:09, Gabriel Goller wrote:
> > The structured frr config can be deserialized by rust and rendered using
> > the templates (isis and bgp) in proxmox-frr.
> > 
> > Co-authored-by: Stefan Hanreich <[email protected]>
> > Signed-off-by: Gabriel Goller <[email protected]>
> > ---
> 
> [..]
> 
> > diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm 
> > b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
> > index cc217126607f..e3091c63ac8d 100644
> > --- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
> > +++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
[snip]
> > @@ -102,10 +102,10 @@ sub generate_frr_config {
> >      } elsif ($plugin_config->{'peers'}) {
> >          @peers = PVE::Tools::split_list($plugin_config->{'peers'});
> >  
> > -        if ($bgprouter) {
> > -            $loopback = $bgprouter->{loopback} if $bgprouter->{loopback};
> > -        } elsif ($isisrouter) {
> > -            $loopback = $isisrouter->{loopback} if $isisrouter->{loopback};
> > +        if ($bgp_controller) {
> > +            $loopback = $bgp_controller->{loopback} if 
> > $bgp_controller->{loopback};
> > +        } elsif ($isis_controller) {
> > +            $loopback = $isis_controller->{loopback} if 
> > $isis_controller->{loopback};
> >          }
> >  
> >          ($ifaceip, my $interface) =
> > @@ -116,58 +116,60 @@ sub generate_frr_config {
> >          return;
> >      }
> >  
> > -    if ($bgprouter) {
> > -        $ebgp = 1 if $plugin_config->{'asn'} ne $bgprouter->{asn};
> > -        $asn = $bgprouter->{asn} if $bgprouter->{asn};
> > +    if ($bgp_controller) {
> > +        $ebgp = 1 if $plugin_config->{'asn'} ne $bgp_controller->{asn};
> > +        $asn = $bgp_controller->{asn} if $bgp_controller->{asn};
> 
> missing `int(..)`, so the var is flagged correctly

Ack, thanks for the review!

> >          $autortas = $plugin_config->{'asn'} if $ebgp;
> >      }
> >  
> >      return if !$asn || !$routerid;
> > -    my $bgp = $config->{frr}->{router}->{"bgp $asn"} //= {};
> > -
> > -    my $remoteas = $ebgp ? "external" : $asn;
> > -
> > -    #global options
> > -    my @controller_config = (
> > -        "bgp router-id $routerid",
> > -        "no bgp hard-administrative-reset",
> > -        "no bgp default ipv4-unicast",
> > -        "coalesce-time 1000",
> > -        "no bgp graceful-restart notification",
> > -    );
> > -
> > -    push(@{ $bgp->{""} }, @controller_config) if keys %{$bgp} == 0;
> >  
> 
> [..]



Reply via email to