FRR configuration example

Network requirements

On a primary LSP Switch A—Switch B—Switch C—Switch D, use FRR to protect the link Switch B—Switch C.

Create a bypass LSP that traverses the path Switch B—Switch E—Switch C. Switch B is the PLR and Switch C is the MP.

Explicitly route the primary TE tunnel and the bypass TE tunnel with the signaling protocol being RSVP-TE.

Figure 37: Network diagram

Device

Interface

IP address

Device

Interface

IP address

Switch A

Loop0

1.1.1.1/32

Switch E

Loop0

5.5.5.5/32

Vlan-int1

2.1.1.1/24

Vlan-int4

3.2.1.2/24

Switch B

Loop0

2.2.2.2/32

Vlan-int5

3.3.1.1/24

Vlan-int1

2.1.1.2/24

Switch C

Loop0

3.3.3.3/32

Vlan-int2

3.1.1.1/24

Vlan-int3

4.1.1.1/24

Vlan-int4

3.2.1.1/24

Vlan-int2

3.1.1.2/24

Switch D

Loop0

4.4.4.4/32

Vlan-int5

3.3.1.2/24

Vlan-int3

4.1.1.2/24

Configuration procedure

  1. Configure IP addresses and masks for the interfaces according to Figure 37. (Details not shown.)

  2. Configure the IGP protocol.

    # Enable IS-IS on each switch to advertise routes destined for LSR IDs. (Details not shown.)

    # Execute the display ip routing-table command on each switch. The output shows that all nodes have learned the host routes of other nodes with LSR IDs as destinations. Take Switch A for example:

    <SwitchA> display ip routing-table
    Routing Tables: Public
             Destinations : 13       Routes : 13
    Destination/Mask  Proto  Pre  Cost     NextHop       Interface
          1.1.1.1/32  Direct 0    0        127.0.0.1     InLoop0
          2.1.1.0/24  Direct 0    0        2.1.1.1       Vlan1
          2.1.1.1/32  Direct 0    0        127.0.0.1     InLoop0
          2.2.2.2/32  ISIS   15   10       2.1.1.2       Vlan1
          3.1.1.0/24  ISIS   15   20       2.1.1.2       Vlan1
          3.2.1.0/24  ISIS   15   20       2.1.1.2       Vlan1
          3.3.1.0/24  ISIS   15   30       2.1.1.2       Vlan1
          3.3.3.3/32  ISIS   15   20       2.1.1.2       Vlan1
          4.1.1.0/24  ISIS   15   30       2.1.1.2       Vlan1
          4.4.4.4/32  ISIS   15   30       2.1.1.2       Vlan1
          5.5.5.5/32  ISIS   15   20       2.1.1.2       Vlan1
        127.0.0.0/8   Direct 0    0        127.0.0.1     InLoop0
        127.0.0.1/32  Direct 0    0        127.0.0.1     InLoop0
    
  3. Configure basic MPLS TE, and enable RSVP-TE and CSPF:

    # Configure Switch A.

    [SwitchA] mpls lsr-id 1.1.1.1
    [SwitchA] mpls
    [SwitchA-mpls] mpls te
    [SwitchA-mpls] mpls rsvp-te
    [SwitchA-mpls] mpls te cspf
    [SwitchA-mpls] quit
    [SwitchA] interface vlan-interface 1
    [SwitchA-Vlan-interface1] mpls
    [SwitchA-Vlan-interface1] mpls te
    [SwitchA-Vlan-interface1] mpls rsvp-te
    [SwitchA-Vlan-interface1] quit
    

    # Configure Switch B.

    [SwitchB] mpls lsr-id 2.2.2.2
    [SwitchB] mpls
    [SwitchB-mpls] mpls te
    [SwitchB-mpls] mpls rsvp-te
    [SwitchB-mpls] mpls te cspf
    [SwitchB-mpls] quit
    [SwitchB] interface vlan-interface 1
    [SwitchB-Vlan-interface1] mpls
    [SwitchB-Vlan-interface1] mpls te
    [SwitchB-Vlan-interface1] mpls rsvp-te
    [SwitchB-Vlan-interface1] quit
    [SwitchB] interface vlan-interface 2
    [SwitchB-Vlan-interface2] mpls
    [SwitchB-Vlan-interface2] mpls te
    [SwitchB-Vlan-interface2] mpls rsvp-te
    [SwitchB-Vlan-interface2] quit
    [SwitchB] interface vlan-interface 4
    [SwitchB-Vlan-interface4] mpls
    [SwitchB-Vlan-interface4] mpls te
    [SwitchB-Vlan-interface4] mpls rsvp-te
    [SwitchB-Vlan-interface4] quit
    

    # Follow the same steps to configure Switch C, Switch D, and Switch E. (Details not shown.)

  4. Create an MPLS TE tunnel on Switch A, the ingress node of the primary LSP:

    # Create an explicit path for the primary LSP.

    [SwitchA] explicit-path pri-path
    [SwitchA-explicit-path-pri-path] next hop 2.1.1.2
    [SwitchA-explicit-path-pri-path] next hop 3.1.1.2
    [SwitchA-explicit-path-pri-path] next hop 4.1.1.2
    [SwitchA-explicit-path-pri-path] next hop 4.4.4.4
    [SwitchA-explicit-path-pri-path] quit
    

    # Configure the MPLS TE tunnel carried on the primary LSP.

    [SwitchA] interface tunnel 4
    [SwitchA-Tunnel4] ip address 10.1.1.1 255.255.255.0
    [SwitchA-Tunnel4] tunnel-protocol mpls te
    [SwitchA-Tunnel4] destination 4.4.4.4
    [SwitchA-Tunnel4] mpls te tunnel-id 10
    [SwitchA-Tunnel4] mpls te path explicit-path pri-path preference 1
    

    # Enable FRR.

    [SwitchA-Tunnel4] mpls te fast-reroute
    [SwitchA-Tunnel4] mpls te commit
    [SwitchA-Tunnel4] quit
    

    Execute the display interface tunnel command on Switch A. The output shows that Tunnel4 is up.

    [SwitchA] display interface tunnel
    Tunnel4 current state: UP
    Line protocol current state: UP
    Description: Tunnel4 Interface
    The Maximum Transmit Unit is 64000
    Internet Address is 10.1.1.1/24 Primary
    Encapsulation is TUNNEL, service-loopback-group ID not set
    Tunnel source unknown, destination 4.4.4.4
    Tunnel protocol/transport CR_LSP
    Output queue : (Urgent queuing : Size/Length/Discards)  0/100/0
    Output queue : (Protocol queuing : Size/Length/Discards)  0/500/0
    Output queue : (FIFO queuing : Size/Length/Discards)  0/75/0
        Last 300 seconds input:  0 bytes/sec, 0 packets/sec
        Last 300 seconds output:  0 bytes/sec, 0 packets/sec
        0 packets input,  0 bytes
        0 input error
        0 packets output,  0 bytes
        0 output error         
    

    Execute the display mpls te tunnel-interface command on Switch A to verify the configuration of the tunnel interface.

    [SwitchA] display mpls te tunnel-interface
      Tunnel Name         :  Tunnel4
      Tunnel Desc         :  Tunnel4 Interface
      Tunnel State Desc   :  CR-LSP is Up
      Tunnel Attributes   :
        LSP ID              :  1.1.1.1:1
        Session ID          :  10
        Admin State         :  UP                Oper State   :  UP
        Ingress LSR ID      :  1.1.1.1           Egress LSR ID:  4.4.4.4
        Signaling Prot      :  RSVP              Resv Style   :  SE
        Class Type          :  CT0               Tunnel BW    :  0 kbps
        Reserved BW         :  0 kbps
        Setup Priority      :  7                 Hold Priority:  7
        Affinity Prop/Mask  :  0/0
        Explicit Path Name  :  pri-path
        Tie-Breaking Policy :  None
        Metric Type         :  None
        Record Route        :  Enabled      Record Label :  Enabled
        FRR Flag            :  Enabled      BackUpBW Flag:  Not Supported
        BackUpBW Type       :  -            BackUpBW     :  -
        Route Pinning       :  Disabled
        Retry Limit         :  10                 Retry Interval:  10 sec
        Reopt               :  Disabled           Reopt Freq   :  -
        Back Up Type        :  None
        Back Up LSPID       :  -
        Auto BW             :  Disabled           Auto BW Freq :  -
        Min BW              :  -                  Max BW       :  -
        Current Collected BW:  -
        Interfaces Protected:  -
        VPN Bind Type       :  NONE
        VPN Bind Value      :  -    
        Car Policy          :  Disabled
        Tunnel Group        :  Primary
        Primary Tunnel      :  -
        Backup Tunnel       :  -
        Group Status        :  -
    
  5. Configure a bypass tunnel on Switch B (the PLR):

    # Create an explicit path for the bypass LSP.

    [SwitchB] explicit-path by-path
    [SwitchB-explicit-path-by-path] next hop 3.2.1.2
    [SwitchB-explicit-path-by-path] next hop 3.3.1.2
    [SwitchB-explicit-path-by-path] next hop 3.3.3.3
    [SwitchB-explicit-path-by-path] quit
    

    # Create the bypass tunnel.

    [SwitchB] interface tunnel 5
    [SwitchB-Tunnel5] ip address 11.1.1.1 255.255.255.0
    [SwitchB-Tunnel5] tunnel-protocol mpls te
    [SwitchB-Tunnel5] destination 3.3.3.3
    [SwitchB-Tunnel5] mpls te tunnel-id 15
    [SwitchB-Tunnel5] mpls te path explicit-path by-path preference 1
    

    # Configure the bandwidth that the bypass tunnel protects.

    [SwitchB-Tunnel5] mpls te backup bandwidth 10000
    [SwitchB-Tunnel5] mpls te commit
    [SwitchB-Tunnel5] quit
    

    # Bind the bypass tunnel to the protected interface.

    [SwitchB] interface Vlan-interface 2
    [SwitchB-Vlan-interface2] mpls te fast-reroute bypass-tunnel tunnel 5
    [SwitchB-Vlan-interface2] quit
    

    Execute the display interface tunnel command on Switch B. The output shows that Tunnel5 is up.

    Execute the display mpls lsp command on each switch. The output shows that two LSPs are traversing Switch B and Switch C.

    [SwitchA] display mpls lsp
    ------------------------------------------------------------------
                     LSP Information: RSVP LSP
    ------------------------------------------------------------------
    FEC                In/Out Label  In/Out IF               Vrf Name
    4.4.4.4/32         NULL/1024     -/Vlan1
    [SwitchB] display mpls lsp
    ------------------------------------------------------------------
                     LSP Information: RSVP LSP
    ------------------------------------------------------------------
    FEC             In/Out Label  In/Out IF                 Vrf Name
    4.4.4.4/32      1024/1024     Vlan1/Vlan2
    3.3.3.3/32      NULL/1024     -/Vla4  
    [SwitchC] display mpls lsp
    ------------------------------------------------------------------
                     LSP Information: RSVP LSP
    ------------------------------------------------------------------
    FEC             In/Out Label  In/Out IF               Vrf Name
    4.4.4.4/32      1024/3        Vlan2/Vlan3
    3.3.3.3/32      3/NULL        Vlan5/-   
    [SwitchD] display mpls lsp
    ------------------------------------------------------------------
                     LSP Information: RSVP LSP
    ------------------------------------------------------------------
    FEC              In/Out Label  In/Out IF                Vrf Name
    4.4.4.4/32       3/NULL        Vlan3/-        
    [SwitchE] display mpls lsp
    ------------------------------------------------------------------
                     LSP Information: RSVP LSP
    ------------------------------------------------------------------
    FEC              In/Out Label  In/Out IF                 Vrf Name
    3.3.3.3/32       1024/3        Vlan4/Vlan5
    

    Execute the display mpls te tunnel command on each switch. The output shows that two MPLS TE tunnels are traversing Switch B and Switch C.

    [SwitchA] display mpls te tunnel
    LSP-Id           Destination   In/Out-If           Name
    1.1.1.1:1        4.4.4.4       -/Vlan1             Tunnel4
    [SwitchB] display mpls te tunnel
    LSP-Id           Destination   In/Out-If           Name
    1.1.1.1:1        4.4.4.4       Vlan1/Vlan2         Tunnel4
    2.2.2.2:1        3.3.3.3       -/Vlan4             Tunnel5
    [SwitchC] display mpls te tunnel
    LSP-Id           Destination   In/Out-If           Name
    1.1.1.1:1        4.4.4.4       Vlan2/Vlan3         Tunnel4
    2.2.2.2:1        3.3.3.3       Vlan5/-             Tunnel5
    [SwitchD] display mpls te tunnel
    LSP-Id           Destination   In/Out-If           Name
    1.1.1.1:1        4.4.4.4       Vlan3/-             Tunnel4
    [SwitchE] display mpls te tunnel
    LSP-Id           Destination   In/Out-If           Name
    2.2.2.2:1        3.3.3.3       Vlan4/Vlan5         Tunnel5
    

    Execute the display mpls lsp verbose command on Switch B. The output shows that the bypass tunnel is bound with the protected interface VLAN-interface 2 and is currently unused.

    [SwitchB] display mpls lsp verbose
    -------------------------------------------------------------------
                     LSP Information: RSVP LSP
    -------------------------------------------------------------------
      No                  :  1
      IngressLsrID        :  1.1.1.1
      LocalLspID          :  1
      Tunnel-Interface    :  Tunnel4
      Fec                 :  4.4.4.4/32
      Nexthop             :  3.1.1.2
      In-Label            :  1024
      Out-Label           :  1024
      In-Interface        :  Vlan-interface1
      Out-Interface       :  Vlan-interface2
      LspIndex            :  4097
      Tunnel ID           :  0x22001
      LsrType             :  Transit
      Bypass In Use       :  Not Used
      BypassTunnel        :  Tunnel Index[Tunnel5], InnerLabel[1024]
      Mpls-Mtu            :  1500
    
      No                  :  2
      IngressLsrID        :  2.2.2.2
      LocalLspID          :  1
      Tunnel-Interface    :  Tunnel5
      Fec                 :  3.3.3.3/32
      Nexthop             :  3.2.1.2
      In-Label            :  NULL
      Out-Label           :  1024
      In-Interface        :  ----------
      Out-Interface       :  Vlan-interface4
      LspIndex            :  4098
      Tunnel ID           :  0x22002
      LsrType             :  Ingress
      Bypass In Use       :  Not Exists
      BypassTunnel        :  Tunnel Index[---]
      Mpls-Mtu            :  1500
    
  6. Verify the FRR function:

    # Shut down the protected outgoing interface on PLR.

    [SwitchB] interface vlan-interface 2
    [SwitchB-Vlan-interface2] shutdown
    %Sep  7 08:53:34 2004 SwitchB IFNET/5/UPDOWN:Line protocol on the interface Vlan-interface2 turns into DOWN state 
    

    Execute the display interface tunnel 4 command on Switch A to identify the state of the primary LSP. The output shows that the tunnel interface is still up.

    Execute the display mpls te tunnel-interface command on Switch A to display the configuration of the tunnel interface.

    [SwitchA] display mpls te tunnel-interface
      Tunnel Name         : Tunnel4
      Tunnel Desc         : Tunnel4 Interface
      Tunnel State Desc   : Modifying CR-LSP is setting up
      Tunnel Attributes   :
        LSP ID              :  1.1.1.1:1
        Session ID          :  10
        Admin State         :  UP               Oper State   :  UP
        Ingress LSR ID      :  1.1.1.1          Egress LSR ID:  4.4.4.4
        Signaling Prot      :  RSVP             Resv Style   :  SE
        Class Type          :  CT0              Tunnel BW    :  0 kbps
        Reserved BW         :  0 kbps
        Setup Priority      :  7                Hold Priority:  7
        Affinity Prop/Mask  :  0x0/0x0
        Explicit Path Name  :  pri-path
        Tie-Breaking Policy :  None
        Metric Type         :  None
        Record Route        :  Enabled      Record Label :  Enabled
        FRR Flag            :  Enabled      BackUpBW Flag:  Not Supported
        BackUpBW Type       :  -            BackUpBW     :  -
        Route Pinning       :  Disabled
        Retry Limit         :  10                 Retry Interval:  10 sec
        Reopt               :  Disabled           Reopt Freq   :  -
        Back Up Type        :  None
        Back Up LSPID       :  -
        Auto BW             :  Disabled              Auto BW Freq :  -
        Min BW              :  -                     Max BW       :  -
        Current Collected BW:  -
        Interfaces Protected:  -
        VPN Bind Type       :  NONE
        VPN Bind Value      :  -
        Car Policy          :  Disabled
        Tunnel Group        :  Primary
        Primary Tunnel      :  -
        Backup Tunnel       :  -
        Group Status        :  -
    
      Tunnel Name         :  Tunnel4
      Tunnel Desc         :  Tunnel4 Interface
      Tunnel State Desc   :  Modifying CR-LSP is setting up
      Tunnel Attributes   :
        LSP ID              :  1.1.1.1:1025
        Session ID          :  10
        Admin State         :                  Oper State   :  Modified
        Ingress LSR ID      :  1.1.1.1         Egress LSR ID:  4.4.4.4
        Signaling Prot      :  RSVP            Resv Style   :  SE
        Class Type          :  CT0             Tunnel BW    :  0 kbps
        Reserved BW         :  0 kbps
        Setup Priority      :  7               Hold Priority:  7
        Affinity Prop/Mask  :  0x0/0x0
        Explicit Path Name  :  pri-path
        Tie-Breaking Policy :  None
        Metric Type         :  None
        Record Route        :  Enabled      Record Label :  Enabled
        FRR Flag            :  Enabled      BackUpBW Flag:  Not Supported
        BackUpBW Type       :  -            BackUpBW     :  -
        Route Pinning       :  Disabled
        Retry Limit         :  10                 Retry Interval:  10 sec
        Reopt               :  Disabled           Reopt Freq   :  -
        Back Up Type        :  None
        Back Up LSPID       :  -
        Auto BW             :  Disabled           Auto BW Freq :  -
        Min BW              :  -                  Max BW       :  -
        Current Collected BW:  -
        Interfaces Protected:  -
        VPN Bind Type       :  NONE
        VPN Bind Value      :  -  
        Car Policy          :  Disabled
        Tunnel Group        :  Primary
        Primary Tunnel      :  -
        Backup Tunnel       :  -
        Group Status        :  -
    

    If you execute the display mpls te tunnel-interface command immediately after an FRR protection switch, you are likely to see two CR-LSPs in up state are present. This is normal because the make-before-break mechanism of FRR introduces a delay before removing the old LSP after a new LSP is created.

    # Execute the display mpls lsp verbose command on Switch B. The output shows that the bypass tunnel is in use.

    [SwitchB] display mpls lsp verbose
    ------------------------------------------------------------------
                     LSP Information: RSVP LSP
    ------------------------------------------------------------------
      No                  :  1
      IngressLsrID        :  1.1.1.1
      LocalLspID          :  1
      Tunnel-Interface    :  Tunnel4
      Fec                 :  4.4.4.4/32
      Nexthop             :  3.1.1.2
      In-Label            :  1024
      Out-Label           :  1024
      In-Interface        :  Vlan-interface1
      Out-Interface       :  Vlan-interface2
      LspIndex            :  4097
      Tunnel ID           :  0x22001
      LsrType             :  Transit
      Bypass In Use       :  In Use
      BypassTunnel        :  Tunnel Index[Tunnel5], InnerLabel[1024]
      Mpls-Mtu            :  1500
    
      No                  :  2
      IngressLsrID        :  2.2.2.2
      LocalLspID          :  1
      Tunnel-Interface    :  Tunnel5
      Fec                 :  3.3.3.3/32
      Nexthop             :  3.2.1.2
      In-Label            :  NULL
      Out-Label           :  1024
      In-Interface        :  ----------
      Out-Interface       :  Vlan-interface4
      LspIndex            :  4098
      Tunnel ID           :  0x22002
      LsrType             :  Ingress
      Bypass In Use       :  Not Exists
      BypassTunnel        :  Tunnel Index[---] 
      Mpls-Mtu            :  1500
    

    # Set the FRR polling timer to five seconds on PLR.

    [SwitchB] mpls
    [SwitchB-mpls] mpls te timer fast-reroute 5
    [SwitchB-mpls] quit
    

    # Bring the protected outgoing interface up on PLR.

    [SwitchB] interface vlan-interface 2
    [SwitchB-Vlan-interface2] undo shutdown
    %Sep  7 09:01:31 2004 SwitchB IFNET/5/UPDOWN:Line protocol on the interface Vlan-interface2 turns into UP state
    

    # Execute the display interface tunnel 4 command on Switch A to identify the state of the primary LSP. The output shows that the tunnel interface is up.

    About 5 seconds later, execute the display mpls lsp verbose command on Switch B. The output shows that Tunnel5 is still bound with interface VLAN-interface 2 and is unused.

  7. Create a static route to direct traffic to the MPLS TE tunnel.

    [SwitchA] ip route-static 4.1.1.2 24 tunnel 4 preference 1
    

    # Execute the display ip routing-table command on Switch A. The output shows a static route entry with Tunnel4 as the outgoing interface.