I've attached a diagram for a new project that I'm going to be setting up. I've labbed this up in GNS and it works fine one way, but doesn't work so well in reverse.
What I need is when the DS3 goes down, the traffic still goes through the main router to the DR router for 5 minutes. After the 5 minutes is up, HSRP will switch states to the Backup router. The problem comes in where the Main router's interface that the DR router is peering doesn't go down, and I've got local-pref set up on the DR router to prefer that router (main) for all internal routes.
What I did originally is created an EEM script that would shut down the interface on the Main router that peers with the DR when it sees the HSRP state change. After configuring fall-over on the DR router for that peer, this works fairly fast. The problem is when I open the interface back up. I start to lose traffic for a few seconds while the DR is repeering with the Main router. Is there a way to make this seamless with BGP, or is this as good as it's going to get?
I've also tried this with the main and backup routers in different ASs.
compliments for your creativity I have to put my hands on this EEM to stay tuned ...
instead of shutting down the interface you could think of using BGP conditional advertising if it fits your needs: with BGP conditional advertisements you can start to advertise when some specific BGP routes disappear from BGP table and this allows for some flexibility.
The difference is that the BGP session is always active, but advertisements are not done always.
This could save the time to setup the BGP session (it is already up)
However, it should be tested the convergence time to see if it provides better performance or not
Hope to help