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 <mihaigabr...@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@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@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@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@puck.nether.net > https://puck.nether.net/mailman/listinfo/juniper-nsp _______________________________________________ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp