Missing ECMP nexthops for OSPFv3 inter-area routes
gromit1811 opened this issue · comments
Description
Since 217e505, topotest ospf6_ecmp_inter_area intermittently fails due to a wrong number of nexthops for certain routes. See comments to #16055 where this was mentioned initially and further discussion in comments to #15899.
Failure rates are ~10% in my tests but vary wildly (I also saw 200 successful runs in a row). @acooks-at-bda reported a 100% failure rate in his tests, but I've been unable to get anywhere near when I tried to reproduce his environment.
When the error occurs, the initial pre-condition nexthop check in
fails.Note: This report is mostly a placeholder to record the fact that I'm investigating this. I can't dedicate too much time to it, so if somebody wants to help or is faster than me, be my guest 😉
Version
Git master 217e505a67df1ac03483f7c9a97cf4947dd40707
How to reproduce
pytest tests/topotests/ospf6_ecmp_inter_area
Expected behavior
Test succeeds
Actual behavior
Test sometimes fails with errors like this (nexthop pattern is not always exactly the same):
======================================= test session starts ========================================
platform linux -- Python 3.12.3, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/frr/frr/tests/topotests
configfile: pytest.ini
collected 3 items
tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py .Fs [100%]
============================================= FAILURES =============================================
_______________________________________ test_ecmp_inter_area _______________________________________
def test_ecmp_inter_area():
"Test whether OSPFv3 ECMP nexthops are properly updated for inter-area routes after link down"
tgen = get_topogen()
if tgen.routers_have_failure():
pytest.skip(tgen.errors)
def num_nexthops(router):
# Careful: "show ipv6 ospf6 route json" doesn't work here. It will
# only list one route type per prefix and that might not necessarily
# be the best/selected route. "show ipv6 route ospf6 json" only
# lists selected routes, so that's more useful in this case.
routes = tgen.gears[router].vtysh_cmd("show ipv6 route ospf6 json", isjson=True)
route_prefixes_infos = sorted(routes.items())
# Note: ri may contain one entry per routing protocol, but since
# we've explicitly requested only ospf6 above, we can count on ri[0]
# being the entry we're looking for.
return [ri[0]["internalNextHopActiveNum"] for rp, ri in route_prefixes_infos]
def expect_num_nexthops(router, expected_num_nexthops, count):
"Wait until number of nexthops for routes matches expectation"
logger.info(
"waiting for OSPFv3 router '{}' nexthops {}".format(
router, expected_num_nexthops
)
)
test_func = partial(num_nexthops, router)
_, result = topotest.run_and_expect(
test_func, expected_num_nexthops, count=count, wait=3
)
assert (
result == expected_num_nexthops
), "'{}' wrong number of route nexthops".format(router)
# Check nexthops pre link-down
# tgen.mininet_cli()
> expect_num_nexthops("r1", [1, 1, 1, 1, 2, 3, 3, 3, 3], 4)
/home/frr/frr/tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py:195:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
router = 'r1', expected_num_nexthops = [1, 1, 1, 1, 2, 3, ...], count = 4
def expect_num_nexthops(router, expected_num_nexthops, count):
"Wait until number of nexthops for routes matches expectation"
logger.info(
"waiting for OSPFv3 router '{}' nexthops {}".format(
router, expected_num_nexthops
)
)
test_func = partial(num_nexthops, router)
_, result = topotest.run_and_expect(
test_func, expected_num_nexthops, count=count, wait=3
)
> assert (
result == expected_num_nexthops
), "'{}' wrong number of route nexthops".format(router)
E AssertionError: 'r1' wrong number of route nexthops
E assert [1, 1, 1, 1, 2, 1, ...] == [1, 1, 1, 1, 2, 3, ...]
E At index 5 diff: 1 != 3
E Use -v to get more diff
/home/frr/frr/tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py:189: AssertionError
---------------------------------------- Captured log call -----------------------------------------
2024-06-11 18:11:15,253 ERROR: topo: 'num_nexthops' failed after 12.30 seconds
------------------------- generated xml file: /tmp/topotests/topotests.xml -------------------------
===================================== short test summary info ======================================
FAILED tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py::test_ecmp_inter_area - AssertionError: 'r1' wrong number of route nexthops
============================= 1 failed, 1 passed, 1 skipped in 34.32s ==============================
Additional context
The actual issue seems to be that sometimes one of the 2 ABRs (R5 and R6) doesn't originate an Inter-Router LSAs (type 4) when it should, causing a path to the destination (R7) to be lost. I don't know yet why that happens.
Note: The problem is most likely neither caused by 217e505 nor by b925570 (the bugfix which the topotest update is trying to verify) but existed before. It was noticed only now just because there was no testcase for inter-area ECMP routes before.
Checklist
- I have searched the open issues for this bug.
- I have not included sensitive information in this report.
I analyzed one failure (with Git 82dcb1d, slightly newer than the one mentioned above) and I think I know what's happening, but not yet why...
In this case, R5 originated the expected Inter-Router LSA for R7, but R6 didn't (ultimately). Full logs attached:
ospf6d-startup-r5.log
ospf6d-startup-r6.log
Events related to the R7 Inter-Router LSA, both from R5 (left) and R6 (right), commented:
# R6 originates the LSA in area 0:
2024/06/12 12:37:51.296041 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.296043 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.296045 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:51.296131 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:51.296133 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:51.296135 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000001 Cksum: 0fe1 Len: 32
2024/06/12 12:37:51.296215 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 0
2024/06/12 12:37:51.296216 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.296218 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
# R5 receives this and originates it in area 1 (right now, it doesn't see the direct connection to R7 in area 1 yet):
2024/06/12 12:37:51.299562 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.299563 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.299565 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:51.299566 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.299568 OSPF6: [JJ7N3-VVYV2] Originating summary in area 1 for ASBR 10.254.254.7
2024/06/12 12:37:51.299588 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:51.299591 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.5]
2024/06/12 12:37:51.299593 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000001 Cksum: a623 Len: 32
2024/06/12 12:37:51.299631 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 1
# R5 now sees the direct connection to R7 and originates the LSA in area 0:
2024/06/12 12:37:51.302592 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.302594 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.302596 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:51.302675 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:51.302677 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.5]
2024/06/12 12:37:51.302679 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000001 Cksum: 15dc Len: 32
2024/06/12 12:37:51.302739 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 0
2024/06/12 12:37:51.302741 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.302743 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
# R5 expires its original LSA in area 1 because the path to R7 via area 0 and R6 is no longer the best:
2024/06/12 12:37:51.304010 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.304012 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.304014 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:51.304015 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.304018 OSPF6: [JJ7N3-VVYV2] Originating summary in area 1 for ASBR 10.254.254.7
2024/06/12 12:37:51.304073 OSPF6: [XQWSV-5GJQ6] This is the secondary path to the ASBR, ignore
2024/06/12 12:37:51.304081 OSPF6: [WA749-NPMHH] LSA: Premature aging: [Inter-Router Id:10.254.254.7 Adv:10.254.254.5]
2024/06/12 12:37:51.304087 OSPF6: [SYY2T-BK418] LSA Expire:
2024/06/12 12:37:51.304090 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.5]
2024/06/12 12:37:51.304091 OSPF6: [HA4BY-46K3Y] Age: 3600 SeqNum: 0x80000001 Cksum: a623 Len: 32
# At this time, everything would be as it should.
# But R6 now thinks its LSA in area 0 no longer describes the best path (even though it still does) and expires it. This causes the missing nexthop at R1:
2024/06/12 12:37:51.346949 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.346950 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.346953 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:51.346954 OSPF6: [XQWSV-5GJQ6] This is the secondary path to the ASBR, ignore
2024/06/12 12:37:51.346963 OSPF6: [WA749-NPMHH] LSA: Premature aging: [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:51.346978 OSPF6: [SYY2T-BK418] LSA Expire:
2024/06/12 12:37:51.346980 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:51.346982 OSPF6: [HA4BY-46K3Y] Age: 3600 SeqNum: 0x80000001 Cksum: 0fe1 Len: 32
2024/06/12 12:37:51.347061 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.347063 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
# R6 originates its LSA again, just to expire it again immediately afterwards. This cycle repeats a few times:
2024/06/12 12:37:51.347608 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.347610 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.347612 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:51.347634 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:51.347636 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:51.347638 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000002 Cksum: 0de2 Len: 32
2024/06/12 12:37:51.347742 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 0
2024/06/12 12:37:51.347743 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.347798 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:51.347827 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:51.347829 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:51.347831 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:51.347833 OSPF6: [XQWSV-5GJQ6] This is the secondary path to the ASBR, ignore
2024/06/12 12:37:51.347841 OSPF6: [WA749-NPMHH] LSA: Premature aging: [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:51.347860 OSPF6: [SYY2T-BK418] LSA Expire:
2024/06/12 12:37:51.347863 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:51.347865 OSPF6: [HA4BY-46K3Y] Age: 3600 SeqNum: 0x80000002 Cksum: 0de2 Len: 32
2024/06/12 12:37:51.347939 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:51.347940 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:52.126621 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:52.126622 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:52.126624 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:52.126647 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:52.126649 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:52.126651 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000003 Cksum: 0be3 Len: 32
2024/06/12 12:37:52.126811 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 0
2024/06/12 12:37:52.126812 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:52.126814 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:52.126837 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:52.126838 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:52.126841 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:52.126843 OSPF6: [XQWSV-5GJQ6] This is the secondary path to the ASBR, ignore
2024/06/12 12:37:52.126850 OSPF6: [WA749-NPMHH] LSA: Premature aging: [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:52.126870 OSPF6: [SYY2T-BK418] LSA Expire:
2024/06/12 12:37:52.126873 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:52.126874 OSPF6: [HA4BY-46K3Y] Age: 3600 SeqNum: 0x80000003 Cksum: 0be3 Len: 32
2024/06/12 12:37:52.126948 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:52.126950 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:52.176949 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:52.176951 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:52.176953 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:52.176977 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:52.176979 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:52.176981 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000004 Cksum: 09e4 Len: 32
2024/06/12 12:37:52.177146 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 0
2024/06/12 12:37:52.177147 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:52.177149 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:52.177172 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:52.177173 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:52.177176 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:52.177177 OSPF6: [XQWSV-5GJQ6] This is the secondary path to the ASBR, ignore
2024/06/12 12:37:52.177185 OSPF6: [WA749-NPMHH] LSA: Premature aging: [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:52.177205 OSPF6: [SYY2T-BK418] LSA Expire:
2024/06/12 12:37:52.177207 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:52.177209 OSPF6: [HA4BY-46K3Y] Age: 3600 SeqNum: 0x80000004 Cksum: 09e4 Len: 32
2024/06/12 12:37:52.177282 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:52.177284 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:54.629330 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:54.629331 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:54.629333 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:54.629356 OSPF6: [TQB4M-JQ72Z] LSA Originate:
2024/06/12 12:37:54.629359 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:54.629361 OSPF6: [HA4BY-46K3Y] Age: 0 SeqNum: 0x80000005 Cksum: 07e5 Len: 32
2024/06/12 12:37:54.629522 OSPF6: [XKC5G-YW93A] ospf6_abr_originate_summary_to_area : finish area 0
2024/06/12 12:37:54.629523 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:54.629525 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
2024/06/12 12:37:54.629548 OSPF6: [T0FMF-6KKCP] ospf6_abr_originate_summary: route 10.254.254.7
2024/06/12 12:37:54.629550 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 0, route 10.254.254.7
2024/06/12 12:37:54.629553 OSPF6: [JJ7N3-VVYV2] Originating summary in area 0 for ASBR 10.254.254.7
2024/06/12 12:37:54.629554 OSPF6: [XQWSV-5GJQ6] This is the secondary path to the ASBR, ignore
2024/06/12 12:37:54.629562 OSPF6: [WA749-NPMHH] LSA: Premature aging: [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:54.629582 OSPF6: [SYY2T-BK418] LSA Expire:
2024/06/12 12:37:54.629585 OSPF6: [GNRNM-HX7W3] [Inter-Router Id:10.254.254.7 Adv:10.254.254.6]
2024/06/12 12:37:54.629587 OSPF6: [HA4BY-46K3Y] Age: 3600 SeqNum: 0x80000005 Cksum: 07e5 Len: 32
2024/06/12 12:37:54.629661 OSPF6: [R7CVJ-7KRKN] ospf6_abr_originate_summary_to_area : start area 1, route 10.254.254.7
2024/06/12 12:37:54.629663 OSPF6: [WVWH0-3KHW3] ospf6_abr_originate_summary_to_area: The route is in the area itself, ignore
Next step is to determine what triggers the false "This is the secondary path to the ASBR, ignore" at 12:37:51.346954.
For reference, this is the topo diagram from the test case:
.
Area 0 . Area 1
.
-- R2 ------ R5 -----
/ .\ \
/ . | \
R1 --- R3 ------ R6 ------ R7
\ / |. |
\ / |. |
-- R4 ---- |. |
/ ./
R8 --
.