On Mon, Jan 09, 2023 at 01:59:50PM +0100, Claudio Jeker wrote: > So here is the validaton logic for ASPA. Now this is currently not > hooked up to anything apart from a larger regress test. > What is missing is code to send the ASPA table to the RDE and the reload > logic for ASPA. > > Most of the ASPA validation happens in rde_aspa.c. > aspa_cp_lookup() checks if a customer - provider relation exists > aspa_check_aspath() walks an AS_PATH and calls aspa_cp_lookup() for each > touple. If check_downramp is true then both the upramp (source-as up > towards the Internet) and downramp (from the Internet back to us) are > checked. > aspa_validation() uses aspa_check_aspath() to validate the path. I split > the code up between aspa_check_aspath() and aspa_validation() to make it > possible to unit test aspa_check_aspath(). > > The code does not implement all the special cases the draft talk about > mainly because these special cases are not required and need to be removed > from the draft. > > Diff includes both bgpd and regress test.
This looks like a correct implementation of the algorithm in Sriram's slides to me. I can't spot anything wrong. Since this isn't hooked up yet, I think it should go in with whatever tweaks you have in your tree. ok tb
