From e4df8a3e4c28629ae94a647b947826750264d7a2 Mon Sep 17 00:00:00 2001 From: Eugene Bogomazov Date: Wed, 2 Oct 2019 16:26:05 +0200 Subject: [PATCH] Add ASPA functionality to BIRD ASPA [1] is a new IETF draft for BGP that adds new RPKI objects and create an AS_PATH validation mechanism [2] based on this objects. [1] https://datatracker.ietf.org/doc/draft-ietf-sidrops-aspa-profile/ [2] https://datatracker.ietf.org/doc/draft-ietf-sidrops-aspa-verification/ (Minor changes done by commiter) --- bird-gdb.py | 2 ++ conf/confbase.Y | 18 ++++++++-- filter/config.Y | 4 +++ filter/data.h | 2 ++ filter/f-inst.c | 52 +++++++++++++++++++++++++++ filter/test.conf | 87 ++++++++++++++++++++++++++++++++++++++++++++++ lib/net.c | 15 ++++++++ lib/net.h | 44 ++++++++++++++++++++++- nest/a-path.c | 70 +++++++++++++++++++++++++++++++++++++ nest/attrs.h | 2 ++ nest/config.Y | 10 ++++-- nest/route.h | 10 ++++++ nest/rt-fib.c | 2 ++ nest/rt-table.c | 72 ++++++++++++++++++++++++++++++++++++++ proto/bgp/bgp.h | 5 +++ proto/bgp/config.Y | 6 ++-- 16 files changed, 392 insertions(+), 9 deletions(-) diff --git a/bird-gdb.py b/bird-gdb.py index 3cf65a9cc..adfa58954 100644 --- a/bird-gdb.py +++ b/bird-gdb.py @@ -31,6 +31,8 @@ class BIRDFValPrinter(BIRDPrinter): "T_ENUM_NETTYPE": "i", "T_ENUM_RA_PREFERENCE": "i", "T_ENUM_AF": "i", + "T_ENUM_ASPA": "i", + "T_ENUM_BGP_DIR": "i", "T_IP": "ip", "T_NET": "net", "T_STRING": "s", diff --git a/conf/confbase.Y b/conf/confbase.Y index 751589276..a0200abb1 100644 --- a/conf/confbase.Y +++ b/conf/confbase.Y @@ -107,7 +107,7 @@ CF_DECLS %type