]> git.puffer.fish Git - matthieu/frr.git/commit
ospfd: fix backbone connection check to account for restarting neighbors
authorRenato Westphal <renato@opensourcerouting.org>
Wed, 24 Nov 2021 15:46:12 +0000 (12:46 -0300)
committerRenato Westphal <renato@opensourcerouting.org>
Wed, 24 Nov 2021 23:21:42 +0000 (20:21 -0300)
commit225883cf4d05ab1d35e41ee3f22a795a2d3830d0
tree9b2a7192e2b087145b051e673e5f9923d5937ff4
parent1bb2674ce451d634635fcfec509bd195af8310ca
ospfd: fix backbone connection check to account for restarting neighbors

An OSPF ABR, while in the process of announcing summary LSAs,
checks whether it's connected to the backbone area. If not, then
all summary LSAs are invalidated and not announced (or flushed)
while the missing backbone connectivity persists.

The backbone connectivity check consists of assessing whether
there's at least one fully formed adjacency in the backbone area. The
problem is that this check can fail unexpectedly if the router is
acting as a helper for a neighbor that is performing a graceful
restart. This is because there's a short interim of time in which
that neighbor's state will oscillate between ExStart and Full during
the LSDB synchronization process.

To address that issue, update ospf_act_bb_connection() to consider
neighbors performing a graceful restart as if they were fully
adjacent (which is what a GR helper should do).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
ospfd/ospf_abr.c