Hi Stavros! On 08/19/2015 04:00 PM, Stavros Konstantaras wrote:
Hi Thomas and others, thanks for your quick replies.
To make things more clear, our project at NLnet Labs is the development of "a modern IRRtoolset" written in Python and targeting any operator, not just another homemade tool for our own needs. Or to say in more detail the creation of a tool that is able to configure BGP routers directly+automatically by extracting the policies from RIPE DB. This means that I am struggling to avoid the (re)use of any past or legacy software that exists, otherwise we loose independency and inherit restrictions from the past.
I think that there is a legitimate question whether it make sense to re-create IRRToolSet in Python? (I tried something alike in Perl few years ago - http://sourceforge.net/projects/bgflib/ and the project is abandoned now... For multiple reasons. ) Remember Nick's presentation at RIPE61 about RPSL meaningfulness/meaninglessness? - http://ripe61.ripe.net/presentations/231-228-inex-ripe-rome-routingwg-whithe... This summer I tried to conduct an analysis of data in RIPE DB and match the routing policies to actual BGP routes in DFZ. The aim was to check per-hop routing policies in ASes that are/should be covered by aut-num objects in RIPE DB. I am going to publish preliminary results in a few days. But I think that from what I have seen so far it is obvious that the divergence among RPSL routing policies and BGP paths in DFZ is a serious issue even here in Europe. And we are supposed to have our routing policy records in better shape than the rest of the world, right? :-)
Currently, I do have a working proof of concept with a simple RPSL parser written in Python which is able to parse simple policies with (v6)import(s)-(v6)export(s)-accept-announce-action-pref-med-coomunity attributes. Convenient I would say for many existing policies like KPN’s, RIPE’s etc. but definitely it will crash in complex policy files like GRNET’s. My current solution uses also BGPq3 to translate AS, AS-SET and ROUTE-SET and this is also something that I want to ged rid of. So I was looking for the existence of a Python Library which can do a complete job and translate any existing policy in an intermediate data structure like XML (this is what I do now). I was hoping to find one, adopt it and present our (completed) work in the next RIPE meeting (yes I know I am very ambitious, I need to slow down).
* Masimo, I already checked rpsltool and discarded it. But thanks for your super-fast reply.
* Tomas, thanks for pointing me to your library. I will have a look at it and check if it is convenient for our project.
I don't think it is. The https://github.com/tmshlvck/bgpcrunch is just an analysis tool, not a serious RPSL parser. But I am willing to collaborate on a new library if you really mean it. But still I think that we should try to open the discussion about RPSL future that actually didn't happen after Nick's presentation (or I am not aware of it). Cheers, Tomas