]> git.puffer.fish Git - mirror/frr.git/commit
ospf6d: fix infinite loop when adding ASBR route 12412/head
authorRenato Westphal <renato@opensourcerouting.org>
Thu, 24 Nov 2022 01:14:51 +0000 (22:14 -0300)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Mon, 28 Nov 2022 13:46:35 +0000 (13:46 +0000)
commit176f7aa788ac627daa572e3ad4c4a60f4148702a
treeba71c62189ce32dbf80c0518ab45e8f918b6f9db
parent3e717bd02472b6c8bb52155db2292aa158d8064b
ospf6d: fix infinite loop when adding ASBR route

Commit 8f359e1593c414322 removed a check that prevented the same route
from being added twice. In certain topologies, that change resulted in
the following infinite loop when adding an ASBR route:

ospf6_route_add
 ospf6_top_brouter_hook_add
  ospf6_abr_examin_brouter
   ospf6_abr_examin_summary
    ospf6_route_add
     (repeat until stack overflow)

Revert the offending commit and update `ospf6_route_is_identical()` to
not do comparison using `memcmp()`.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
(cherry picked from commit 4dfe15200ab1a84a8d77fcbc33085c373d556eae)
ospf6d/ospf6_route.c
ospf6d/ospf6_route.h