summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ripd/rip_snmp.c7
-rw-r--r--ripd/rip_zebra.c2
-rw-r--r--ripd/ripd.c8
-rw-r--r--ripd/ripd.h13
4 files changed, 16 insertions, 14 deletions
diff --git a/ripd/rip_snmp.c b/ripd/rip_snmp.c
index 9acc825c0a..54c8a2eb8c 100644
--- a/ripd/rip_snmp.c
+++ b/ripd/rip_snmp.c
@@ -160,13 +160,16 @@ static uint8_t *rip2Globals(struct variable *v, oid name[], size_t *length,
== MATCH_FAILED)
return NULL;
+ if (!rip)
+ return NULL;
+
/* Retrun global counter. */
switch (v->magic) {
case RIP2GLOBALROUTECHANGES:
- return SNMP_INTEGER(rip_global_route_changes);
+ return SNMP_INTEGER(rip->counters.route_changes);
break;
case RIP2GLOBALQUERIES:
- return SNMP_INTEGER(rip_global_queries);
+ return SNMP_INTEGER(rip->counters.queries);
break;
default:
return NULL;
diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c
index 684614fb47..607dc168f4 100644
--- a/ripd/rip_zebra.c
+++ b/ripd/rip_zebra.c
@@ -101,7 +101,7 @@ static void rip_zebra_ipv4_send(struct route_node *rp, uint8_t cmd)
inet_ntoa(rp->p.u.prefix4), rp->p.prefixlen);
}
- rip_global_route_changes++;
+ rip->counters.route_changes++;
}
/* Add/update ECMP routes to zebra. */
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 35ad4d818a..1e92fedb63 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -53,12 +53,6 @@
/* RIP Structure. */
struct rip *rip = NULL;
-/* RIP route changes. */
-long rip_global_route_changes = 0;
-
-/* RIP queries. */
-long rip_global_queries = 0;
-
/* Prototypes. */
static void rip_output_process(struct connected *, struct sockaddr_in *, int,
uint8_t);
@@ -1633,7 +1627,7 @@ static void rip_request_process(struct rip_packet *packet, int size,
(void)rip_send_packet((uint8_t *)packet, size, from, ifc);
}
- rip_global_queries++;
+ rip->counters.queries++;
}
/* First entry point of RIP packet. */
diff --git a/ripd/ripd.h b/ripd/ripd.h
index bc0451d88f..a75e43d5df 100644
--- a/ripd/ripd.h
+++ b/ripd/ripd.h
@@ -169,6 +169,15 @@ struct rip {
/* For distribute-list container */
struct distribute_ctx *distribute_ctx;
+
+ /* Counters for SNMP. */
+ struct {
+ /* RIP route changes. */
+ long route_changes;
+
+ /* RIP queries. */
+ long queries;
+ } counters;
};
/* RIP routing table entry which belong to rip_packet. */
@@ -474,10 +483,6 @@ extern struct zebra_privs_t ripd_privs;
/* Master thread strucutre. */
extern struct thread_master *master;
-/* RIP statistics for SNMP. */
-extern long rip_global_route_changes;
-extern long rip_global_queries;
-
DECLARE_HOOK(rip_ifaddr_add, (struct connected * ifc), (ifc))
DECLARE_HOOK(rip_ifaddr_del, (struct connected * ifc), (ifc))