diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2015-12-02 17:31:23 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2015-12-02 17:31:23 +0300 |
commit | 863694e6547b94488a077e500028aabaadc48086 (patch) | |
tree | 33c224f3d7b45d5a853bf3185289e0fb876c771e /accel-pppd/extra/net-snmp/sessionTable_data_access.c | |
parent | e493662216791794146087a0923839e6105241bf (diff) | |
download | accel-ppp-xebd-863694e6547b94488a077e500028aabaadc48086.tar.gz accel-ppp-xebd-863694e6547b94488a077e500028aabaadc48086.zip |
net-snmp: export interface counters in the sessionTable
Diffstat (limited to 'accel-pppd/extra/net-snmp/sessionTable_data_access.c')
-rw-r--r-- | accel-pppd/extra/net-snmp/sessionTable_data_access.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/accel-pppd/extra/net-snmp/sessionTable_data_access.c b/accel-pppd/extra/net-snmp/sessionTable_data_access.c index edc5e6b..13ddfc5 100644 --- a/accel-pppd/extra/net-snmp/sessionTable_data_access.c +++ b/accel-pppd/extra/net-snmp/sessionTable_data_access.c @@ -9,6 +9,8 @@ #include <net-snmp/net-snmp-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h> +#include <linux/if_link.h> + /* include our parent header */ #include "sessionTable.h" @@ -199,6 +201,7 @@ sessionTable_container_load(netsnmp_container *container) sessionTable_rowreq_ctx *rowreq_ctx; size_t count = 0; struct ap_session *ses; + struct rtnl_link_stats stats; DEBUGMSGTL(("verbose:sessionTable:sessionTable_container_load","called\n")); @@ -233,6 +236,15 @@ sessionTable_container_load(netsnmp_container *container) rowreq_ctx->data->calling_sid = _strdup(ses->ctrl->calling_station_id); rowreq_ctx->data->called_sid = _strdup(ses->ctrl->called_station_id); + ap_session_read_stats(ses, &stats); + rowreq_ctx->data->rx_pkts = stats.rx_packets; + rowreq_ctx->data->rx_bytes = stats.rx_bytes; + rowreq_ctx->data->rx_gw = ses->acct_input_gigawords; + rowreq_ctx->data->tx_pkts = stats.tx_packets; + rowreq_ctx->data->tx_bytes = stats.tx_bytes; + rowreq_ctx->data->tx_gw = ses->acct_output_gigawords; + + CONTAINER_INSERT(container, rowreq_ctx); ++count; } |