I have a pair of 3725 Routers which are serving as the Edge gateways into my network. They are connected to each other via Ethernet interfaces. Both are running BGP and each is doing EBGP peering with separate AS'as well as IBGP with each other. I am using HSRP for last hop redundancy. HSRP is configured with a virtual address on the Ethernet and doing link tracking to monitor the state of the WAN interfaces on each of the routers. If a WAN link fails on either router, then HSRP switches active routers, and BGP installs correct routes which takes care of outbound traffic. This works as expected. Also I am doing AS Path pre-pending on one router to draw most of my Internet traffic to a particular router. The problem with this is that if the Ethernet link on the preferred router drops, traffic still comes in via the preferred link because BGP is still announcing routes to the net, but it dies at the Ethernet interface of the router. HSRP handles the gateway piece on outbound traffic, but since traffic from the web destined to my netblock is still getting drawn to the preferred router, traffic stops at the Ethernet interface coming inbound. Appears as though our link to the Web is down. What I was wondering is if there is a way to drop BGP session on the router with broken Ethernet link the in the event of such a failure. IBGP sees the failure and installs correct routes for outbound traffic on the backup router, HSRP handles lasthop gateway for internal outbound traffic. Its just the incoming traffic that is the issue. We have multiple switches which these routers connect to to protect us from a switch failure, but it seems that it will not matter because of this issue. As far as I can find there does not seem to be a mechanism to handle this with BGP. I could be wrong but it seems that I need a way to down the BGP session for a particular router if the Ethernet link on that router fails. Is there another way to do this? Thanks in advance.
Having an additional point-to-point ethernet connection between the two routers would solve the issue. This is what we usually recommend.
Hope this helps,