Configuring Static BFD for TE Tunnels
Pre-configuration Tasks
Static BFD for TE allows applications such as VPN FRR and VLL FRR to fast switch traffic if the primary tunnel fails, preventing service interruption.
- Configure a static MPLS TE tunnel. For details, see Configuring a Static MPLS TE Tunnel.
- Configure a dynamic MPLS TE tunnel. For details, see Configuring a Dynamic MPLS TE Tunnel.
- Configure a static DS-TE tunnel. For details, see Configuring a Static DS-TE Tunnel.
- Configure a dynamic DS-TE tunnel. For details, see Configuring a Dynamic DS-TE Tunnel.
Configuring BFD Parameters on the Ingress Node of the Tunnel
Context
The BFD parameters configured on the ingress node include the local and remote discriminators, local intervals at which BFD packets are sent and received, and BFD detection multiplier, which determine the establishment of a BFD session.
Perform the following configurations on the ingress node of an MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Run bfd cfg-name bind mpls-te interface tunnel interface-number
BFD is configured to detect faults in a specified tunnel.
NOTE:
If the status of the tunnel to be checked is Down, the BFD session cannot be set up.
- Run discriminator local discr-value
The local discriminator is set.
- Run discriminator remote discr-value
The remote discriminator is set.
- (Optional) Run min-tx-interval interval
The local interval at which BFD packets are sent is set.
By default, the value is 1000 milliseconds.
- (Optional) Run min-rx-interval interval
The local interval at which BFD packets are received is set.
By default, the value is 1000 milliseconds.
- (Optional) Run detect-multiplier multiplier
The local detection multiplier is adjusted.
By default, the local detection multiplier is 3.
Actual local sending interval = MAX { Configured local sending interval, Configured remote receiving interval }
Actual local receiving interval = MAX { Configured remote sending interval, Configured local receiving interval }
Actual local detection interval = Actual local receiving interval x Configured remote detection multiplier
For example:
The local sending and receiving intervals are set to 200 ms and 300 ms respectively and the detection multiplier is set to 4.
The remote sending and receiving intervals are set to 100 ms and 600 ms respectively and the detection multiplier is set to 5.
Then,
Actual local sending interval = MAX {200 ms, 600 ms} = 600 ms; Actual local receiving interval = MAX {100 ms, 300 ms} = 300 ms; Actual local detection interval is 300 ms x 5 = 1500 ms.
Actual remote sending interval = MAX {100 ms, 300 ms} = 300 ms; Actual remote receiving interval = MAX {200 ms, 600 ms} = 600 ms; Actual remote detection interval is 600 ms x 4 = 2400 ms.
- Run process-pst
The system is enabled to modify the port status table (PST) when the BFD session status changes.
When the BFD status changes, BFD notifies the application of the change, triggering a fast switchover between TE tunnels.
- Run notify neighbor-down
A BFD session is configured to notify the upper layer protocol when the BFD session detects a neighbor Down event.
In most cases, when you use a BFD session to detect link faults, the BFD session notifies the upper layer protocol of a link fault in the following scenarios:- When the BFD detection time expires, the BFD session notifies the upper layer protocol. BFD sessions must be configured on both ends. If the BFD session on the local end does not receive any BFD packets from the remote end within the detection time, the BFD session on the local end concludes that the link fails and notifies the upper layer protocol of the link fault.
- When a BFD session detects a neighbor Down event, the BFD session notifies the upper layer protocol. If the BFD session on the local end detects a neighbor Down event within the detection time, the BFD session on the local end directly notifies the upper layer protocol of the neighbor Down event.
When you use a BFD session to detect faults on an LSP, you need only be concerned about whether a fault occurs on the link from the local end to remote end. In this situation, run the notify neighbor-down command to configure the BFD session to notify the upper layer protocol only when the BFD session detects a neighbor Down event. This configuration prevents the BFD session from notifying the upper layer protocol when the BFD detection time expires and ensures that services are not interrupted.
- Run commit
The current configuration is committed.
Configuring BFD Parameters on the Egress Node of the Tunnel
Context
The BFD parameters configured on the egress node include the local and remote discriminators, local intervals at which BFD packets are sent and received, and BFD detection multiplier, which determine the establishment of a BFD session.
Perform the following configurations on the egress node of an MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Configure a reverse tunnel to inform the ingress node of
a fault if the fault occurs. The reverse tunnel can be the IP link,
LSP, or TE tunnel. To ensure that the forward and reverse paths are
over the same link, a TE tunnel is preferentially selected to notify
the ingress node of an LSP fault. Run the following commands as required.
- For an IP link, run:
bfd session-name bind peer-ip ip-address [ vpn-instance vpn-name ] [ interface interface-type interface-number] [ source-ip ip-address ]
- For an LDP LSP, run:
bfd session-name bind ldp-lsp peer-ip ip-address nexthop ip-address [ interface interface-type interface-number ]
- For a static LSP, run:
bfd session-name bind static-lsp lsp-name
- For a TE tunnel, run:
bfd session-name bind mpls-te interface tunnel interface-number
NOTE:
When an IP link is used as the reverse tunnel, you do not need to perform steps 8 and 9.
- Run discriminator local discr-value
The local discriminator is set.
- Run discriminator remote discr-value
The remote discriminator is set.
- (Optional) Run min-tx-interval interval
The local interval at which BFD packets are sent is set.
By default, the value is 1000 milliseconds.
- (Optional) Run min-rx-interval interval
The local interval at which BFD packets are received is set.
By default, the value is 1000 milliseconds.
- (Optional) Run detect-multiplier multiplier
The local detection multiplier is adjusted.
By default, the local detection multiplier is 3.
Actual local sending interval = MAX { Configured local sending interval, Configured remote receiving interval }
Actual local receiving interval = MAX { Configured remote sending interval, Configured local receiving interval }
Actual local detection interval = Actual local receiving interval x Configured remote detection multiplier
For example:
The local sending and receiving intervals are set to 200 ms and 300 ms respectively and the detection multiplier is set to 4.
The remote sending and receiving intervals are set to 100 ms and 600 ms respectively and the detection multiplier is set to 5.
Then,
Actual local sending interval = MAX {200 ms, 600 ms} = 600 ms; Actual local receiving interval = MAX {100 ms, 300 ms} = 300 ms; Actual local detection interval is 300 ms x 5 = 1500 ms.
Actual remote sending interval = MAX {100 ms, 300 ms} = 300 ms; Actual remote receiving interval = MAX {200 ms, 600 ms} = 600 ms; Actual remote detection interval is 600 ms x 4 = 2400 ms.
- (Optional) Run process-pst
The system is enabled to modify the port status table (PST) when the BFD session status changes.
If an LSP or a TE tunnel is used as a reverse tunnel to notify the ingress node of a fault, you can run this command to allow the reverse tunnel to switch traffic if the BFD session goes Down. If a single-hop IP link is used as a reverse tunnel, this command can be configured. Because the process-pst command can be only configured for BFD single-link detection.
- Run notify neighbor-down
A BFD session is configured to notify the upper layer protocol when the BFD session detects a neighbor Down event.
In most cases, when you use a BFD session to detect link faults, the BFD session notifies the upper layer protocol of a link fault in the following scenarios:- When the BFD detection time expires, the BFD session notifies the upper layer protocol. BFD sessions must be configured on both ends. If the BFD session on the local end does not receive any BFD packets from the remote end within the detection time, the BFD session on the local end concludes that the link fails and notifies the upper layer protocol of the link fault.
- When a BFD session detects a neighbor Down event, the BFD session notifies the upper layer protocol. If the BFD session on the local end detects a neighbor Down event within the detection time, the BFD session on the local end directly notifies the upper layer protocol of the neighbor Down event.
When you use a BFD session to detect faults on an LSP, you need only be concerned about whether a fault occurs on the link from the local end to remote end. In this situation, run the notify neighbor-down command to configure the BFD session to notify the upper layer protocol only when the BFD session detects a neighbor Down event. This configuration prevents the BFD session from notifying the upper layer protocol when the BFD detection time expires and ensures that services are not interrupted.
- Run commit
The current configuration is committed.
Verifying the Configuration of Static BFD for TE Tunnels
Procedure
- Run the display bfd configuration mpls-te interface tunnel interface-number [ verbose ] command to check BFD configurations on the ingress.
- Run the following commands to check BFD configurations on the egress:
- Run the display bfd configuration all [ for-ip | for-lsp | for-te ] [ verbose ] command to check all BFD configurations.
- Run the display bfd configuration static [ for-ip | for-lsp | for-te | name cfg-name ] [ verbose ] command to check the static BFD configurations.
- Run the display bfd configuration peer-ip peer-ip [ vpn-instance vpn-instance-name ] [ verbose ] command to check the configurations of BFD with the reverse path being an IP link.
- Run the display bfd configuration static-lsp lsp-name [ verbose ] command to check the configurations of BFD with the reverse path being a static LSP.
- Run the display bfd configuration ldp-lsp peer-ip peer-ip nexthop nexthop-address [ interface interface-type interface-number ] [ verbose ] command to check the configurations of BFD with the backward channel being an LDP LSP.
- Run the display bfd configuration mpls-te interface tunnel interface-number te-lsp [ verbose ] command to check the configurations of BFD with the backward channel being a CR-LSP.
- Run the display bfd configuration mpls-te interface tunnel interface-number [ verbose ] command to check the configurations of BFD with the backward channel being a TE tunnel.
- Run the display bfd session mpls-te interface tunnel interface-number [ verbose ] command to check BFD session configurations on the ingress.
- Run the following commands to check BFD session configurations on the egress:
- Run the display bfd session all [ for-ip | for-lsp | for-te ] [ verbose ] command to check all the BFD configurations.
- Run the display bfd session static [ for-ip | for-lsp | for-te ] [ verbose ] command to check the static BFD configurations.
- Run the display bfd session peer-ip peer-ip [ vpn-instance vpn-instance-name ] [ verbose ] command to check the configurations of BFD with the backward channel being an IP link.
- Run the display bfd session static-lsp lsp-name [ verbose ] command to check the configurations of BFD with the backward channel being a static LSP.
- Run the display bfd session ldp-lsp peer-ip peer-ip nexthop nexthop-address [ interface interface-type interface-number ] [ verbose ] command to check the configurations of BFD with the backward channel being an LDP LSP.
- Run the display bfd session mpls-te interface tunnel interface-number te-lsp [ verbose ] command to check the configurations of BFD with the backward channel being a CR-LSP.
- Run the display bfd session mpls-te interface tunnel interface-number [ verbose ] command to check the configurations of BFD with the backward channel being a TE tunnel.
- Run the following command to check BFD statistics:
- Run the display bfd statistics session all [ for-ip | for-lsp | for-te ] command to check all BFD session statistics.
- Run the display bfd statistics session peer-ip peer-ip [ vpn-instance vpn-instance-name ] command to check statistics about the BFD session that detects faults in the IP link.
- Run the display bfd statistics session static-lsp lsp-name command to check statistics about the BFD session that detects faults in the static LSP.
- Run the display bfd statistics session ldp-lsp peer-ip peer-ip nexthop nexthop-address [ interface interface-type interface-number ] command to check statistics of the BFD session that detects faults in the LDP LSP.
- Run the display bfd statistics session mpls-te interface tunnel interface-number te-lsp command to check statistics about the BFD session that detects faults in the CR-LSP.
- Run the display bfd statistics session mpls-te interface tunnel interface-number command to check statistics on BFD sessions for TE tunnels.