Bidirectional Forwarding Detection on Link Aggregation Group Bundle

The Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Bundle feature enables users to configure individual BFD sessions on each LAG member interface.

Feature Information for Bidirectional Forwarding Detection on Link Aggregation Group Bundle

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Bidirectional Forwarding Detection on Link Aggregation Group Bundle

Feature Name

Releases

Feature Information

Micro BFD Support with LACP

Cisco IOS XE Bengaluru 17.4.1a

Micro-BFD, which is supported for the physical member-links within a port-channel is now configured to receive BFD events and to create BFD sessions per member-link. The member-links are able to receive BFD events after you enable Micro-BFD for the port-channel member-links.

Bidirectional Forwarding Detection on Link Aggregation Group Bundle

Cisco IOS XE Fuji 16.8.1

The Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Bundle feature enables users to configure individual BFD sessions on each LAG member interface.

Information About Bidirectional Forwarding Detection on Link Aggregation Group Bundle

The Bidirectional Forwarding Detection (BFD) enhancement to address per-link efficiency feature enables users to configure individual BFD sessions on each Link Aggregation Group (LAG) member interface. With this enhancement BFD sessions run on each member link of the port-channel. BFD sessions running on member links of the port-channel are called as micro BFD sessions. Micro BFD sessions are supported for both LACP and non-LACP based-port channels. If BFD detects a fault in the bidirectional path between two forwarding engines that includes interfaces and data links, the member link is removed from the forwarding table. This mechanism delivers faster failure detection as the BFD sessions are created on individual port-channel interface. Users can configure BFD over main port-channel interface, that will monitor the bandwidth consumption of LAG by using a micro BFD session for each member. If any member port goes down the port is removed from the forwarding table and this prevents a null route for that member. Micro BFD works only when it is configured on all the members of port-channel. The logical BFD session takes less aggressive timers than the BFD on LAG sessions, whether it is configured on port-channel or port-channel sub-interfaces.

LAG combines multiple physical links into a single logical link that helps in providing higher bandwidth and better resiliency. If the physical member links fails, the aggregate logical link can continue to forward traffic over the remaining operational physical member links.

With the support of micro BFD feature, port channel manager considers the state of micro BFD sessions to determine the state of the port channel interface. Port channel implementation provides minimum links (lacp min-links) configuration to ensure bandwidth availability by making a port channel usable or unusable based on whether configured number of ports are available or not. The detection of micro BFD happens only when Link Aggregation Control Protocol (LACP) in COLLECTIING_DISTRIBUTION is in active state. Maximum member port supported for LACP mode per port-channel varies from one platform to another. For example, ASR 1000 supports 14 port-channels.

The goal of micro BFD sessions are:

  • Run BFD session over each LAG member link.

  • Verify link continuity for each member link.

  • Allow BFD to control the LAG member link to be part of the L2 load-balancing table of the LAG interface in the presence or absence of LACP.


Note


When a member-link receives a BFD_DOWN event, it is removed from the port-channel and the member link is added back to the port-channel only when a BFD_UP event is received on that member-link.


Restrictions for Bidirectional Forwarding Detection on Link Aggregation Group Bundle

  • Micro BFD sessions are not supported on port-channel sub interfaces.

  • Echo functionality is not supported on micro BFD sessions.

  • BFD supports only IPv4.

  • Micro BFD hardware offload is not supported.

  • Micro BFD sessions are not supported on partial member links of bundled port-channel.

How to Configure Bidirectional Forwarding Detection on Link Aggregation Group Bundle

Before you configure BFD template, ensure that BFD is enabled.

Configuring BFD Template


Device(config)# bfd-template single-hop testing 
Device(config-bfd)# interval min-tx 50 min-rx 50 multiplier 3 
Device(config-bfd)# end

The time interval specified can be up to 9999 milliseconds.

Applying Template to Port-Channel Interface

Device(config)#interface port-channel 60 
Device(config-if)#port-channel bfd destination ipv4 192.0.2.1 testing 
Device(config-if)#ip address 192.0.2.2 255.255.255.0 
Device(config-if)#no shutdown 
Device(config-if)#end

Note


Ensure that you run no shut on port-channel command, if you change the IP address of port-channel provided the member links are already added to port channel and Micro BFD is configured on port-channel.


Adding Member Ports to Port-Channel Group

Perform the following steps to add member ports to port-channel group:

Device(config)#interface Gi0/0/0 
Device(config-if)#channel-group 60 mode active 
Device(config-if)#no shutdown 
Device(config-if)#end

Verifying Bidirectional Forwarding Detection on Link Aggregation Group Bundle

Verifying Port Bundle State for BFD

show etherchannel summary

Flags:  D - down        P/bndl - bundled in port-channel
        I - stand-alone s/susp - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator 
        M - not in use, minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port

 Number of channel-groups in use: 1

Number of aggregators:           1 

Group  Port-channel  Protocol    Ports

------+-------------+-----------+-----------------------------------------------

60 Po60(RU) LACP  Gi0/0/0(bndl)

 RU - L3 port-channel UP State

SU - L2 port-channel UP state

P/bndl -  Bundled

S/susp  - Suspended 

R1#

Verifying Micro BFD Sessions

Device#show bfd neighbors interface Gi0/0/0 details

Port Channel IPv4 Sessions

NeighAddr                              LD/RD         RH/RS     State     Int    Parent Int

192.0.2.2                            4121/4120       Up        Up        Gi0/0/0     Po60

Session state is UP and not using echo function.

Session Host: Software

OurAddr: 192.0.2.1      

Handle: 1

Local Diag: 0, Demand mode: 0, Poll bit: 0

MinTxInt: 50000, MinRxInt: 50000, Multiplier: 3

Received MinRxInt: 50000, Received Multiplier: 3

Holddown (hits): 145(0), Hello (hits): 50(46)

Rx Count: 46, Rx Interval (ms) min/max/avg: 1/50/43 last: 5 ms ago

Tx Count: 47, Tx Interval (ms) min/max/avg: 1/50/41 last: 26 ms ago

Elapsed time watermarks: 0 0 (last: 0)

Registered protocols: PochIPv4 

Template: testing

Uptime: 00:00:01

Last packet: Version: 1                  - Diagnostic: 0

             State bit: Up               - Demand bit: 0

             Poll bit: 0                 - Final bit: 0

             C bit: 0                                   

             Multiplier: 3               - Length: 24

             My Discr.: 4120             - Your Discr.: 4121

             Min tx interval: 50000      - Min rx interval: 50000

             Min Echo interval: 0       
Device(config)#do show etherchannel summary
Flags:  D - down        P/bndl - bundled in port-channel
        I - stand-alone s/susp - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator

        M - not in use, minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 3
Number of aggregators:           3

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1	Po1(RU)		LACP	 Gi2/1/0(bndl) Gi2/1/1(bndl) Gi2/1/2(bndl)
10	Po10(RU)			 Gi0/1/2(P)
20	Po20(RU)		LACP	 Gi0/1/3(bndl) Gi0/1/4(bndl)

RU - L3 port-channel UP State
SU - L2 port-channel UP state
P/bndl -  Bundled
S/susp  - Suspended