]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospfd: reset ospf interface protocol stats 1354/head
authorChirag Shah <chirag@cumulusnetworks.com>
Mon, 23 Oct 2017 18:59:29 +0000 (11:59 -0700)
committerChirag Shah <chirag@cumulusnetworks.com>
Mon, 23 Oct 2017 21:48:22 +0000 (14:48 -0700)
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
ospfd/ospf_interface.c

index 34a1e6f6d6a984f7919b89552c5a062cd34300f2..e8700e7eb062611385170dd92bd40582912a52d2 100644 (file)
@@ -453,6 +453,15 @@ struct ospf_interface *ospf_if_lookup_recv_if(struct ospf *ospf,
        return match;
 }
 
+static void ospf_if_reset_stats(struct ospf_interface *oi)
+{
+       oi->hello_in = oi->hello_out = 0;
+       oi->db_desc_in = oi->db_desc_out = 0;
+       oi->ls_req_in = oi->ls_req_out = 0;
+       oi->ls_upd_in = oi->ls_upd_out = 0;
+       oi->ls_ack_in = oi->ls_ack_out = 0;
+}
+
 void ospf_if_stream_set(struct ospf_interface *oi)
 {
        /* set output fifo queue. */
@@ -468,6 +477,9 @@ void ospf_if_stream_unset(struct ospf_interface *oi)
                ospf_fifo_free(oi->obuf);
                oi->obuf = NULL;
 
+               /*reset protocol stats */
+               ospf_if_reset_stats(oi);
+
                if (oi->on_write_q) {
                        listnode_delete(ospf->oi_write_q, oi);
                        if (list_isempty(ospf->oi_write_q))