On Monday 11 October 2004 09:38, Joao Damas wrote:
On 9 Oct, 2004, at 23:14, Daniel Roesen wrote:
On Sat, Oct 09, 2004 at 10:54:05PM +0200, Iljitsch van Beijnum wrote:
I've never seen anyone actually using RtConfig output for anything else then destilling prefix/aspath lists from them in order to use those in own generator tools. Given my own very basic and short playing with RtConfig, I can somewhat understand why.
It would make countless lives much easier if it were possible to submit a query to the db that gives back the desired output rather than having to use these very complex tools.
Agreed, IRRd actually offers that.
Hmm, that's interesting. Last time I checked the RIPE server provided the same features (except for route-set expansion, mainly due to the fact that when rpsl was defined it was not entirely clear how the expansion was to be performed). To the best of my recollection no one has ever manifested interest in having the RIPE server do that.
Joao
Just to clarify -- IRRd supports a "!i" command to expand route-sets and as-sets. Performing the expansions internally is somewhat of a complex operation and can potentially hit the CPU pretty hard (the RIPE db has a few very large route-sets). Up until a couple years ago, IRRd did not fully handle set expansions. Namely, the expansion code only supported up to two levels of nesting of set names, and did not resolve AS numbers present in route-sets into prefixes. There is also a "!g" command in IRRd which is the functional equivalent of an "-i origin" inverse query in the RIPE server. The main difference being that the "!g" output is in a more compact list of prefixes format. The RIPE server produces fairly compact output when combined with the "-K" flag and it should be pretty trivial to refine the output down to IRRd "!g" style list with a few lines of perl. Merit has not updated the "!g" and "!i" commands in IRRd to support IPv6 prefixes. Doing so would break existing tools. An option would be to add something like a "!6" switch command to let the server know you can handle IPv6 prefixes. We have added support for RIPE server style "-i origin" and "-i member-of" queries which should allow client-side expansions with RPSLng support without breaking existing tools (hopefully!). We could add a !6 switch at a later point if there is sufficient demand. I've been considering enhancing Todd Caine's IRR.pm perl module with support for RIPE style queries and RPSLng. If someone wants to beat me to it, Todd's code can be found here -- http://search.cpan.org/~tcaine/Net-IRR/lib/Net/IRR.pm -Larry Blunk Merit