cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
29364
Views
40
Helpful
0
Comments
ashirkar
Level 7
Level 7


Introduction:

BGP Fast-external-fallover command terminates external BGP sessions of any directly adjacent peer if the link used to reach the peer goes down; without waiting for the hold-down timer to expire.

Although this feature improves the BGP conversion time, it may lead to great instability in your BGP table due to a flapping interface. By default this feature is enabled in Cisco IOS.

Configuration Example:

In the following topology R1 & R2 configured with an EBGP session between them as follows:

 

0910.jpg

 

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#int fa1/0

R1(config-if)#ip add 10.1.1.1 255.255.255.0

R1(config-if)#no sh

R1(config-if)#exit

R1(config)#router bgp 65001

R1(config-router)#neighbor 10.1.1.2 remote-as 65002

R1(config-router)#exit

 

R2#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R2(config)#int fa1/0

R2(config-if)#ip add 10.1.1.2 255.255.255.0

R2(config-if)#no sh

R2(config-if)#exit

R2(config)#router bgp 65002

R2(config-router)#neighbor 10.1.1.1 remote-as 65001

R2(config-router)#exit

 

On Both routers you can see BGP neighborship is up

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       4       4      1   0   0 00:00:38       0

 

R2#sh ip bgp sum | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.1       4       65001       7       7       1   0   0 00:02:47       0

 

When you shut down the interface connected between R1 & R2; you can see R1 immediately resets the peering session without waiting for the hold-down time to expire as shown in the debug output below:

R1#debug ip bgp 10.1.1.2

BGP debugging is on for neighbor 10.1.1.2 for address family: IPv4 Unicast

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#int fa1/0

R1(config-if)#sh

R1(config-if)#

*Apr 27 20:03:13.455: BGP: 10.1.1.2 resetting - interface FastEthernet1/0 down

*Apr 27 20:03:13.455: BGP: ses global 10.1.1.2 (0x6808A92C:1) Reset (Interface flap).

*Apr 27 20:03:13.471: BGP: nbr_topo global 10.1.1.2 IPv4 Unicast:base (0x6808A92C:1) NSF delete stale NSF not active

*Apr 27 20:03:13.471: BGP: nbr_topo global 10.1.1.2 IPv4 Unicast:base (0x6808A92C:1) NSF no stale paths state is NSF not active

*Apr 27 20:03:13.475: BGP: nbr_topo global 10.1.1.2 IPv4 Unicast:base (0x6808A92C:1) Resetting ALL counters.

*Apr 27 20:03:13.475: BGP: 10.1.1.2 closing

*Apr 27 20:03:13.479: BGP: nbr_topo global 10.1.1.2 IPv4 Unicast:base (0x6808A92C:1) Resetting ALL counters.

*Apr 27 20:03:13.479: BGP: 10.1.1.2 went from Established to Idle

*Apr 27 20:03:13.479: %BGP-5-ADJCHANGE: neighbor 10.1.1.2 Down Interface flap

*Apr 27 20:03:13.483: %BGP_SESSION-5-ADJCHANGE: neighbor 10.1.1.2 IPv4 Unicast topology base removed from session Interface flap

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       0       0       1   0   0 00:00:43 Idle

 

From the above output you can see neighbors go down immediately

I have no shut the interface and again we have bgp neighborship. Now let’s disable “bgp fast-external-fallover” command, shutdown the interface and see what will happen?

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config-if)#router bgp 65001

R1(config-router)#no bgp fast-external-fallover

R1(config)#int fa1/0

R1(config-if)#sh

R1(config-if)#^Z

R1#

*Apr 27 20:55:29.603: %SYS-5-CONFIG_I: Configured from console by console

*Apr 27 20:55:30.487: %LINK-5-CHANGED: Interface FastEthernet1/0, changed state to administratively down

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       7       7       1   0   0 00:03:11       0

 

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       7       7       1   0   0 00:03:35       0

*Apr 27 20:57:22.215: BGP: topo global:IPv4 Unicast:base Scanning routing tables

*Apr 27 20:57:22.219: BGP: topo global:IPv4 Multicast:base Scanning routing tables

 

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       7       9       1   0   0 00:05:09       0

 

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       7       9       1   0   0 00:05:17       0

 

R1#sh ip bgp summary | beg Nei

Neighbor       V          AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       7     10       1   0   0 00:05:33       0

 

R1#sh ip bgp summary | beg Nei

Neighbor       V           AS MsgRcvd MsgSent   TblVer InQ OutQ Up/Down State/PfxRcd

10.1.1.2       4       65002       0       0       1   0   0 00:00:00 Idle

R1#

*Apr 27 20:58:12.347: BGP: 10.1.1.2 connection timed out 180172ms (last update) 180000ms (hold time)

*Apr 27 20:58:12.347: BGP: 10.1.1.2 went from Established to Closing

*Apr 27 20:58:12.351: %BGP-5-ADJCHANGE: neighbor 10.1.1.2 Down BGP Notification sent

*Apr 27 20:58:12.351: %BGP-3-NOTIFICATION: sent to neighbor 10.1.1.2 4/0 (hold time expired) 0 bytes

*Apr 27 20:58:12.351: BGP: ses global 10.1.1.2 (0x6816B4EC:1) Send NOTIFICATION 4/0 (hold time expired) 0 bytes

*Apr 27 20:58:12.359: BGP: 10.1.1.2 local error close after sending NOTIFICATION

R1#u all

All possible debugging has been turned off

R1#

R1#sh ip bgp nei 10.1.1.2 | in hold

Last read 00:00:06, last write 00:00:07, hold time is 180, keepalive interval is 60 seconds

minRTT: 64 ms, maxRTT: 300 ms, ACK hold: 200 ms

 

From the above output you can see that after shutting the interface connected between R1 & R2 down the session remains up until the hold-down timer expires.

BGP fast external fallover can also be configured on a per-interface basis using the "ip bgp fast-external-fallover" interface configuration command.

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#int fa0/0

R1(config-if)#ip bgp

R1(config-if)#ip bgp fa

R1(config-if)#ip bgp fast-external-fallover ?

deny   dis-allow fast fallover

permit allow fast fallover

Related Information:

BGP Commands:

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: