sgsn: add statistics counter for LLC packets
new counters are: llc.dl_bytes llc.ul_bytes llc.dl_packets llc.ul_packets The ip payload bytes are waiting for payload compression because those data are known then. Change-Id: I068376d35e84283cb98523cd3097a12c55cdb709
This commit is contained in:
parent
76a0ad7fe9
commit
4e699a9cbf
|
@ -22,6 +22,10 @@ enum sgsn_auth_policy {
|
||||||
|
|
||||||
|
|
||||||
enum sgsn_rate_ctr_keys {
|
enum sgsn_rate_ctr_keys {
|
||||||
|
CTR_LLC_DL_BYTES,
|
||||||
|
CTR_LLC_UL_BYTES,
|
||||||
|
CTR_LLC_DL_PACKETS,
|
||||||
|
CTR_LLC_UL_PACKETS,
|
||||||
CTR_GPRS_ATTACH_REQUEST,
|
CTR_GPRS_ATTACH_REQUEST,
|
||||||
CTR_GPRS_ATTACH_ACKED,
|
CTR_GPRS_ATTACH_ACKED,
|
||||||
CTR_GPRS_ATTACH_REJECTED,
|
CTR_GPRS_ATTACH_REJECTED,
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include <osmocom/core/linuxlist.h>
|
#include <osmocom/core/linuxlist.h>
|
||||||
#include <osmocom/core/timer.h>
|
#include <osmocom/core/timer.h>
|
||||||
#include <osmocom/core/talloc.h>
|
#include <osmocom/core/talloc.h>
|
||||||
|
#include <osmocom/core/rate_ctr.h>
|
||||||
#include <osmocom/gprs/gprs_bssgp.h>
|
#include <osmocom/gprs/gprs_bssgp.h>
|
||||||
|
|
||||||
#include <openbsc/gsm_data.h>
|
#include <openbsc/gsm_data.h>
|
||||||
|
@ -331,6 +332,9 @@ int gprs_llc_tx_u(struct msgb *msg, uint8_t sapi, int command,
|
||||||
|
|
||||||
/* Identifiers passed down: (BVCI, NSEI) */
|
/* Identifiers passed down: (BVCI, NSEI) */
|
||||||
|
|
||||||
|
rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]);
|
||||||
|
rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len);
|
||||||
|
|
||||||
/* Send BSSGP-DL-UNITDATA.req */
|
/* Send BSSGP-DL-UNITDATA.req */
|
||||||
return _bssgp_tx_dl_ud(msg, NULL);
|
return _bssgp_tx_dl_ud(msg, NULL);
|
||||||
}
|
}
|
||||||
|
@ -673,6 +677,9 @@ int gprs_llc_rcvmsg(struct msgb *msg, struct tlv_parsed *tv)
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_PACKETS]);
|
||||||
|
rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_BYTES], msg->len);
|
||||||
|
|
||||||
/* llhp.data is only set when we need to send LL_[UNIT]DATA_IND up */
|
/* llhp.data is only set when we need to send LL_[UNIT]DATA_IND up */
|
||||||
if (llhp.cmd == GPRS_LLC_UI && llhp.data && llhp.data_len) {
|
if (llhp.cmd == GPRS_LLC_UI && llhp.data && llhp.data_len) {
|
||||||
msgb_gmmh(msg) = llhp.data;
|
msgb_gmmh(msg) = llhp.data;
|
||||||
|
|
|
@ -91,6 +91,10 @@ static const struct rate_ctr_group_desc pdpctx_ctrg_desc = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct rate_ctr_desc sgsn_ctr_description[] = {
|
static const struct rate_ctr_desc sgsn_ctr_description[] = {
|
||||||
|
{ "llc.dl_bytes", "Count sent LLC bytes before giving it to the bssgp layer" },
|
||||||
|
{ "llc.ul_bytes", "Count sucessful received LLC bytes (encrypt & fcs correct)" },
|
||||||
|
{ "llc.dl_packets", "Count sucessful sent LLC packets before giving it to the bssgp layer" },
|
||||||
|
{ "llc.ul_packets", "Count sucessful received LLC packets (encrypt & fcs correct)" },
|
||||||
{ "gprs.attach_requested", "Received attach requests" },
|
{ "gprs.attach_requested", "Received attach requests" },
|
||||||
{ "gprs.attach_accepted", "Sent attach accepts" },
|
{ "gprs.attach_accepted", "Sent attach accepts" },
|
||||||
{ "gprs.attach_rejected", "Sent attach rejects" },
|
{ "gprs.attach_rejected", "Sent attach rejects" },
|
||||||
|
|
Loading…
Reference in New Issue