diff options
| author | Punith Kumar S <punith.shivakumar@sophos.com> | 2022-07-13 09:51:16 +0000 | 
|---|---|---|
| committer | Punith Kumar S <punith.shivakumar@sophos.com> | 2022-07-13 09:51:16 +0000 | 
| commit | a7c1a27f0ecfcf15013b73bc2efa78ca9d10a403 (patch) | |
| tree | 5450f6b5c340b43481321e0ff7577408f006e14a /ospf6d/ospf6_interface.c | |
| parent | 859cca2f70636c978626c723e302921038b8beb4 (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.c | 5 | 
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)  | 
