diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 03:03:40 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 03:03:40 +0200 |
commit | ca1f4309e6dfbbed7823ff76160c0b2401a58115 (patch) | |
tree | 8b9d6170e8bf94182517a24c30579eb9cb367105 /ospf6d/ospf6_spf.c | |
parent | ospf6d: ospfv3-abr-ecmp-support.patch (diff) | |
download | frr-ca1f4309e6dfbbed7823ff76160c0b2401a58115.tar.xz frr-ca1f4309e6dfbbed7823ff76160c0b2401a58115.zip |
ospf6d: ospfv3-stub-area-support.patch
Support stubby and totally stubby areas in OSPFv3
Signed-off-by: Dinesh G Dutt <ddutt at cumulusnetworks.com>
Reviewed-by: Pradosh Mohapatra <pmohapat at cumulusnetworks.com>
Diffstat (limited to 'ospf6d/ospf6_spf.c')
-rw-r--r-- | ospf6d/ospf6_spf.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c index 20ec3721d..04d02d708 100644 --- a/ospf6d/ospf6_spf.c +++ b/ospf6d/ospf6_spf.c @@ -36,6 +36,8 @@ #include "ospf6_lsdb.h" #include "ospf6_route.h" #include "ospf6_area.h" +#include "ospf6_proto.h" +#include "ospf6_abr.h" #include "ospf6_spf.h" #include "ospf6_intra.h" #include "ospf6_interface.h" @@ -601,6 +603,9 @@ ospf6_spf_calculation_thread (struct thread *t) /* execute SPF calculation */ quagga_gettime (QUAGGA_CLK_MONOTONIC, &start); + if (ospf6_is_router_abr (ospf6)) + ospf6_abr_range_reset_cost (ospf6); + for (ALL_LIST_ELEMENTS_RO(ospf6->area_list, node, oa)) { @@ -634,10 +639,8 @@ ospf6_spf_calculation_thread (struct thread *t) areas_processed++; } - /* Redo summaries if required */ - for (route = ospf6_route_head (ospf6->route_table); route; - route = ospf6_route_next (route)) - ospf6_abr_originate_summary(route); + if (ospf6_is_router_abr (ospf6)) + ospf6_abr_defaults_to_stub (ospf6); quagga_gettime (QUAGGA_CLK_MONOTONIC, &end); timersub (&end, &start, &runtime); |