OSPF Hellos
Load base.ipv4.and.ipv6.cfg
#IOS-XE
config replace flash:base.ipv4.and.ipv6.cfg
#IOS-XR
configure
load bootflash:base.ipv4.and.ipv6.cfg
commit replace
y

Configure OSPFv2 on R5, R6 and XR1 as follows:
Use a hello/dead timer of .333/1 on R5 and R6
Use a hello/dead timer of 1/3 on XR1
Configure OSPFv3 on R5, R6 and XR1 as follows:
Use a hello/dead timer of 2/6 on R5 and R6
Use a hello/dead timer of 3/9 on XR1
Enable OSPFv2/v3 on the following interfaces:
R5-R6
R6-XR1
Will all adjacencies come up?
Answer
#R5
int gi2.56
ip ospf 1 area 0
ip ospf dead-interval minimal hello-multiplier 3
ospfv3 1 ipv6 area 0
ospfv3 hello-interval 2
ospfv3 dead-interval 6
#R6
int gi2.56
ip ospf 1 area 0
ip ospf dead-interval minimal hello-multiplier 3
ospfv3 1 ipv6 area 0
ospfv3 hello-interval 2
ospfv3 dead-interval 6
int gi2.619
ip ospf 1 area 0
ip ospf dead-interval minimal hello-multiplier 3
ospfv3 1 ipv6 area 0
ospfv3 hello-interval 2
ospfv3 dead-interval 6
#XR1
router ospf 1
area 0
int gi0/0/0/0.619
hello-interval 1
dead-interval 3
!
router ospfv3 1
area 0
int gi0/0/0/0.619
hello-interval 3
dead-interval 9
Explanation
Before we explore BFD, we should have a deep understanding how of the basic Hello timers work for each protocol.
In OSPF, the hello/dead timers must match between neighbors. This is one of the few protocols that requires this. For this reason, only the R5-R6 OSPFv2/v3 adjacency will come up in this lab.
If we use debug ip ospf hello on R6, we can see why the adjacency with XR1 will not form. The received (R) dead interval is 3 but the configured (C) interval is 1. Also, the (R) hello interval is 1 but the (C) hello interval is 0. XR1 does not support the sub-second hello. (This is because when the code for IOS-XR was being written, BFD already existed).

We can see this on XR as well with debug ospf 1 hello

The OSPF dead interval is by default 4x the Hello interval. If we only set the hello interval, the dead interval will automatically be calculated as 4x the Hello. For example, change XR1’s OSPF hello to 2 seconds and delete the dead-interval.
#XR1
router ospf 1
area 0
interface GigabitEthernet0/0/0/0.619
no dead-interval
no hello-interval
hello-interval 2

Interestingly, OSPFv3 does not support the sub-second hello for either IOS-XE or IOS-XR. By this time, BFD was already available, which is a better solution.
We can see that the OSPFv3 adj between XR1 and R6 also does not come up due to mismatched timers using debug ospfv3 hello

Last updated