Description

Micro BFD configured with AE interface's IP address as neighbor and local-address, after AE interface flap, BFD session stays down.

The Micro BFD feature before 16.1 requires the user to configure a loopback interface with a IP address which is used as local-address for exchange of the BFD packets with the peer.

Symptoms

Topology:

MX1(ae 101)------(ae 101)MX2 Two MX's Configuration

user@mx1> show configuration interfaces ae101

aggregated-ether-options {
    bfd-liveness-detection {
        neighbor 10.0.0.2;    <-- Here is the peer side ae interface address
        local-address 10.0.0.1;   <-- Here is the local ae interface address
    }
}

user@mx2> show configuration interfaces ae101

aggregated-ether-options {
    bfd-liveness-detection {
        neighbor 10.0.0.1;   <-- Here is peer side ae interface address
        local-address 10.0.0.2;  <-- Here is local ae interface address
    }
}
Before the AE interface flap, all BFD sessions and AE interfaces are up.
user@mx1> show interfaces terse | match ae101
ge-1/3/0.0              up    up   aenet    --> ae101.0
ge-1/3/1.0              up    up   aenet    --> ae101.0
ae101                   up    up
ae101.0                 up    up   inet     

user@mx1> show bfd session
                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier
 
10.0.0.2            Up        ge-1/3/1       0.500     0.100        5  
10.0.0.2            Up        ge-1/3/0       0.500     0.100        5  
 

user@mx2> show interfaces terse | match ae101
ge-2/3/8.0              up    up   aenet    --> ae101.0
ge-2/3/9.0              up    up   aenet    --> ae101.0
ae101                   up    up
ae101.0                 up    up   inet     10.0.0.2/31

user@mx2> show bfd session
                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier

10.0.0.1            Up        ge-2/3/9       0.500     0.100        5  
10.0.0.1            Up        ge-2/3/8       0.500     0.100        5  
After AE interface flap, BFD sessions and AE interfaces are down.
user@mx1> show interfaces terse | match ae101     
ge-1/3/0.0              up    up   aenet    --> ae101.0
ge-1/3/1.0              up    up   aenet    --> ae101.0
ae101                   up    down
ae101.0                 up    down inet     10.0.0.1/31

user@mx1> show bfd session
                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier
 
10.0.0.2            Down        ge-1/3/1       0.500     0.100        5  
10.0.0.2            Down        ge-1/3/0       0.500     0.100        5  


user@mx2> show interfaces terse | match ae101
ge-2/3/8.0              up    up   aenet    --> ae101.0
ge-2/3/9.0              up    up   aenet    --> ae101.0
ae101                   up    down
ae101.0                 up    down inet     10.0.0.2/31

user@mx2> show bfd session
                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier

10.0.0.1            Down        ge-2/3/9       0.500     0.100        5  
10.0.0.1            Down        ge-2/3/8       0.500     0.100        5

Solution

Before 16.1 version, the loopback interface is created and its IP is used as a local address for BFD packet exchange. Loopback interfaces are considered to be logically in up state as long as they are administratively up. 
The IP address configured on the loopback interfaces is always up and present in the forwarding table. In the ingress direction, the destination address of BFD packets arriving on the AE interface matches the loopback address programmed in the forwarding table and the packets are punted to RE for further processing. 

This is not the case with AE Interface’s IP address. They are in reject state untill the interface comes up. The state of the interface is dependent on the state of the BFD. The interface will come up only if BFD control packets are exchanged and the BFD comes up. So a mechanism is needed to somehow validate destination address, protocol type and UDP port numbers of the initial set of BFD packets so that they can be punted to RE so that the BFD and the interface can come up. 

For this case, the BFD session configured under the condition of AE interface is up. So the BFD session can be up. But if the AE interface becomes down, the BFD packet will be discarded (before 16.1) on PFE and the BFD session can't be up anymore. 

The feature, 'BFD over LAG with Interface's IP as local BFD IP address' is supported after Junos release 16.1. Make sure both sides of the Junos version is higher than 16.1 if you want to use AE interface's addresses for neighbor and local-address.

If one of the versions is lower than 16.1, you can only use loopback interface as neighbor and local-address. Or upgrade both devices to 16.1 or higher.

Related Information