From 863694e6547b94488a077e500028aabaadc48086 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Wed, 2 Dec 2015 17:31:23 +0300 Subject: net-snmp: export interface counters in the sessionTable --- accel-pppd/extra/net-snmp/sessionTable_data_access.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'accel-pppd/extra/net-snmp/sessionTable_data_access.c') 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 #include +#include + /* 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; } -- cgit v1.2.3