Looking for some advice from the experts: I have a PE with a vrf-instance which has an iBGP peer (CE); I have several routes within my <vrf-name.inet.0> route-table received from remote PE's which participate in the same VPN (i.e via the vpn-route-reflectors) - each route in the <vrf-name.inet.0> route-table has a different protocol (BGP) next-hop (the loopback IP of each PE announcing the route) ... when I announce these MP-iBGP-learnt routes to the CE via iBGP the vrf-instance is changing the next-hop IP of the routes to the local-address of the iBGP peering session (the vrf-instance's iBGP interface IP address - and shows as "next-hop self' in the route announcements to the iBGP neighbor address) .... however: I would like the original next-hop address of the routes as they exist in the <vrf-name.inet.0> route-table to be kept and NOT changed when being announced to the iBGP peer!
Given that these are MP-iBGP-learnt routes being announced to an iBGP peer I would've thought that the next-hop wouldn't be changed ... (i.e. the vrf-instance is acting like a route-reflector/route server)
Does anyone know of a way in which I can achieve this?
(P.S. I've tried configuring the iBGP neighbor within a cluster in the vrf-instance to make it like a route-reflector which should send a route from a non-client to a client ... but it makes no difference - ther vrf-instance still sends the routes to the iBGP peer with next-hop changed ... but I suspect that this is because the PE's MP-iBGP group is configured at the 'global' level whereas the iBGP peering to the CE is configured under a vrf-instance and the normal rules of route-reflection don't apply ...?)