]> git.puffer.fish Git - matthieu/frr.git/commit
ospf6d: Max aged LSAs are not getting deleted from DB
authorMobashshera Rasool <mrasool@vmware.com>
Thu, 24 Jun 2021 11:10:04 +0000 (11:10 +0000)
committermergify-bot <noreply@mergify.io>
Thu, 22 Jul 2021 16:33:22 +0000 (16:33 +0000)
commit17993ffb83413e2b0d9a3ff9c58ce02c2f58a731
tree053911f4aa886b2eb2af9cb8d1ea05110b567f91
parent9931db75f7730381ad4fba16efd39cbb67749470
ospf6d: Max aged LSAs are not getting deleted from DB

Problem Statement:
==================
Max aged LSAs are not getting deleted from DB when there are multiple
neighbors in a LAN.

Root Cause Analysis:
====================
When the LSA is added to the neighbor's retransmit list, the LSA retrans count
is incremented but it is not checked if the LSA is already present in the
retransmit list leading to the count being incremented multiple times
untill the ack is not received and when the ack is received the count is
decremented once and hence the count never becomes 0 and
it remains in the DB forever.

Fix:
====================
Do not increment the retrans count multiple times if the LSA is already
present in the retransmit list of the neighbor. Also do not add the LSA
in the retransmit List if already present.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
(cherry picked from commit c1e4c0dcf876ff6b352800402ff24254f8962238)
ospf6d/ospf6_flood.c