[j-nsp] router reflector clients and non-clients

Sander Steffann sander at steffann.nl
Wed May 30 05:56:57 EDT 2018


Hi Adam,

> Op 30 mei 2018, om 10:56 heeft adamv0025 at netconsultings.com het volgende geschreven:
> 
>> Of Sander Steffann
>> Sent: Wednesday, May 30, 2018 9:36 AM
>> 
>> Hi,
>> 
>>> But in this scenario, a client will send an update both to RR1 and
>>> RR2, and RR1 will reflect this update to RR2, and RR2 will reflect it
>>> to RR1, and voila! We have a routing loop.
>> 
>> The moment it loops back to an RR that it has already been through it will
> see
>> its own cluster-id in the list and ignore it. So RR1 and RR2 learn from
> each
>> other, but the update won't loop.
>> 
> The example suggested RR1 and RR2 with different Cluster-IDs -so it would
> loop*

It won't, because at that time both CLUSTER_IDs are in CLUSTER_LIST, which will stop it from looping between RR1 and RR2. 

> *it will loop only in absence of PE1 route sent directly to RR2 -in which
> case RR2 will be comparing PE1's route received via RR1 and route received
> directly from PE1, the direct route will be selected based on the shorter
> cluster-list and as such will not be looped/advertised back to PE1 based on
> the split horizon rule.   

Sorry, I don't follow that example.

If PE1 talks to RR1 and RR2 then both will keep the directly received route because its CLUSTER_LIST length will be 0, compared to 1 when received from the other RR.

If PE1 only talks to RR1 then RR2 will only receive the routes from RR1, which will be the best path. RR2 receives it with the CLUSTER_LIST containing RR1's ID, and will advertise it with both RR1's and its own ID. If that route comes back to RR1 it will ignore it because its CLUSTER_ID is already in CLUSTER_LIST.

What am I missing?

Cheers,
Sander



More information about the juniper-nsp mailing list