summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_interface.c
diff options
context:
space:
mode:
authorPunith Kumar S <punith.shivakumar@sophos.com>2022-07-13 09:51:16 +0000
committerPunith Kumar S <punith.shivakumar@sophos.com>2022-07-13 09:51:16 +0000
commita7c1a27f0ecfcf15013b73bc2efa78ca9d10a403 (patch)
tree5450f6b5c340b43481321e0ff7577408f006e14a /ospf6d/ospf6_interface.c
parent859cca2f70636c978626c723e302921038b8beb4 (diff)
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 <punith.shivakumar@sophos.com>
Diffstat (limited to 'ospf6d/ospf6_interface.c')
-rw-r--r--ospf6d/ospf6_interface.c5
1 files changed, 4 insertions, 1 deletions
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)