Configuring BFD for BGP
Context
BGP periodically sends Keepalive messages to its peers to detect the status of its peers. It takes more than 1 second for this detection mechanism to detect a fault. When data is transmitted at gigabit rates, long-time fault detection will cause packet loss. This cannot meet high reliability requirements of carrier-class networks. Association between BGP and BFD can solve this problem. BFD is a millisecond-level fault detection mechanism. It can detect faults on the link between BGP peers within 50 ms. Therefore, BFD can speed up BGP route convergence, ensures fast link switching, and reduces traffic loss.
When a peer joins a peer group on which BFD is enabled, BFD also takes effect on the peer and a BFD session is created on the peer. To prevent BFD from taking effect on the peer, run the peer bfd block command.
By default, Huawei devices establish multi-hop IBGP sessions with each other. When a Huawei device communicates with a non-Huawei device that establishes a single-hop IBGP session by default, you are advised to configure only association between IGP and BFD or association between IBGP and BFD.
Procedure
- Run system-view
The system view is displayed.
- Run bfd
Global BFD is enabled on the local device.
- Run quit
Return to the system view.
- Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
- (Optional) The BGP-VPN instance address family view is
displayed.
- Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
- Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
BFD for BGP can be configured for the VPN in this view. To configure BFD for BGP for the public network, skip this step.
- Run ipv4-family vpn-instance vpn-instance-name
- Run peer { group-name | ipv4-address } bfd enable [ single-hop-prefer ]
BFD is configured for the peer or peer group, and default BFD parameters are used to establish BFD sessions.
If BFD is configured for a peer group, BFD sessions are created for the peers on which the peer bfd block command is not used.
- Run peer { group-name | ipv4-address } bfd { min-tx-interval min-tx-interval | min-rx-interval min-rx-interval | detect-multiplier multiplier | wtr wtr-value } *
BFD session parameters are configured.
- (Optional) Run peer ipv4-address bfd block
The peer is disabled from inheriting the BFD function of the peer group to which the peer belongs.
- BFD sessions are established when they are in Established state.
- If BFD parameters are configured on a peer, BFD sessions are established using these parameters.
The peer ipv4-address bfd block and peer ipv4-address bfd enable commands are mutually exclusive.
Verifying the Configuration
Run the display bgp bfd session { [ vpnv4 vpn-instance vpn-instance-name ] peer ipv4-address | all } command to check information about the BFD sessions established between BGP peers.
Run the display bgp [ vpnv4 vpn-instance vpn-instance-name ] peer [ [ ipv4-address ] verbose ] command to check information about BGP peers.
Run the display bgp group [ group-name ] command to check information about the specified BGP peer group.
Run the display bgp vpnv4 { all | vpn-instance vpn-instance-name } group [ group-name ] command to check information about the BGP VPNv4 peer group.