[j-nsp] next-hop self and RR

Stacy W. Smith stacy at acm.org
Thu Nov 8 11:19:24 EST 2012


Yes, it's a violation of RFC 1966, but RFC 1966 is obsoleted by RFC 4456.

RFC 4456 now includes the wording:

"In addition, when a RR reflects a route, it SHOULD NOT modify the
   following path attributes: NEXT_HOP, AS_PATH, LOCAL_PREF, and MED.
   Their modification could potentially result in routing loops."

The "must not" is now a "SHOULD NOT".

This is one of those areas where JunOS gives you plenty of rope to hang yourself.

You probably want to modify your nh-self policy to only match EBGP learned routes.

I can't remember off the top of my head if you do that with "from external" or "from route-type external".

--Stacy

On Nov 8, 2012, at 8:45 AM, Mihai Gabriel <mihaigabriel at gmail.com> wrote:
> Hello,
> 
> Is Juniper's implementation of next-hop self on a RR a violation of
> RFC1966?
> 
> " In some implementations, modification of the BGP path attribute,
>   NEXT_HOP is possible. For example, there could be a need for a RR to
>   modify NEXT_HOP for EBGP learned routes sent to its internal peers.
>   However, it must not be possible for an RR to set on reflected IBGP
>   routes as this breaks the basic principle of Route Reflection and
>   will result in potential black holeing of traffic."
> 
> Testing this feature in a topology with 3 routers, r1 (client) - r3 (rr) -
> r2 (client) , a route originated from r1 and advertised to r2 via  it's RR
> will have a next-hop of RR when an export policy is applied to r2:
> 
> mihai at mx5t# run show route receive-protocol bgp 10.0.6.1 logical-system r3
> 192.168.10.0
> 
> inet.0: 32 destinations, 33 routes (32 active, 0 holddown, 0 hidden)
>  Prefix  Nexthop       MED     Lclpref    AS path
> * 192.168.10.0/24         10.0.6.1                     100        I
> 
> mihai at mx5t# show protocols bgp group 65000 neighbor 10.0.6.2
> export nh-self;
> 
> show policy-options policy-statement nh-self
> from {
>    protocol bgp;
>    neighbor 10.0.6.1;
> }
> then {
>    next-hop self;
> }
> 
> mihai at mx5t# run show route advertising-protocol bgp 10.0.6.2 logical-system
> r3 match-prefix 192.168.10.0
> 
> inet.0: 32 destinations, 33 routes (32 active, 0 holddown, 0 hidden)
>  Prefix  Nexthop       MED     Lclpref    AS path
> * 192.168.10.0/24         Self                         100        I
> _______________________________________________
> juniper-nsp mailing list juniper-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp




More information about the juniper-nsp mailing list