summaryrefslogtreecommitdiffstats
path: root/ospf6d
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-09-14 21:57:54 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-09-14 22:03:26 +0200
commitab0f1135b542d63df2eece36315d5592c8ec2cce (patch)
tree357a57f7cfec72fda85b4208d64425956dc340b5 /ospf6d
parentMerge pull request #1178 from donaldsharp/pim_obfuscation (diff)
downloadfrr-ab0f1135b542d63df2eece36315d5592c8ec2cce.tar.xz
frr-ab0f1135b542d63df2eece36315d5592c8ec2cce.zip
ospf6d: Note when we calculated spf
Fixes: #1181 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'ospf6d')
-rw-r--r--ospf6d/ospf6_spf.c4
-rw-r--r--ospf6d/ospf6_top.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c
index 6d589aff8..ccfa25aaa 100644
--- a/ospf6d/ospf6_spf.c
+++ b/ospf6d/ospf6_spf.c
@@ -576,6 +576,7 @@ static int ospf6_spf_calculation_thread(struct thread *t)
/* execute SPF calculation */
monotime(&start);
+ ospf6->ts_spf = start;
if (ospf6_is_router_abr(ospf6))
ospf6_abr_range_reset_cost(ospf6);
@@ -585,6 +586,7 @@ static int ospf6_spf_calculation_thread(struct thread *t)
if (oa == ospf6->backbone)
continue;
+ monotime(&oa->ts_spf);
if (IS_OSPF6_DEBUG_SPF(PROCESS))
zlog_debug("SPF calculation for Area %s", oa->name);
if (IS_OSPF6_DEBUG_SPF(DATABASE))
@@ -598,6 +600,7 @@ static int ospf6_spf_calculation_thread(struct thread *t)
}
if (ospf6->backbone) {
+ monotime(&ospf6->backbone->ts_spf);
if (IS_OSPF6_DEBUG_SPF(PROCESS))
zlog_debug("SPF calculation for Backbone area %s",
ospf6->backbone->name);
@@ -632,6 +635,7 @@ static int ospf6_spf_calculation_thread(struct thread *t)
"Reason: %s\n",
areas_processed, (long long)runtime.tv_sec,
(long long)runtime.tv_usec, rbuf);
+
ospf6->last_spf_reason = ospf6->spf_reason;
ospf6_reset_spf_reason(ospf6);
return 0;
diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c
index e77bf690f..9794e92b0 100644
--- a/ospf6d/ospf6_top.c
+++ b/ospf6d/ospf6_top.c
@@ -832,7 +832,7 @@ static void ospf6_show(struct vty *vty, struct ospf6 *o)
(long long)o->ts_spf_duration.tv_sec,
(long long)o->ts_spf_duration.tv_usec);
} else
- vty_out(vty, "has not been run$\n");
+ vty_out(vty, "has not been run\n");
threadtimer_string(now, o->t_spf_calc, buf, sizeof(buf));
vty_out(vty, " SPF timer %s%s\n", (o->t_spf_calc ? "due in " : "is "),
buf);