I have a question and I think I know the answer although I have been told I am wrong. I don't mind being told I am wrong but can someone help me out with my thought process?
I have this kind of network:
Code:
[Internal subnets] - BGP router - upstream L3 device - Telco BGP router - MPLS cloud | [remote subnets] (the remote site has a mirror of this config too)
The BGP peering using ebgp multi hop. The TCP BGP session advertises the remote subnets to our BGP router with a next hop of the Telco router. However how will routing work here from our perspective and the perspective of the intermediary L3 device?
The BGP session is brought up with a static route and ebgp multihop to allow the not directly connected session to open.
It is my understanding that for routing to work correctly, I need to change the advertised next hop address (to us) of that of the upstream L3 device. So our BGP router will see routes as (remote subnet/24) next hop upstream L3 device, rather than the Telco BGP router. My reason for this is that if you have a next hop of the BGP router, how will our route know how to route the packet? It would need to do a second route table lookup... The packet would be formulated with a next hop IP of the remote subnet (it has to be right?) but the next hop MAC would be the upstream L3 device... I can't see it any other way. (please help me see?)
Therefore, the upstream L3 device NEEDS to know how to reach the remote subnet. If it does not, it should drop the packet. If it has a default route upstream, then return traffic would be looped back upstream.