Thus spake Rob Evans (Rob.Evans@jisc.ac.uk) on Thu, Mar 28, 2024 at 01:47:12PM +0000:
Hi,
I was thinking about automating the building of filters. Describing the objects in a notes field or an aut-num object I assume would need a human to interpret.
I might have the wrong end of the stick here, but a human wouldn´t need to interpret an aut-num object as the policy would be expressed in RPSL.
E.g.
aut-num: AS786 as-name: JANET ... import: from AS20965 action pref=50; accept AS-GEANTNRN export: to AS20965 announce AS-JANETEURO
The above is very basic RPSL of course, it can get a lot more complicated...
I think I missed this whole email thread when I was out for spring break. As folks have noticed here, notably PeeringDB only allows one IRR object to be specified. This also allows the majority of the Internet to ignore the chore of parsing any RPSL.
In RPSL as some have suggested, it is technically possible to document and programatically use specific AS-SETs in export/mp-export statements. However to my understanding there is exactly one implementation of this part of RPSL, and it has been abandoned long ago (irrtoolset). Even if it were maintained, rtconfig is still rather impractical to use, but at least the C code exists if someone wanted to pick that up and part out the "@rtconfig import <ASN-1> <rtr-1> <ASN-2> <rtr-2>" command to feed into something like bgpq4.
Or, If we were to agree on a tightly specified subset of RPSL, this parsing could be made substantially easier and implementable via a basic regex match. This might strongly be worth considering. Consider the above example, if we only allow the syntax "to AS65535 announce AS-FOO" this becomes pretty trivial.
Lastly as to where to put this data, starting in the EU there is a looming timeframe that non-authoritative IRR databases will all be deprecated. All objects will need to be in the appropriate RIR's system or they will be ignored. (of course, all of ESnet's objects are in RADb today, as we maintain proxy objects for all downstream networks) This is a looming problem, but it is separable from the above.
Dale