This section provides an example for configuring a BFD for link-bundle session to monitor Layer 3 Eth-Trunk member links and rapidly detect link faults.
On the network shown in Figure 1, Device A and Device B are directly connected through Layer 3 Eth-Trunk interfaces. BFD sessions can be bound to Eth-Trunk interfaces to detect the connectivity of the Eth-Trunk between Device A and Device B. If single-hop BFD sessions are used, BFD selects one of the member links of the Eth-Trunk to monitor the status of the Eth-Trunk. Once BFD detects that the selected member link is Down, it considers the Eth-Trunk to be Down even if other member links of the Eth-Trunk are Up. To prevent BFD from incorrectly detecting the Eth-Trunk state, you can deploy BFD for link-bundle sessions instead of single-hop BFD sessions.
The configuration roadmap is as follows:
Create an Eth-Trunk interface on Device A and Device B, and add Ethernet physical interfaces to the Eth-Trunk interface.
Configure a BFD for link-bundle session on Device A and Device B to monitor the Eth-Trunk member links between Device A and Device B.
To complete the configuration, you need the following data:
Numbers of the physical interfaces connecting Device A and Device B
IP addresses of the Eth-Trunk interfaces
Minimum interval at which BFD for link-bundle session packets are received
# Configure Device A. The configuration on Device B is the same as that on Device A.
<HUAWEI> system-view [~HUAWEI] sysname DeviceA [*HUAWEI] commit [~DeviceA] interface Eth-Trunk 1 [*DeviceA-Eth-Trunk1] commit [~DeviceA-Eth-Trunk1] quit [~DeviceA] interface gigabitethernet0/1/16 [~DeviceA-Gigabitethernet0/1/16] undo shutdown [*DeviceA-Gigabitethernet0/1/16] eth-trunk 1 [*DeviceA-Gigabitethernet0/1/16] commit [~DeviceA-Gigabitethernet0/1/16] quit [~DeviceA] interface gigabitethernet0/1/17 [~DeviceA-Gigabitethernet0/1/17] undo shutdown [*DeviceA-Gigabitethernet0/1/17] eth-trunk 1 [*DeviceA-Gigabitethernet0/1/17] commit [~DeviceA-Gigabitethernet0/1/17] quit
# Configure Device A. The configuration on Device B is the same as that on Device A.
[~DeviceA] interface Eth-Trunk 1 [~DeviceA-Eth-Trunk1] ip address 10.1.1.1 24 [*DeviceA-Eth-Trunk1] commit [~DeviceA-Eth-Trunk1] quit
After the configuration is complete, the Eth-Trunk 1 interfaces on Device A and Device B can ping each other.
The following example uses the command output on Device B.
[~DeviceB] ping 10.1.1.1 PING 10.1.1.1: 56 data bytes, press CTRL_C to break Reply from 10.1.1.1: bytes=56 Sequence=1 ttl=255 time=10 ms Reply from 10.1.1.1: bytes=56 Sequence=2 ttl=255 time=2 ms Reply from 10.1.1.1: bytes=56 Sequence=3 ttl=255 time=2 ms Reply from 10.1.1.1: bytes=56 Sequence=4 ttl=255 time=1 ms Reply from 10.1.1.1: bytes=56 Sequence=5 ttl=255 time=2 ms --- 10.1.1.1 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 1/3/10 ms
# Configure Device A.
[~DeviceA] bfd [*DeviceA-bfd] quit [*DeviceA] bfd atob bind link-bundle peer-ip 10.1.1.2 interface Eth-Trunk 1 source-ip 10.1.1.1 [*DeviceA-bfd-session-atob] min-rx-interval 10 [*DeviceA-bfd-session-atob] min-tx-interval 10 [*DeviceA-bfd-session-atob] commit [~DeviceA-bfd-session-atob] quit
# Configure Device B.
[~DeviceB] bfd [*DeviceB-bfd] quit [*DeviceB] bfd btoa bind link-bundle peer-ip 10.1.1.1 interface Eth-Trunk 1 source-ip 10.1.1.2 [*DeviceB-bfd-session-btoa] min-rx-interval 10 [*DeviceB-bfd-session-btoa] min-tx-interval 10 [*DeviceB-bfd-session-btoa] commit [~DeviceB-bfd-session-btoa] quit
After completing the configuration, run the display bfd link-bundle session command on Device A. The command output shows that three BFD sessions have been established and their statuses are Up. The discriminators of the three BFD sessions are dynamically allocated by the system. The BFD session bound to Eth-Trunk 1 is the main session, and the other two are BFD sub-sessions and bound to GE 0/1/16 and GE 0/1/17.
<DeviceA> display bfd link-bundle session Total Up/Down Main Session Number : 1/0 Total Up/Down Sub Session Number : 2/0 -------------------------------------------------------------------------------- Name : a State : Up Local Discriminator : 1048576 Remote Discriminator : - Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(Eth-Trunk1) Bind Session Type : Static_Auto(Bundle_Main | Compatible) Bind Peer IP Address : 10.1.1.2 Bind Source IP Address : 10.1.1.1 FSM Board Id : - TOS-EXP : 7 Min Tx Interval (ms) : 10 Min Rx Interval (ms) : 10 Local Detect Multi : 3 WTR Interval (ms) : - Last Local Diagnostic : Control Detection Time Expired Bind Application : AUTO Sub Session Count : 2 -------------------------------------------------------------------------------- Sub Session Number : 1 State : Up Local Discriminator : 16385 Remote Discriminator : 16385 BFD Bind Type : Interface(GigabitEthernet0/1/16) Bind Session Type : Dynamic(Bundle_Sub | Compatible) FSM Board Id : 9 Min Tx Interval (ms) : 10 Min Rx Interval (ms) : 10 Local Detect Multi : 3 Actual Tx Interval (ms): 10 Actual Rx Interval (ms): 10 Active Multi : 3 Detect Interval (ms) : 30 Destination Port : 3784 Last Local Diagnostic : Control Detection Time Expired -------------------------------------------------------------------------------- Sub Session Number : 2 State : Up Local Discriminator : 16386 Remote Discriminator : 16386 BFD Bind Type : Interface(GigabitEthernet0/1/17) Bind Session Type : Dynamic(Bundle_Sub | Compatible) FSM Board Id : 9 Min Tx Interval (ms) : 10 Min Rx Interval (ms) : 10 Local Detect Multi : 3 Actual Tx Interval (ms): 10 Actual Rx Interval (ms): 10 Active Multi : 3 Detect Interval (ms) : 30 Destination Port : 3784 Last Local Diagnostic : Control Detection Time Expired --------------------------------------------------------------------------------
# Shut down GE 0/1/16 on Device A.
[~DeviceA] interface gigabitethernet0/1/16 [~DeviceA-Gigabitethernet0/1/16] shutdown [*DeviceA-Gigabitethernet0/1/16] quit
# Run the display bfd session all command on Device A to view the statuses of the BFD sessions. The command output shows that the status of the BFD sub-session bound to GE 0/1/16 is Down and that the status of the main session bound to Eth-Trunk 1 is still Up.
<DeviceA> display bfd session all S: Static session D: Dynamic session IP: IP session IF: Single-hop session PEER: Multi-hop session AUTO: Automatically negotiated session (w): State in WTR (*): State is invalid Total UP/DOWN Session Number : 2/1 -------------------------------------------------------------------------------- Local Remote PeerIpAddr State Type InterfaceName -------------------------------------------------------------------------------- 1048576 - 10.1.1.2 Up S/AUTO-IF Eth-Trunk1 16386 0 10.1.1.2 Down D/IP-IF Gigabitethernet0/1/16 16387 16387 10.1.1.2 Up D/IP-IF Gigabitethernet0/1/17 --------------------------------------------------------------------------------
# Shut down GE 0/1/17, and run the display bfd session all command on Device A. The command output shows that the statuses of the BFD sessions are all Down.
<DeviceA> display bfd session all S: Static session D: Dynamic session IP: IP session IF: Single-hop session PEER: Multi-hop session AUTO: Automatically negotiated session (w): State in WTR (*): State is invalid Total UP/DOWN Session Number : 0/3 -------------------------------------------------------------------------------- Local Remote PeerIpAddr State Type InterfaceName -------------------------------------------------------------------------------- 1048576 - 10.1.1.2 Down S/AUTO-IF Eth-Trunk1 16386 0 10.1.1.2 Down D/IP-IF Gigabitethernet0/1/16 16387 0 10.1.1.2 Down D/IP-IF Gigabitethernet0/1/17 --------------------------------------------------------------------------------
Device A configuration file
# sysname DeviceA # bfd # interface Eth-Trunk1 ip address 10.1.1.1 255.255.255.0 # interface Gigabitethernet0/1/16 undo shutdown eth-trunk 1 # interface Gigabitethernet0/1/17 undo shutdown eth-trunk 1 # bfd atob bind link-bundle peer-ip 10.1.1.2 interface Eth-Trunk1 source-ip 10.1.1.1 min-tx-interval 10 min-rx-interval 10 # return
Device B configuration file
# sysname DeviceB # bfd # interface Eth-Trunk1 ip address 10.1.1.2 255.255.255.0 # interface Gigabitethernet0/1/16 undo shutdown eth-trunk 1 # interface Gigabitethernet0/1/17 undo shutdown eth-trunk 1 # bfd btoa bind link-bundle peer-ip 10.1.1.1 interface Eth-Trunk1 source-ip 10.1.1.2 min-tx-interval 10 min-rx-interval 10 # return