]> git.proxmox.com Git - mirror_frr.git/commit
ospfd: ospf nbr in full although mismatch in hello packet contents
authorMobashshera Rasool <mrasool@vmware.com>
Wed, 6 Oct 2021 17:04:10 +0000 (10:04 -0700)
committerMobashshera Rasool <mrasool@vmware.com>
Wed, 6 Oct 2021 17:04:10 +0000 (10:04 -0700)
commit874a549d519d4cb9aaee327f45666cac2b34901d
treebbd9367d4bf691bb7dfd1ad25b67e50f28d770ed
parent11ed589224c8086903dcc1dbd28de4b98dcb7516
ospfd: ospf nbr in full although mismatch in hello packet contents

Issue:
===================
OSPF neighbors are not going down even after 10 mins when
having a mismatch in hello and dead interval.
First neighbors are formed and then a mismatch in the interval
is created, it is observed that the neighbor is not going down.

Root Cause Analysis:
====================
The event HelloReceived defined in RFC 2328 was named as PacketReceived
and this event was scheduled whenever LS Update, LS Ack, LS Request,
DD description packet or Hello packet is received.
Although there is a mismatch in the Hello packet contents, the
event PacketReceived gets triggered due to LS Update received and the
dead timer gets reset and hence the neighbor was never going Down and
remains FULL.

Fix:
==================
As per RFC 2328, the HelloReceived needs to be triggered only when
valid OSPF Hello packet is received and not when other OSPF packets
are received. Modified the function name as well.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
ospfd/ospf_nsm.c
ospfd/ospf_nsm.h
ospfd/ospf_packet.c