Dual link with ADVPN and BGP - asymmetrical routing
Good morning everyone!
We have an interesting routing problem. The scenario is a single hub location and several branches. Each location has an MPLS link and an internet link. The MPLS link is preferred and is running BGP to get all the location addresses. The internet link is running ADVPN with BGP and is used for failover. We will be running SDWAN at the branch to direct some traffic to the ADVPN, but that is a topic for another discussion.
We are using the weight BGP attribute to prefer the MPLS link. What we would like to have happen is that if the MPLS link fails for a single location, that location will use ADVPN to connect directly to other locations for traffic.
What is actually happening: Let's say I have a ping running from site 1 to site 2 (MPLS). If the MPLS link goes down, the ping will go from site 1 to the HUB via VPN, and from the HUB to site 2 via MPLS. The return traffic will actually use ADVPN and go directly from site 2 to site 1 via VPN. So for this to work I need to enable asymmetric routing.
This is happening because the HUB has two BGP routes to site 2 - MPLS and VPN - but it prefers the MPLS and forwards that to site 1. Is there any way to get it to send both routes to site 2?
One strategy I am considering is using OSPF for ADVPN instead of BGP, but I've never tried ADVPN with OSPF.
Anybody ever encounter something like this?
Thanks!
RK
