]> git.puffer.fish Git - mirror/frr.git/commit
ospf6d: ospf6d is crashing upon receiving duplicated Grace LSA. 9772/head
authorrgirada <rgirada@vmware.com>
Tue, 5 Oct 2021 07:52:36 +0000 (00:52 -0700)
committermergify-bot <noreply@mergify.io>
Thu, 7 Oct 2021 15:03:30 +0000 (15:03 +0000)
commit8cf42cd81b88746ffdda29a8dfe1c28fcd2421a2
treed1eafdc78adff9ef9530d7c6cb11f4f427f190d0
parent005a4210c06c2c17806009c341529dce09e14897
ospf6d: ospf6d is crashing upon receiving duplicated Grace LSA.

Description:
When grace lsa received, DUT is adding
the copy of the  lsas  to all nbrs retransmission  list as part of
flooding procedure and subsequently incrementing the rmt counter in
the original the LSA. This counter is supposed to be decremented
when ack is received by nbr and the lsa  will be removed from retransmission list.

But in our current scenario,
Step-1:
When GR helper is disabled, if DUT receives the grace lsa
it adds the lsa copy to nbrs retransmission list but original
LSA will be discarded since GR helper disabled.
Step-2:
GR helper enabled and DUT receives the grace lsa, as part
of flooding process all nbrs have same copy of lsa in their
corresponding rmt list which was added in step -1 due to this
the corresponding rmt counter in the original lsa is not getting
incremented.
Step-3:
If the same copy of the grace lsa received by DUT, It considers
as implicit ack from nbr if the same copy of the lsa exits in its
rmt list and subsequently  decrement the rmt counter.
Since counter is zero (because of step-1 and 2) , it is asserting while decrement.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
(cherry picked from commit a60eab9e109fd2625dc3f941d7d9be2b6312f593)
ospf6d/ospf6_flood.c