07-22-2024 05:45 PM
In Cisco SD-WAN want to understand how BFD & OSPF co-work together.
I understand that BFD is used to monitor the underlay. If it find that the remote end point is not responding it brings down the bfd session. Want to understand how this works along with the OSPF. OSPF as routing protocol has it own timers to bring up and bring down the OSPF neighbourship. Wanted to understand how this both works together ?
07-22-2024 07:24 PM
Thanks. How to check the underlay ?
07-22-2024 11:41 PM - edited 07-23-2024 12:36 AM
any help or input ? Under interface I found the below. (Hello interval & hello tolerance) Is this the bfd timer ?
Also in the end it has the command no allow-service bfd. Does this means bfd is not enabled in this interface ?
interface GigabitEthernet0/0/4
tunnel-interface
encapsulation ipsec weight 1
no border
color metro-ethernet restrict
no last-resort-circuit
no low-bandwidth-link
max-control-connections 0
no vbond-as-stun-server
vmanage-connection-preference 0
port-hop
carrier default
nat-refresh-interval 5
hello-interval 1000
hello-tolerance 12
no allow-service bfd
07-23-2024 01:26 AM
Even though the below is configured since no allow-service bfd is configured does it mean underlay bfd is not enabled ?
hello-interval 1000
hello-tolerance 12
07-23-2024 01:34 AM
What could be the reason no allow-service bfd is configured
07-23-2024 03:05 AM
Need help
07-23-2024 03:13 AM - edited 07-23-2024 03:27 AM
MHM
07-23-2024 03:22 AM - edited 07-23-2024 03:23 AM
Thanks. Mine it shows as below. no allow-service bfd is configured.
interface GigabitEthernet0/0/4
tunnel-interface
encapsulation ipsec weight 1
no border
color metro-ethernet restrict
no last-resort-circuit
no low-bandwidth-link
max-control-connections 0
no vbond-as-stun-server
vmanage-connection-preference 0
port-hop
carrier default
nat-refresh-interval 5
hello-interval 1000
hello-tolerance 12
no allow-service bfd
Does it means, bfd is not running on this interface ?
07-23-2024 03:28 AM
no allow-service bfd
Any reason for the above command ?
07-23-2024 03:44 AM
As I mention there is SDWAN BFD run in the overly tunnel and it by default enable can be disable
This example shows that BGP is configured, BFD is enabled on the interface under VRF 1, and then on service-side BGP.
interface GigabitEthernet5
bfd template t1
!
router bgp 10005
bgp log-neighbor-changes
distance bgp 20 200 20
!
address-family ipv4 vrf 1
bgp router-id 10.20.24.15
redistribute connected
neighbor 10.20.24.17 remote-as 10007
neighbor 10.20.24.17 activate
neighbor 10.20.24.17 send-community both
neighbor 10.20.24.17 maximum-prefix 2147483647 100
neighbor 10.20.24.17 fall-over bfd
exit-address-family
!
address-family ipv6 vrf 1
bgp router-id 10.20.24.15
neighbor 2001::7 remote-as 10007
neighbor 2001::7 activate
neighbor 2001::7 send-community both
neighbor 2001::7 maximum-prefix 2147483647 100
neighbor 2001::7 fall-over bfd
exit-address-family
interface GigabitEthernet1
bfd template t1
!
router bgp 10005
bgp router-id 10.1.15.15
bgp log-neighbor-changes
distance bgp 20 200 20
neighbor 10.1.15.13 remote-as 10003
neighbor 10.1.15.13 fall-over bfd
address-family ipv4 unicast
neighbor 10.1.15.13 remote-as 10003
neighbor 10.1.15.13 activate
neighbor 10.1.15.13 maximum-prefix 2147483647 100
neighbor 10.1.15.13 send-community both
redistribute connected
exit-address-family
!
timers bgp 60 180
sdwan
interface GigabitEthernet1
tunnel-interface
allow-service bgp
allow-service bfd <<- NEED SURE FOR transport
07-23-2024 05:23 AM
Let me explain this..
In SD-WAN, BFD is one of the mandatory protocols which runs over IPSec or GRE, so point-to-point tunnel between routers are established and BFD runs inside tunnel. Purpose of BFD is health check i.e is BFDs are missing tunnel is considered down. Also, based on BFD requests/responses it is calculated point-to-point loss % , jitter, delay which is important for application aware routing.
2024/7/19 21:08 SDWAN 10.1.1.13 bfd-state-change major BFD host-name=SDWAN; src-ip=10.2.255.2; dst-ip=10.3.255.1; proto=ipsec; src-port=12386; dst-port=12386; local-system-ip=10.1.1.13; local-color=metro-ethernet; remote-system-ip=10.1.254.1; remote-color=metro-ethernet; new-state=down; deleted=false; flap-reason=timeout
This alert means that between 10.2.255.2 and 10.3.255.1 (udp 12386/12386) is went down due to timeout (no response within timeout timer).
Parameters of this BFD function can be changed via feature template in vManage GUI.
***
One the other than after 17.3/20.3 classic/legacy BFD is introduced to quickly detect failure for routing protocols - OSPF/BGP/EIGRP for service-side (VPN X)
Since BGP can be on transport side, BFD is also supported for transport side BGP. This is optional feature, you may or may not enable it. It optimizes routing protocols so fast neighbor failure is detected. This function is configured via CLI Add-on template (pure CLI configuration). This does not have any relation to your mentioned alert.
07-23-2024 05:45 AM
Thanks @Kanan Huseynli
Let me ask few more questions for clarifications.
After the above logs shared, I got the below message after2 seconds that the state is up.
remote-color=metro-ethernet; new-state=up; deleted=false; flap-reason=na
So the BFD went down and came up in 2 seconds.
What I am trying to find out what is the BFD timers. What is the hello interval ? How frequently BFD are sent and when it is decided that the session is down. Basically I want to know the timers.
When I checked my SD-WAN configuration, I found 2 things.
1. There is a feature template for BFD and it is applied to all devices.
The feature template has the below configurations.
Multiplier - 6
Poll Intervals (milliseconds) - 120000
2. Under the transport interface found the below configuration.
Is hello-interval 1000 & hello-tolerance 12 related to BFD timers. Also there is command no allow-service bfd. Does this mean bfd is not allowed in this interfaace ?
---------------------------------------------------------------------
interface GigabitEthernet0/0/4
tunnel-interface
encapsulation ipsec weight 1
no border
color metro-ethernet restrict
no last-resort-circuit
no low-bandwidth-link
max-control-connections 0
no vbond-as-stun-server
vmanage-connection-preference 0
port-hop
carrier default
nat-refresh-interval 5
hello-interval 1000
hello-tolerance 12
allow-service all
allow-service bgp
no allow-service dhcp
allow-service dns
no allow-service icmp
no allow-service sshd
no allow-service netconf
no allow-service ntp
no allow-service ospf
no allow-service stun
allow-service https
no allow-service snmp
no allow-service bfd
07-23-2024 05:47 AM
In addition my cEdge version is 17.09.03.0.15
So in this version does it runs both the type of BFDs.
07-23-2024 10:11 AM
vEdge-2# show bfd sessions
this give you interval and multiplier
NOTE:- if command not work add ""sdwan"" word after show
I think by default the BFD have same value for all color but you can change that.
07-23-2024 10:00 AM
Hi,
hello-interval and hello-tolerance interface are for interface control packets (DTLS or TLS). This is not related to BFD.
BFD has other commands as timers:
show sdwan running-config bfd - command that shows configuration.
By default, BFD packets are send every 1 sec (the same value of interface DTLS/TLS hello-interface).
Multiplier is 7 which means, if 7 consecutive hellos are lost, then tunnel is down.
Coming back to your case:
tunnel went down
tunnel comes up after 2 seconds
> this is normal, because BFD hellos are sent every 1 sec by default (configurable per color using global config mode, note interface).
If you had default values but tunnel comes up and immediately after 2 seconds goes down then this would be not normal, since router should wait 7 seconds.
07-23-2024 05:16 PM
Thanks. I understand that hello-interval and hello-tolerance are not related to bfd timers.
But my question still continues with respect to BFD timers regarding below point.
1. There is a feature template for BFD and it is applied to all devices.
The feature template has the below configurations.
Multiplier - 6
Poll Intervals (milliseconds) - 120000
Does this means BFD will be polled only after every 2 minutes ?
My understanding is that it will poll for every 2 minutes. If so how the below log is there in 2 seconds after it went down.
remote-color=metro-ethernet; new-state=up; deleted=false; flap-reason=na
In additon once the bfd state change is detected by when OSPF wil try to recalculate the path.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide