MPLS TE FRR RSVP Hello Support

All routers in the path of the LSP keep track of the state of the tunnel. When there is a failure somewhere in the LSP, depending on your interfaces and protocols, it can take up to two minutes before this is detected. This can be an issue.




Take a look at the following topology:

Mpls Te Tunnel Node Failure

We have a Traffic Engineering (TE) tunnel from PE1 to PE2. When something happens with P2, routers behind P2 should know about the failure immediately. If not, they will keep track of the state of the LSP even though the path is unavailable. P4 and PE2 might reserve bandwidth, preventing other tunnels from being built.

Three mechanisms cause a router to activate MPLS TE fast reroute and send traffic down a backup tunnel:

  • Interface-down notification
  • Loss of signal
  • RSVP hello neighbor down notification

Point-to-point links like PPP or HDLC use keepalives. When you don’t receive keepalives, the interface goes down, and the router triggers an interface-down notification.

An example of a loss of signal is when you cut the cable or do a shutdown on a remote interface. This is not very reliable, though. Here is an example:

Mpls Te Tunnel Node Failure Switch In Path

Above, we have a switch in between P1 and P2. When something happens with P2, SW1 will detect this, and the interface goes down. The connection from P1 to SW1 is fine, so there is no way for P1 to figure out that P2 is gone.

This is a scenario where the third mechanism can help.

RSVP hellos work similarly to hello messages that routing protocols like OSPF, IS-IS, or EIGRP use. It’s also similar to BFD.

An RSVP hello contains a hello message, and in it, we have a request or an acknowledgment.

We send hello request messages, and when we don’t receive acknowledgments, we declare the neighbor down. When this happens, it triggers a fast reroute (FRR) immediately and switches to a backup tunnel. This makes RSVP hellos a good companion for MPLS TE FRR node protection.

There are two types of hello instances:

  • Active: the router that actively sends hello messages to the neighbor.
  • Passive: the router responds to hello messages but does not send hello messages.

Configuration

Let’s look at RSVP hello’s in action. This is the topology:

Mpls Te Fast Reroute Node Protection Topology Backup

This is the topology and configuration we used in MPLS TE FRR node protection. We have a tunnel from PE1 to PE2 through P2. We’ll configure RSVP hellos between P1 and P2. We’ll simulate a node failure of P2 by blocking these RSVP hello messages, causing a fast reroute.

I use IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.9(3)M4

Configurations

Want to take a look for yourself? Here you will find the startup configuration of each device.

CE1

hostname CE1
!
ip cef
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
router isis
 net 49.0001.0001.0001.0001.0001.00
 is-type level-2-only
 metric-style wide
!
end

CE2

hostname CE2
!
ip cef
!
interface Loopback0
 ip address 8.8.8.8 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.78.8 255.255.255.0
 ip router isis 
!
router isis
 net 49.0001.0008.0008.0008.0008.00
 is-type level-2-only
 metric-style wide
!
end

P1

hostname P1
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface Tunnel2
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 4.4.4.4
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth 750
 tunnel mpls traffic-eng path-option 1 explicit name INCLUDE_P3_P2
 no routing dynamic
!
interface GigabitEthernet0/0
 ip address 192.168.23.3 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/1
 ip address 192.168.34.3 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls traffic-eng backup-path Tunnel2
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/2
 ip address 192.168.35.3 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0003.0003.0003.0003.00
 is-type level-2-only
 metric-style wide
!
ip explicit-path name INCLUDE_P3_P2 enable
 next-address 192.168.35.5
 next-address loose 4.4.4.4
!
mpls ldp router-id Loopback0 force
!
end

P2

hostname P2
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.34.4 255.255.255.0
 ip access-group NO_DSCP_CS5 in
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/1
 ip address 192.168.46.4 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/2
 ip address 192.168.45.4 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0004.0004.0004.0004.00
 is-type level-2-only
 metric-style wide
!
ip access-list extended NO_DSCP_CS5
 deny   ip any any dscp cs5
 permit ip any any
!
mpls ldp router-id Loopback0 force
!
end

P3

hostname P3
!
no logging console
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.35.5 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/1
 ip address 192.168.56.5 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/2
 ip address 192.168.45.5 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0005.0005.0005.0005.00
 is-type level-2-only
 metric-style wide
!
mpls ldp router-id Loopback0 force
!
end

P4

hostname P4
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 6.6.6.6 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.67.6 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/1
 ip address 192.168.46.6 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/2
 ip address 192.168.56.6 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0006.0006.0006.0006.00
 is-type level-2-only
 metric-style wide
!
mpls ldp router-id Loopback0 force
!
end

PE1

hostname PE1
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface Tunnel1
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 7.7.7.7
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth 750
 tunnel mpls traffic-eng path-option 1 explicit name EXCLUDE_P3
 tunnel mpls traffic-eng fast-reroute
 no routing dynamic
!
interface GigabitEthernet0/0
 ip address 192.168.12.2 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0002.0002.0002.0002.00
 is-type level-2-only
 metric-style wide
!
ip explicit-path name EXCLUDE_P3 enable
 exclude-address 5.5.5.5
!
mpls ldp router-id Loopback0 force
!
end

PE2

hostname PE2
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 7.7.7.7 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.78.7 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/1
 ip address 192.168.67.7 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0007.0007.0007.0007.00
 is-type level-2-only
 metric-style wide
!
mpls ldp router-id Loopback0 force
!
end

First, we need to enable RSVP hello messages globally on both routers:

P1 & P2
(config)#ip rsvp signalling hello

And we enable it on the interfaces:

P1(config)#interface GigabitEthernet 0/1
P1(config-if)#ip rsvp signalling hello 
P2(config)#interface GigabitEthernet 0/0
P2(config-if)#ip rsvp signalling hello

These are the only required commands to make this work.

You might notice that there is also a ip rsvp signalling hello fast-reroute command. When you use these, commands are saved as ip rsvp signalling hello without fast-reroute.

I will configure three additional commands:

P1(config)#interface GigabitEthernet 0/1
P1(config-if)#ip rsvp signalling hello refresh interval 400
P1(config-if)#ip rsvp signalling hello refresh misses 6
P1(config-if)#ip rsvp signalling hello dscp 40

Here’s what it does:

  • We send a hello message every 400 ms.
  • We can miss six acknowledgments from our neighbor before we declare it down.
  • We change the DSCP value to 40 (CS5).

Verification

Let’s verify our work. The show ip rsvp hello instance command tells us everything we need:

P1#show ip rsvp hello instance summary 
Active Instances:
  Client  Neighbor        I/F        State      LostCnt  LSPs Interval
  FRR     192.168.34.4    Gi0/1      Up              10     1 400     

Passive Instances:
  - None -

Active = Actively tracking neighbor state on behalf of clients:
         RR = ReRoute, FRR = Fast ReRoute, or GR = Graceful Restart
Passive = Responding to hello requests from neighbor

Above, we see that P1 uses the active instance. We use RSVP hellos for fast reroute. Here is P2:

P2#show ip rsvp hello instance summary
Active Instances:
  - None -

Passive Instances:
  Neighbor        I/F       
  192.168.34.3    Gi0/0     

Active = Actively tracking neighbor state on behalf of clients:
         RR = ReRoute, FRR = Fast ReRoute, or GR = Graceful Restart
Passive = Responding to hello requests from neighbor

P2 uses the passive instance. You can see some more details when you swap summary for detail:

P1#show ip rsvp hello instance detail 
  Neighbor 192.168.34.4 (router ID: 4.4.4.4)  Source  192.168.34.3
    Type: Active    (sending requests)
    I/F:  GigabitEthernet0/1
    State:   Up        (Since: 2022 December Wednesday 21 15:33:34 )
    Clients: Fast Reroute
    LSPs protecting: 1
    Missed acks: 6, IP DSCP: 0x28
    Refresh Interval (msec)
      Configured: 400
      Statistics: (from 106 samples)
        Min:      400
        Max:      400
        Average:  400
        Waverage: 400 (Weight = 0.8)
        Current:  400
    Last sent Src_instance: 0x74F2DEC1
    Last recv nbr's Src_instance: 0xB4B9D9DB
    Counters:
      Communication with neighbor lost:
        Num times:                   10  (last time at 1d01h)
        Reasons:
          Missed acks:                9
          Bad Src_Inst received:      0
          Bad Dst_Inst received:      0
          I/F went down:              0
          Neighbor disabled Hello:    1
      Msgs Received:   193458
           Sent:       193987
           Suppressed: 0

Above, you see the optional values that we configured. The output on P2 is simpler because it’s a passive instance:

P2#show ip rsvp hello instance detail
  Neighbor 192.168.34.3 (router ID: 3.3.3.3)  Source  192.168.34.4
    Type: Passive   (responding to requests)
    I/F:  GigabitEthernet0/0
    Last sent Src_instance: 0xB4B9D9DB
    Last recv nbr's Src_instance: 0x74F2DEC1
    Counters:
      Msgs Received:   262
           Sent:       262

If you want to see what RSVP hello packets look like, take a look at this capture:

MPLS TE FRR RSVP Hello

Fast Reroute

Now let’s figure out whether RSVP can trigger fast reroute. As you can see, I have a backup tunnel:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now!

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You’ve Ever Spent on Your Cisco Career!
  • Full Access to our 801 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)
506 Sign Ups in the last 30 days
satisfaction-guaranteed

  • 100% Satisfaction Guaranteed!
  • You may cancel your monthly membership at any time.
  • No Questions Asked!