]> git.proxmox.com Git - mirror_frr.git/commitdiff
ospf6d: routes are not synced by ABR.
authorPunith Kumar S <punith.shivakumar@sophos.com>
Wed, 13 Jul 2022 09:51:16 +0000 (09:51 +0000)
committerPunith Kumar S <punith.shivakumar@sophos.com>
Wed, 13 Jul 2022 09:51:16 +0000 (09:51 +0000)
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>
ospf6d/ospf6_interface.c

index 2a503c62334856369e903dd423af71facca36b7e..37aa51a40659464d8fdc861e6d22e27a874d335d 100644 (file)
@@ -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)