> Not to be pedantic, but the BGP spec *does* say that the AS_PATH documents 
> the path of an UPDATE, and that each AS must add itself:

No, it says that's the normal mode of operation... There's no MUST in
here anyplace:

> This attribute identifies the autonomous systems through which routing 
> information carried in this UPDATE message has passed. 
> ...
>    When a BGP speaker propagates a route it learned from another BGP
>    speaker's UPDATE message, it modifies the route's AS_PATH attribute
>    based on the location of the BGP speaker to which the route will be
>    sent:
> ...
>          1) if the first path segment of the AS_PATH is of type
>             AS_SEQUENCE, the local system prepends its own AS number as
>             the last element of the sequence (put it in the leftmost
>             position with respect to the position of octets in the
>             protocol message).  
> "

Further, how do we then explain all the examples of the IDR WG, itself,
changing the AS Path (such as narrow to wide)?

> As I read this, in your example, B would not be conformant with the BGP spec 
> if it forwarded UPDATEs from C without appending it's own AS.  It would 
> probably be OK to *re-originate* the routes, but that creates a separate set 
> of problems.

So, one point of order might be --approach IDR with this specific
question. Is the AS Path in BGP intended to exactly represent --with no
changes allowed-- the path through which an update has passed? Or is the
primary purpose to prevent loops? Getting the answer to that question
might be helpful.

As a contributor to BGP, I would say it's only related to loopfreeness,
not to the path the update takes --it's not a route explorer, it's a
routing update.

:-)

Russ

> 
> --Richard
> 
> 
> 
> On Feb 21, 2011, at 4:18 PM, Russ White wrote:
> 
>>
>>> The AS_PATH has always been intended to represent the ASs that
>>> propagated the update.
>>>
>>> The AS_PATH can be used to detect loops ONLY because it does represent
>>> the ASs that propagated the update.
>>
>> Sorry --but I just gave 5 examples of where the AS Path is intentionally
>> modified without causing loops. The point is the loopfreeness, not the
>> path the update took.
>>
>> Let me ask this in a different way. Suppose you have the following:
>>
>> A---B
>> +-C-+
>>
>> Now, for whatever reason, and with C's full knowledge and consent, B
>> decides to advertise C's routes to A without putting itself in the AS
>> Path. Is this possible? Yes, it is --using current commercial
>> implementations of BGP. Is it wrong?
>>
>> Well, it doesn't cause a loop, does it? As for policy --isn't that up to
>> the contract between B and C? Why should BGP enforce the contract terms
>> B and C are able to write between themselves? And yes, this situation
>> does exist in the real world --I just happen to be helping a customer
>> set this up in a private environment.
>>
>> :-)
>>
>> Russ
>>
>> _______________________________________________
>> sidr mailing list
>> sidr@ietf.org
>> https://www.ietf.org/mailman/listinfo/sidr
> 


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
sidr mailing list
sidr@ietf.org
https://www.ietf.org/mailman/listinfo/sidr

Reply via email to