On Thu, Jul 21, 2022 at 01:00:19PM +0200, Claudio Jeker wrote:
> rde evaluate all and add-path send do not really work together.
> add-path will evaluate extra paths (if plus is used) and so it implies a
> mode of `rde evaluate all`. I added the exclusion mainly to make it clear
> that the two don't really mix.
> 
> After a request from Pier Carlo Chiodi on OpenBGPD-portable I came to the
> conclusion that it should be possible to set both on a peer (in case the
> peer has no add-path then use `rde evaluate all` as fallback).
> 
> It is enough to update manpage and remove the check in neighbor_consistent()

ok with me.

> -- 
> :wq Claudio
> 
> Index: bgpd.conf.5
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/bgpd.conf.5,v
> retrieving revision 1.225
> diff -u -p -r1.225 bgpd.conf.5
> --- bgpd.conf.5       12 Jul 2022 17:49:33 -0000      1.225
> +++ bgpd.conf.5       21 Jul 2022 10:52:54 -0000
> @@ -893,6 +893,11 @@ and
>  are equivalent.
>  The default is
>  .Ic no .
> +If
> +.Ic add-path Ic send
> +is active then the setting of
> +.Ic rde Ic evaluate
> +is ignored.
>  .Pp
>  .It Xo
>  .Ic announce as-4byte
> Index: parse.y
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v
> retrieving revision 1.432
> diff -u -p -r1.432 parse.y
> --- parse.y   11 Jul 2022 17:08:21 -0000      1.432
> +++ parse.y   21 Jul 2022 10:46:23 -0000
> @@ -4665,14 +4665,6 @@ neighbor_consistent(struct peer *p)
>               return (-1);
>       }
>  
> -     /* bail if add-path send and rde evaluate all is used together */
> -     if ((p->conf.flags & PEERFLAG_EVALUATE_ALL) &&
> -         (p->conf.capabilities.add_path[0] & CAPA_AP_SEND)) {
> -             yyerror("neighbors with add-path send cannot use "
> -                 "'rde evaluate all'");
> -             return (-1);
> -     }
> -
>       return (0);
>  }
>  
> 

Reply via email to