Gilles, Wilfried, and all, This is not a bug, or even an inconsistency. Consider the following as-macro objects: as-macro: AS-X members: AS-Y, AS123 as-macro: AS-Y members: AS-X, AS456, AS789 In this case, AS-X and AS-Y both expand to the same aut-num objects: AS123, AS456, and AS789. However, they may have different maintainers, contacts, descriptions, and so on. In RPSL, many more kinds of loops are possible as well, in as-set, route-set, and filter-set objects. External software that deals with the set objects needs to do loop detection in order to prevent infinite loops. For as-set objects (which are as-macro objects in RIPE-181), this is fairly easy: keep a list or hash of the AS sets expanded, and don't expand them again. For route-set and filter-set objects it is not quite so easy. If you need help with these, you can send me and e-mail and I can explain the techniques that I've used for these objects. Shane Kerr <shane@ripe.net> Database Software Engineer RIPE NCC +31 20 535 4427 p.s. This is actually a feature, not an bug. :) p.p.s. It has been argued (by me) that RPSL allows objects that are logically impossible, but the RFC authors don't seem to think so! On Wed, 10 Jan 2001, Wilfried Woeber, UniVie/ACOnet wrote:
Hi Gilles,
I guess we wouldn't be able to check against those accidents at the time of a DB _update_...
But checking the RR internal _data_ consistency could maybe become part of the RIS (or similar) project?
Henk, any comments?
An interesting aside: I guess similar problems could occur with RPSL-based RRs?
-WW _________________________________:_____________________________________ Wilfried Woeber : e-mail: Woeber@CC.UniVie.ac.at UniVie Computer Center - ACOnet : Tel: +43 1 4277 - 140 33 Universitaetsstrasse 7 : Fax: +43 1 4277 - 9 140 A-1010 Vienna, Austria, Europe : RIPE-DB: WW144, PGP keyID 0xF0ACB369 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To: staff@ip.tele.dk, peering@tli.de, ip-oper@tli.de, admin-c@tli.de CC: farrache@cc.in2p3.fr, db-wg@ripe.net, routing-wg@ripe.net Subject: Loop in AS macro Date: Wed, 10 Jan 2001 10:28:15 +0100 From: Gilles Farrache <farrache@cc.in2p3.fr>
Dear database managers,
I notice a loop in the followings AS-MACRO, in fact AS-TELEDANMARKINTERNATIONAL is calling AS-TLI which is calling AS-TELEDK which is calling AS-TELEDANMARKINTERNATIONAL. (and all that make that our automatic filter generation tool fails)
Could you correct those macro and will the Ripe database management provide any control on that kind of loop ?
Gilles
as-macro: AS-TELEDANMARKINTERNATIONAL descr: Tele Danmark customers outside Denmark as-list: AS1902 AS12461 as-list: AS8881 AS-KOMTEL as-list: AS13194 AS-BITE as-list: AS6709 as-list: AS8650 AS-TLI as-list: AS8542 as-list: AS12294 AS-TSUA AS6807 AS8349 AS12788 AS12837 AS12872 AS13249 AS15386 AS15497 AS15929 AS16007 as-list: AS12546 as-list: AS15389 tech-c: AS5071-RIPE admin-c: AS5071-RIPE notify: staff@ip.tele.dk notify: peering@tli.de mnt-by: AS3292-MNT changed: jesper@skriver.dk 20001103 changed: toba@tdk.dk 20001117 changed: tee@tdk.dk 20001123 changed: jesper@skriver.dk 20001228 changed: jesper@skriver.dk 20010109 source: RIPE
as-macro: AS-TLI descr: Talkline GmbH, Internet Division descr: List of ASes according to Talkline Internet (AS8650) descr: and customers as-list: AS5605 as-list: AS6783 as-list: AS8650 as-list: AS8881 as-list: AS12461 as-list: AS12546 as-list: AS-TELEDK as-list: AS-GLOBAL tech-c: TLIP1-RIPE admin-c: TLIP1-RIPE notify: peering@tli.de mnt-by: TALKLINE-MNT changed: thomas@tli.de 19990923 changed: thomas@tli.de 19991020 changed: thomas@tli.de 19991025 changed: thomas@tli.de 20001023 changed: thomas@tli.de 20001025 source: RIPE
as-macro: AS-TELEDK descr: Tele Danmark and Tele Danmark customers as-list: AS-TELEDANMARKDANISH as-list: AS-TELEDANMARKINTERNATIONAL as-list: AS-BELBONEMEMBERS as-list: AS-GLOBAL tech-c: AS5071-RIPE admin-c: AS5071-RIPE notify: staff@ip.tele.dk notify: peering@tli.de mnt-by: AS3292-MNT changed: jesper@skriver.dk 19990922 changed: jesper@skriver.dk 19991019 changed: jesper@skriver.dk 19991025 changed: jesper@skriver.dk 19991210 changed: toba@tdk.dk 20000903 source: RIPE --------------------------------------------------------------------------------