Actually, I'd like to even extend this further; it would be wonderful to have the "<aut-num>" of both the "as-in" and "as-out" attributes become an expression--called, say, "<as-list expression>"--more like the "<routing policy expression>" which appears later in these attributes. Whereas the <routing policy expression> evaluates to "a list of one or more ASes, AS Macros, Communities, Route Lists," the <as-list expression> would evaluate to one or more ASs, and would allow the Boolean operators which can be used in the <routing policy expression>. This is particularly usefule for customers of rps/RIPE-181 who wish to express their policy in the easiest manner--e.g., with NOT, one can specify the set one does _not_ want, as well as the set one wants, and there are a lot of cases where the use of NOT (ASxx ) would be very helpful. If the <aut-num> -> <as-list> transition makes sense, I think we should wrap the addition of the Boolean operators into this, as well, so that there is a nice, complete syntax for this element of the as-in/as-out attributes (or their equivalent), rather than a "half-baked" version. How does this sound? Steve R. ==
Date: Tue, 24 Oct 1995 16:11:59 -0400 From: "Steven J. Richardson" <sjr@merit.edu> Message-Id: <199510242011.QAA26472@home.merit.edu> To: rps@isi.edu Subject: Modification of RIPE-181's as-in/as-out attributes Cc: db-wg@ripe.net, sjr@home.merit.edu Status: RO
In the process of reviewing RIPE-181-represented policies, I've noticed an opportunity for what I think would be a useful modification of the as-in/as-out attributes of the aut-num object.
Currently, the syntax for these attributes is given as:
as-in: from <aut-num> <cost> accept <routing policy expression>
as-out: to <aut-num> announce <routing policy expression>
I see policies which would be usefully condensed via allowing the <aut-num> to be an AS *macro*, too.
E.g.:
aut-num: 99999 as-name: SOMEAS ... as-in: from AS10 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS20 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS30 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS40 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS50 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS60 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS70 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS110 150 accept ANY AND NOT {0.0.0.0/0} as-in: from AS120 150 accept ANY AND NOT {0.0.0.0/0} as-in: from AS130 150 accept ANY AND NOT {0.0.0.0/0} as-in: from AS140 150 accept ANY AND NOT {0.0.0.0/0} as-in: from AS150 150 accept ANY AND NOT {0.0.0.0/0} as-in: from AS160 150 accept ANY AND NOT {0.0.0.0/0} as-in: from AS170 150 accept ANY AND NOT {0.0.0.0/0}
could be equivalent to:
aut-num: 99999 ... as-in: from AS-SOMEAS-100-NO-DEFAULT 100 accept ANY AND NOT {0.0.0.0/0} as-in: from AS-SOMEAS-150-NO-DEFAULT 150 accept ANY AND NOT {0.0.0.0/0}
with the macro definitions:
as-macro: AS-SOMEAS-100-NO-DEFAULT descr: ASs which AS-99999 accepts at pref. 100 (any but descr: the default route) as-list: AS110 AS120 AS130 AS140 AS150 AS160 AS170 ...
as-macro: AS-SOMEAS-150-NO-DEFAULT descr: ASs which AS-99999 accepts at pref. 150 (any but descr: the default route) as-list: AS10 AS20 AS30 AS40 AS50 AS60 AS70 ...
(The same could be said of as-out lines.)
What do you think?
Steve Richardson/Merit