From a7c1a27f0ecfcf15013b73bc2efa78ca9d10a403 Mon Sep 17 00:00:00 2001 From: Punith Kumar S Date: Wed, 13 Jul 2022 09:51:16 +0000 Subject: ospf6d: routes are not synced by ABR. topology: C1--R1---R2---R3--C2 client C1 connected to router node R1 client C2 connected to router node R3 router nodes R1,R2 and R3 are back to back connected area 0 configured between R1 and R2 R1: all routes of area 0 are learnt successfully R2: all routes of area 0 are learnt successfully area 1 configured between R2 and R3 R2: all routes are learnt from R3 R3: routes learnt from C1 on ABR router R2 does not get forward to R3 root cause: on interface start, ABR schedule task is missing. fix: handle ABR schedule during interface start event Signed-off-by: Punith Kumar S --- ospf6d/ospf6_interface.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ospf6d/ospf6_interface.c') diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 2a503c6233..37aa51a406 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -37,6 +37,7 @@ #include "ospf6_route.h" #include "ospf6_area.h" #include "ospf6_abr.h" +#include "ospf6_nssa.h" #include "ospf6_interface.h" #include "ospf6_neighbor.h" #include "ospf6_intra.h" @@ -1742,8 +1743,10 @@ void ospf6_interface_start(struct ospf6_interface *oi) ospf6_interface_enable(oi); /* If the router is ABR, originate summary routes */ - if (ospf6_check_and_set_router_abr(ospf6)) + if (ospf6_check_and_set_router_abr(ospf6)) { ospf6_abr_enable_area(oa); + ospf6_schedule_abr_task(ospf6); + } } void ospf6_interface_stop(struct ospf6_interface *oi) -- cgit v1.2.3