Hello Brandon,

On Thu, May 30, 2024 at 09:52:53PM +0800, Brandon Zhi wrote:

I am writing to inquire about the capabilities of the new version of BIRD regarding BGP Confederation internal ASNs. Specifically, I would like to know:

  1. Can the new BIRD version filter BGP Confederation internal ASNs?
  2. Does it support calculating the total AS path length, including internal ASNs within a BGP Confederation?

You are probably looking for something like bgp_path.filter() or bgp_path.len, or maybe for int p in bgp_path do { … }

Additionally, I have encountered an issue while using the is_bogon() function. It currently filters a route with the AS path (65000) 398741. I suspect this is because (65000) is being treated as a BOGON ASN.

Below is the define BOGON_ASNS I am using:

define BOGON_ASNS = [
    0,                      # RFC 7607
    23456,                  # RFC 4893 AS_TRANS
    64496..64511,           # RFC 5398 and documentation/example ASNs
    64512..65534,           # RFC 6996 Private ASNs
    65535,                  # RFC 7300 Last 16 bit ASN
    65536..65551,           # RFC 5398 and documentation/example ASNs
    65552..131071,          # RFC IANA reserved ASNs
    4200000000..4294967294, # RFC 6996 Private ASNs
    4294967295              # RFC 7300 Last 32 bit ASN
];

Yes, this includes 65500. I can’t see your is_bogon() function definition though so I can’t help you more.

Hoping that this helps.

Maria

– Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.