I attached a simple diagram of four routers, rtr1 in each city are physically cabled between each other on port 2/1 and rtr2 are the same on thier 2/1 port. the local routers 1 and 2 are physically cabled between each other on port 1/19. They are configured with ibgp sessions using thier loopbacks and they are running OSPF for thier physically and loopback addresses. connectivity is great, and the BGP sesions came up. Rtr1 and RTR2 in each seperate city have a bgp multihop session for thier ibgp and they are not physically connected.
My issue stems from the same provider having ebgp sessions in two different cities. One with rtr1 and the other city with rtr2. The routes learned are the same.
In City A, rtr1 sends packets out to provider A which is good. Rtr2 in City A sends packets to rtr1 and out to provider A which is what we want. The issue is with City B. Rtr 2 in City B sends packets to provider A via its BGP session locally. That is expected. Rtr1 in City B is sending traffic to rtr1 in City A and not locally to rtr2 for those routes. We do not want that to go to city A. We want the traffic to stay local and get sent to rtr2 and out to provider A. This way traffic does not have to travel the WAN.
We have simple BGP up, so peer statement, AS statement and update source is loopbacks. That is all for the ibgp session.
If anyone can help with geting the bgp sessions configured so we are sending packets to the locally shortest patch versus over the WAN I would appreciate it.