]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6d: Note when we calculated spf
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 14 Sep 2017 19:57:54 +0000 (15:57 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 14 Sep 2017 20:03:26 +0000 (16:03 -0400)
Fixes: #1181
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
ospf6d/ospf6_spf.c
ospf6d/ospf6_top.c

index 6d589aff8f9b960f869442acdfbcc0eb1c4653d1..ccfa25aaa83bc45261b967d0fd39773b582a97b1 100644 (file)
@@ -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;
index e77bf690f355cc9ccf3181de1b7ceb3e96555c2d..9794e92b06e8b280b0ed4f8d5804655842dd762f 100644 (file)
@@ -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);