summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_spf.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-05-20 03:03:40 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-05-20 03:03:40 +0200
commitca1f4309e6dfbbed7823ff76160c0b2401a58115 (patch)
tree8b9d6170e8bf94182517a24c30579eb9cb367105 /ospf6d/ospf6_spf.c
parentospf6d: ospfv3-abr-ecmp-support.patch (diff)
downloadfrr-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.c11
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);