Concerning the structure of ASPA tables and AS0
Ralph Covelli
rcovelli at he.net
Fri Dec 27 03:53:05 CET 2024
Hello Maria!
Thank you for taking the time to read my email.
Yes, "I have no providers" is a much more accurate description of AS 0.
It can be used by tier 1 networks as well as people trying to depreciate
their old ASN. It looks like the source of my confusion was that I was
under the assumption that the transit ASPA entries could be used to
auto-detect upstream vs downstream as opposed to doing the check in the
filter script. Sorry about that!
Thank you for fixing the problem with the static ASPA changes!!
I noticed in aspa_check() you check for confeds but AS_PATH_SET is never
checked for.
The specs say they should return ASPA_INVALID however I noticed when I
did that I lost about 64 routes which caused some customer complaints.
I had to end up slightly changing the code to return ASPA_INVALID if
upstream and ASPA_UNKNOWN if downstream.
Thank you!
Ralph
On 12/26/2024 6:04 AM, Maria Matejka via Bird-users wrote:
>
> Hello Ralph,
>
> Issue #1) There is no way to tell the difference between a
> transit entry and an “AS0” entry.
>
> There is no difference between a transit entry and an AS0 entry. The
> |transit| keyword is just a syntactic shortcut for |provider 0|.
>
> The treatment of AS0 providers is mentioned in section 5 of
> draft-ietf-sidrops-aspa-verification-19. It is a mechanism for
> people to announce that “no one should announce this AS”. I’ve
> attached a snapshot of the global ASPA table as
> “bird-aspa-v2.16.conf”. There is one AS0 announcement as of today.
>
> No, it isn’t. It’s a mechanism to say “I have no providers”, as
> written in section 5 of the draft:
>
> Registering as AS0 ASPA is a statement by the registering AS that
> it has no transit providers (…)
>
> This effectively means that in a valid AS Path, there may be:
>
> * no AS with AS0 ASPA
> * a single AS with AS0 ASPA
> * two adjacent AS’s with AS0 ASPA
>
> I fell probably exactly into the same trap when reading the drafts
> first time, and the draft authors had to explain the principles to me
> several times in person for me to get it right. I tried to fix that by
> suggesting a different wording, please check this (long) message in
> sidrops:
>
> https://mailarchive.ietf.org/arch/msg/sidrops/LE_nPFL6XFnIKE-25O9WIfZ-YFI/
>
> Issue #2) Changes in static ASPA tables are not reflected until
> entries are removed and re-added.
>
> Thanks, fixed:
> https://gitlab.nic.cz/labs/bird/-/commit/1e685bbc2a7411c09b6c80404c49a410d6c47a2a
>
> This problem does not occur when the ASPA elements are
> customer-provider pairs. I believe this is an overall design
> issue, not a simple bug. I will be bringing this issue up with
> ietf-sidrops.
>
> There were massive data consistency problems in BIRD 3 when the ASPA
> elements were customer-provider pairs, and we won’t go back there.
>
> Also, both the configuration and the in-table storage is more
> memory-greedy with the pairs storage.
>
> Have a nice end-of-the-year! Maria
>
> –
> Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20241226/4e21b1bc/attachment.htm>
More information about the Bird-users
mailing list