Ripe 181
Cengiz Alaettinoglu
Tue Oct 11 01:31:37 CET 1994
Tony Bates (Tony.Bates at ripe.net) on October 7: > Cengiz, > they were and I know we have a small outstanding issue on the > interas-in. Can you for my purposes detail the issues for > me one last time and lets see if we can get to the bottom of this. Here it is: Ripe 181 on as-in: from <aut-num> <cost> accept <routing policy expression> <cost> is a positive integer used to express a relative cost of routes learned. The lower the cost the more pre- ferred the route. Ripe 181 on interas-in: <preference> is defined as follows: (<pref-type>=<value>) <value> can take one of the following values: <cost> <cost> is a positive integer used to express a rela- tive cost of routes learned. The lower the cost the more preferred the route. This <cost> value is only comparable to other interas-in attributes, not to as-in attributes. MED ... Any route specified in interas-in and not specified in as-in is assumed not accepted between the ASes concerned. Diagnostic tools should flag this incon- sistency as an error. It should be noted that if an interas-in policy is specified then it is mandatory to specify the corresponding global policy in the as-in line. Please note THERE IS NO RELEVANCE IN THE COST ASSOCIATED WITH AS-IN AND THE PREFERENCES USED IN INTERAS-IN. There are couple of issues which needs clarification. I will point out through examples. 1) Example topology: AS1 is connected to AS2 through L1 R1, L1 R2. AS1 is connected to AS3 through L1 R3. aut-num: AS1 as-in: from AS2 10 accept AS100 OR AS200 as-in: from AS3 11 accept AS100 OR AS200 consider L1's configuration file (gated's import proto bgp ...) preference for routes of AS100 learned from R1 is 10. preference for routes of AS100 learned from R2 is 10. preference for routes of AS100 learned from R3 is 11. preference for routes of AS200 learned from R1 is 10. preference for routes of AS200 learned from R2 is 10. preference for routes of AS200 learned from R3 is 11. I hope we agree on this. (Some one may suggest to apply a function f to all of these values, which is OK as long as it does not change the ordering.) 2) Example topology: AS1 is connected to AS2 through L1 R1, L1 R2. AS1 is connected to AS3 through L1 R3. aut-num: AS1 as-in: from AS2 10 accept AS100 OR AS200 as-in: from AS3 11 accept AS100 OR AS200 interas-in: from AS2 L1 R1 (pref=100) AS100 consider L1's configuration file (gated's import proto bgp ...) preference for routes of AS100 learned from R1 is 100. preference for routes of AS100 learned from R2: not valid. preference for routes of AS100 learned from R3 is 11. preference for routes of AS200 learned from R1 is XXX. preference for routes of AS200 learned from R2 is XXX. preference for routes of AS200 learned from R3 is 11. The routes with XXX are the excess routes, i.e. specified in as-in but missed in interas-in. The value of XXX is not specified in Ripe181. Literally speaking this means a random value. In one of your examples [Ref 1. below], you have used the value used in the other interas-in statement. Which makes: XXX = 100. Daniel [Ref 2.] suggests it should be greater than any value mentioned in an interas-in statement. Which makes: XXX >= 101. I think there is no need XXX to be relative to the other interas-in cost values. This is because the set of interas-in (AS100) routes and set of excess routes (AS200) are disjoint. There is no need the preference of these routes be comparable. On the other hand, we need to compare the preference of AS200 routes received from AS1 and received from AS2. According to the as-in, we prefer it from AS1. Hence: XXX < 11, XXX = 10 (as-in value). 3. Example topology: AS1 is connected to AS2 through L1 R1. AS1 is connected to AS3 through L1 R3. aut-num: AS1 as-in: from AS2 10 accept AS100 OR AS200 as-in: from AS3 11 accept AS100 OR AS200 interas-in: from AS2 L1 R1 (pref=101) AS100 interas-in: from AS3 L1 R3 (pref=100) AS100 consider L1's configuration file (gated's import proto bgp ...) preference for routes of AS100 learned from R1 is 101. preference for routes of AS100 learned from R3 is 100. preference for routes of AS200 learned from R1 is XXX. preference for routes of AS200 learned from R3 is YYY. Again document does not tell us about XXX and YYY for excess routes (AS200). I think XXX= 10 and YYY= 11. Also note that in this example local preferences contradict the global preferences. In this case, local preference wins? Even though this is probably what is implied, it is not explicit in the document. All that the document says you can not compare as-in cost 10 with interas-in cost 100. Anyway, it is not important which way we go (XXX=100/101/10) as administrator who specify XXX should be VERY VERY CAREFUL with interas-in anyway. But we should agree on it so that it is consistent. Cengiz -- Cengiz Alaettinoglu Information Sciences Institute cengiz at isi.edu University of Southern California References are not important, I am including them anyway: [Ref 1.] Tony Bates (Tony.Bates at ripe.net) on October 4: > aut-num: AS1 > as-in: from AS2 10 accept AS100 OR {10.0.0.0/8} > > Suppose there are three peerings between AS1 and AS2, known as L1- > R1, L2-R2 and L3-R3 respectively. The actual policy of these connec- > tions is to accept AS100 equally on these three links and just route > 10.0.0.0/8 on L3-R3. The simple way to mention this exception is to > just specify an interas policy for L3-R3: > > interas-in: from AS2 L3 R3 (pref=100) accept {10.0.0.0/8} > > > The implicit rule that all routes not mentioned in interas policies > are accepted on all links with equal preference ensures the desired > result. > > The same policy can be written explicitly as: > > interas-in: from AS2 L1 R1 (pref=100) accept AS100 > interas-in: from AS2 L2 R2 (pref=100) accept AS100 > interas-in: from AS2 L3 R3 (pref=100) accept AS100 OR {10.0.0.0/8} [Ref 2.] Daniel Karrenberg (Daniel.Karrenberg at ripe.net) on October 4: > According to the wording it implies: > > interas-in: from AS100 L1 R1 (pref=some) accept AS100 > interas-in: from AS100 L2 R2 (pref=some) accept AS100 > > Where "some" is not explicitly defined by the text but implicitly > greater than all preferences mentioned in interas-in attributes. -------- Logged at Tue Oct 11 04:26:19 MET 1994 ---------
[ rr-impl Archive ]