Cisco Support Community

How HSRP supports MPLS VPNs

Core Issue

Hot Standby Router Protocol (HSRP) provides redundancy for IP networks, ensuring that user traffic immediately and transparently recovers from first hop router failures. HSRP allows multiple routers on a single LAN to share a virtual IP and MAC address, which is configured as the default gateway on the hosts. From the group of routers configured in a HSRP group, the one with the highest priority functions as the active router and the one with the second highest priority functions as the standby router. The active router assumes the role of forwarding packets sent to the virtual IP address. If the active router fails, the standby takes over as the new active router. The active router responds to all Internet Control Message Protocol (ICMP) and Address Resolution Protocol (ARP) queries sent to the virtual IP address. 

Multiprotocol Label Switching (MPLS) VPN provides a method to implement VPNs in the form of a peer-to-peer model and provides the benefits of both overlay and peer-to-peer models. In MPLS VPN, the Provider Edge (PE) router is the one where most of the functionality is implemented and configured. Apart from the default global routing table, the PE routers maintain separate instances of routing tables, called Virtual Routing and Forwarding (VRF) tables, for each customer whose routing requirements are different. They provide isolation between them.


Before the introduction of the "HSRP Support for MPLS VPNs" feature, HSRP used to add the ARP entries and IP hash table entries to the default routing table instance, even if the interface was part of a VRF. This was causing ARP and ICMP echo requests for the HSRP virtual IP address to fail. With this feature, the entries are added to the IP routing table belonging to the VRF.

This feature enables the use of HSRP for providing PE router redundancy when connected over a LAN. The PE routers can be configured to track their connections to the rest of the network and have their HSRP priorities adjusted to assume the active or standby role, depending on whether they have a route to the destination.

For more information about this feature, refer to these documents: