> [..]
> >  
> > -Converts a given C<\%frr_config> to the raw config format.
> > +Iterates over all bgp route-maps in C<\$frr_config> and renumbers their 
> > sequence
> > +numbers to be consecutive, starting from 1 and incrementing by 1 for each 
> > entry.
> >  
> >  =cut
> >  
> > -sub to_raw_config {
> > +sub fix_routemap_seqs {
> >      my ($frr_config) = @_;
> >  
> > -    my $raw_config = [];
> > +    my $routemaps = $frr_config->{'frr'}->{'bgp'}->{'routemaps'};
> 
> we should check if `routemaps`(and probably also `bgp`) exists, either
> here, or where we call this in `generate_frr_raw_config`. but here is
> probably better

Damn, these are some weird diffs??
When the whole patch series is applied this is:

    my $routemaps = $frr_config->{'frr'}->{'routemaps'};

So I'll add a check if 'routemaps' exists, thanks!

> > -    generate_frr_vrf($raw_config, $frr_config->{frr}->{vrf});
> > -    generate_frr_interfaces($raw_config, $frr_config->{frr_interfaces});
> > -    generate_frr_recurse($raw_config, $frr_config->{frr}, undef, 0);
> > -    generate_frr_list($raw_config, $frr_config->{frr_access_list}, 
> > "access-list");
> > -    generate_frr_list($raw_config, $frr_config->{frr_prefix_list}, "ip 
> > prefix-list");
> > -    generate_frr_list($raw_config, $frr_config->{frr_prefix_list_v6}, 
> > "ipv6 prefix-list");
> > -    generate_frr_simple_list($raw_config, 
> > $frr_config->{frr_bgp_community_list});
> > -    generate_frr_routemap($raw_config, $frr_config->{frr_routemap});
> > -    generate_frr_simple_list($raw_config, $frr_config->{frr_ip_protocol});
> > -
> > -    return $raw_config;
> > +    foreach my $id (sort keys %$routemaps) {
> > +        my $routemap = $routemaps->{$id};
> > +        my $order = 0;
> > +        foreach my $seq (@$routemap) {
> > +            $order++;
> > +            $seq->{seq} = $order;
> > +        }
> > +    }
> >  }
> > [..]



Reply via email to