add-path send is kind of like rde evaluate all (at least if plus is used)
and so it kind of implies 'rde evaluate all' in that case. Removing the
check in neighbor_consistent() allows to setup sessions so that 'either or'
are used. This makes sense since peers may opt out of add-path by disabling
the capability on their side.
Based on report from Pier Carlo Chiodi
OK tb@
cvs: ----------------------------------------------------------------------
-.\" $OpenBSD: bgpd.conf.5,v 1.225 2022/07/12 17:49:33 tb Exp $
+.\" $OpenBSD: bgpd.conf.5,v 1.226 2022/07/21 12:34:19 claudio Exp $
.\"
.\" Copyright (c) 2004 Claudio Jeker <claudio@openbsd.org>
.\" Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: July 12 2022 $
+.Dd $Mdocdate: July 21 2022 $
.Dt BGPD.CONF 5
.Os
.Sh NAME
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
-/* $OpenBSD: parse.y,v 1.432 2022/07/11 17:08:21 claudio Exp $ */
+/* $OpenBSD: parse.y,v 1.433 2022/07/21 12:34:19 claudio Exp $ */
/*
* Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org>
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);
}