Subject: Re: [Idr] Re: weights in BGP

From: "john smith" <[email-masked]>
Date: Thu, 16 Sep 2004 06:06:48 +0000

Nader,

Am aware it is a cisco feature, and am aware others have such "equivalent" 
features too

All I am asking is this:

Assume we have the topology as shown below

AS1-----AS2---------
\         /             |
\       /              |
   AS3                |
     |                  |
    AS4--------------

AS1 makes a route map to prefer via weights  anything from AS2, including 
those that AS2 is transiting (which means prefixes from AS4 and AS3 etc)
AS3 makes a route map to prefer via weights  anything from AS1 including 
those that AS1 is transiting.
AS2 weights  anything from AS3..so on.

As far as I understand, weights are not propogated,(which you have confirmed 
is correct), but I do know that only those routes from BGP which enter the 
forwarding plane can be sent to peers. Is that not correct to?

So if AS 4 withdraws a prefix, can you please tell me the converged state of 
this topology?
I would very much appreciate it if you could take some time to write out the 
states and convince me.

I fail to understand which router detects the loop in what case, as 
mentioned by you below.

I would also like to know how "weight" is actually used on the internet.

-JS

>From: Nader Salehi <[email-masked]>
>To: "john smith" <[email-masked]>
>CC: [email-masked]
>Subject: Re: [Idr] Re: weights in BGP
>Date: Wed, 15 Sep 2004 09:34:15 -0700
>
>John,
>
>Weight is a Cisco-defined attribute and is local to the router.  It is
>not part of the spec.  and Only Cisco routers support this feature.
>For more info, look at
>http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/bgp.htm#1020576.
>
>In your example, convergence will occur.  You are trying to create a
>loop among AS1, AS2, and AS3.  The router which originates a route
>eventually detects the loop condition by finding its own AS in the AS
>PATH attribute of an incoming UPDATE message, and drops the UPDATE.
>
>Nader
>
>
>
>
>
>john smith writes:
> > to clarify a bit:
> >
> > AS1 makes a route map to prefer via weights  anything from AS2
> > AS3 makes a route map to prefer via weights  anything from AS1
> > AS2 weights  anything from AS3
> >
> > AS4 comes up now/flaps up after a reboot.
> >
> > Will this converge?
> > -JS
> >
> > _________________________________________________________________
> > Add photos to your messages with MSN 8. Get 2 months FREE*.
> > http://join.msn.com/?page=features/featuredemail
> >
> >
> > _______________________________________________
> > Idr mailing list
> > [email-masked]
> > https://www1.ietf.org/mailman/listinfo/idr
>

_________________________________________________________________
STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 
http://join.msn.com/?page=features/junkmail

_______________________________________________
Idr mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/idr

---

From: "Manav Bhatia" <[email-masked]>
Date: Thu, 16 Sep 2004 12:24:24 +0530

Hi John,

]AS1-----AS2---------
]\         /             |
]\       /              |
]   AS3                |
]     |                  |
]    AS4--------------
]

[clipped]

]
]As far as I understand, weights are not propogated,(which you 
]have confirmed is correct), but I do know that only those 
]routes from BGP which enter the forwarding plane can be sent 
]to peers. Is that not correct to?

Yes.

This kind of topology will eventually converge. Assume AS4 advertises a
prefix X to AS3.

AS3 has with it one route to X, with AS_PATH AS4.

It advertises this to AS1 and AS2

AS2 will receive two UPDATEs, one from AS3 and the other from AS1 and will
thus have the following AS_PATHs.

AS_PATH1: AS3 AS4
AS_PATH2: AS1 AS3 AS4

Because of the weight configured on AS2, it will select the route from AS3.
The best selected route is thus AS_PATH1 and it advertises this to AS1

AS1 now has two routes, one which it received from AS2 and the other from
AS3.
AS_PATH1: AS2 AS3 AS4
AS_PATH2: AS3 AS4

Because of the weight, it will select the one from AS2.

It will send an implicit withdraw to AS2, replacing "AS1 AS3 AS4" with "AS1
AS2 AS3 AS4". AS2 upon receiving this UPDATE will find its own AS, and will
ignore this.

AS1 also advertises it best route to AS3.

Thus AS3 now has the following routes.

AS_PATH1: AS1 AS2 AS3 AS4
AS_PATH2: AS4

It will ignore the first UPDATE because it will find its own AS number in
the AS_PATH and will select the path it learnt from AS4. Note that it
overrides your weight configuration. But then, weight only works when you
have two feasible candidate routes, and in this case there is only one
feasible route. The other is not considered because of the AS loop.

The network will thus converge!

]I fail to understand which router detects the loop in what 
]case, as mentioned by you below.

Hope this helps!

Regards,
Manav