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
Configure IP addresses and masks for the interfaces according to Figure 37. (Details not shown.)
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
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.)
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 : -
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
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.
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.