I'm quite lost and need some good advices about my network topology.
Please have a look at a picture in the attachment.
We have 4 routers physicaly connected in a ring, three of them have a eBGP session with a upsteam ISP.
Two RC-RR's are route-reflectors and all other routers have BGP sessions with them using Loopbacks IP as source.
Because of speed and price the connection RC-E001 <--> RC-RR1 is a backup and OSPF and BGP metric are set accordingly.
The internal routing are working as expected. All routers are MPLS "P" routers, but only Loopbacks IP are label-switched, it means that only traffic to a Loopback follow label-path, other traffic should use normal routing table.
The problem is followin: Traffic to the Internet from the router RC-E001 follows the path RC-E002 ---> RC-RR2 ---> RC-RR1,
but it should just go to the router RC-E002 and then directly to the Internet. All external prefixes on RC-E001 have RC-RR1 as a next-hop (higher local-preference)
Traceroute on RC-E001 shows following:
1 RC-E002 [MPLS: Label 202 Exp 0] 16 msec 20 msec 60 msec
2 RC-RR2 [MPLS: Label 79 Exp 0] 20 msec 16 msec 20 msec
3 RC-RR1 [AS UPSTREAM] 20 msec 16 msec 20 msec
4 UPSTREAM [AS UPSTREAM] 20 msec 16 msec 20 msec
I understand that RC-E001 tries to reach the BGP next-hop via MPLS label-path, bacause all Loopbacks should use MPLS Label path-switching, but I don't want that the traffic goes in such sub-optimal way.
What have I configured wrong and what should I do to force the traffic from RC-E001 goes out direct from RC-E002?