Add ASPA validation functions to the RDE.
authorclaudio <claudio@openbsd.org>
Wed, 11 Jan 2023 13:53:17 +0000 (13:53 +0000)
committerclaudio <claudio@openbsd.org>
Wed, 11 Jan 2023 13:53:17 +0000 (13:53 +0000)
commit28d660474117721274ff45c329e2f4f53e545fe8
tree4c2206f1c7af4643614fe6bc65b47973c9953140
parent4012b040ac00f2e70439d9b22a8000b57e2b12f9
Add ASPA validation functions to the RDE.

This implements ASPA validation based on the current draft. Implementing
this showed various weaknesses in the current ASPA draft which I hope to
fix in the near future.

Unlike the algorithm specified in the draft our version validates the
AS_PATH attribute in a single path doing one or two lookups depending on
the sessions BGP role.

The code is not yet hooked up into the RDE (see the NOTYET blocks).
Missing are reload logic, bgpctl integration and the loading of the
merged ASPA set from the rtr process.

OK tb@
usr.sbin/bgpd/Makefile
usr.sbin/bgpd/bgpd.h
usr.sbin/bgpd/rde.c
usr.sbin/bgpd/rde.h
usr.sbin/bgpd/rde_aspa.c [new file with mode: 0644]
usr.sbin/bgpd/rde_update.c