Allow operators to enforce the presence of certain capabilities on sessions.
authorclaudio <claudio@openbsd.org>
Tue, 9 Apr 2024 09:03:18 +0000 (09:03 +0000)
committerclaudio <claudio@openbsd.org>
Tue, 9 Apr 2024 09:03:18 +0000 (09:03 +0000)
commit4b1bc0cbc53289b2a750ce143eafc0ba5422e120
tree7a16238c75ef0cbef4ca094614d273a6c9336c0b
parent84f00aa441e92c0b09ecb9cc8507633413eb5445
Allow operators to enforce the presence of certain capabilities on sessions.

For simple capabilities this just adds enforce to the yes/no option of the
announce statement. For multi-protocol capabilities and add-path there is
an extra keyword. On top of this for add-path the enforcement requires the
neighbor to send a matching capability, e.g
'announce add-path recv enforce' requires the other side to send any
'announce add-path send XYZ' capability.

This is mainly to enforce as-4byte and extra multi-protocol capabilities.

OK denis@ tb@
usr.sbin/bgpd/bgpd.conf.5
usr.sbin/bgpd/bgpd.h
usr.sbin/bgpd/parse.y
usr.sbin/bgpd/printconf.c
usr.sbin/bgpd/session.c