diff options
author | paulo <paul@bayleaf.org.uk> | 2010-01-27 16:11:25 +0000 |
---|---|---|
committer | paulo <paul@bayleaf.org.uk> | 2010-01-27 16:11:25 +0000 |
commit | e6d986058f23f350aa6aedac4da5fe9f3afda6e8 (patch) | |
tree | 717e0dd247f4aeacae83c0878830fc910ff99a82 /bgpd/bgp_snmp.c | |
parent | 6503ce4cef43d8fe4da510fe9c55911c4af296e9 (diff) | |
download | quagga-e6d986058f23f350aa6aedac4da5fe9f3afda6e8.tar.bz2 quagga-e6d986058f23f350aa6aedac4da5fe9f3afda6e8.tar.xz |
Wite route refresh received. Hive off statistics into separate struct.
Diffstat (limited to 'bgpd/bgp_snmp.c')
-rw-r--r-- | bgpd/bgp_snmp.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/bgpd/bgp_snmp.c b/bgpd/bgp_snmp.c index 0b0ef83b..ea934ea0 100644 --- a/bgpd/bgp_snmp.c +++ b/bgpd/bgp_snmp.c @@ -460,6 +460,7 @@ bgpPeerTable (struct variable *v, oid name[], size_t *length, { static struct in_addr addr; struct peer *peer; + struct bgp_session_stats stats; *write_method = NULL; memset (&addr, 0, sizeof (struct in_addr)); @@ -468,6 +469,8 @@ bgpPeerTable (struct variable *v, oid name[], size_t *length, if (! peer) return NULL; + bgp_session_get_stats(p->session, &stats); + switch (v->magic) { case BGPPEERIDENTIFIER: @@ -522,14 +525,14 @@ bgpPeerTable (struct variable *v, oid name[], size_t *length, return SNMP_INTEGER (peer->update_out); break; case BGPPEERINTOTALMESSAGES: - return SNMP_INTEGER (peer->open_in + peer->update_in - + peer->keepalive_in + peer->notify_in - + peer->refresh_in + peer->dynamic_cap_in); + return SNMP_INTEGER (stats.open_in + stats.update_in + + stats.keepalive_in + stats.notify_in + + stats.refresh_in + stats.dynamic_cap_in); break; case BGPPEEROUTTOTALMESSAGES: - return SNMP_INTEGER (peer->open_out + peer->update_out - + peer->keepalive_out + peer->notify_out - + peer->refresh_out + peer->dynamic_cap_out); + return SNMP_INTEGER (stats.open_out + stats.update_out + + stats.keepalive_out + stats.notify_out + + stats.refresh_out + stats.dynamic_cap_out); break; case BGPPEERLASTERROR: { @@ -547,7 +550,7 @@ bgpPeerTable (struct variable *v, oid name[], size_t *length, if (peer->uptime == 0) return SNMP_INTEGER (0); else - return SNMP_INTEGER (time (NULL) - peer->uptime); + return SNMP_INTEGER (time (NULL) - stats.uptime); break; case BGPPEERCONNECTRETRYINTERVAL: *write_method = write_bgpPeerTable; |