aboutsummaryrefslogtreecommitdiffstats
path: root/src/gb/gprs_ns2_internal.h
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2021-07-09 20:35:00 +0200
committerDaniel Willmann <dwillmann@sysmocom.de>2021-07-09 20:35:00 +0200
commitefa64f9429aae0a7cab8efc7e40861d59ec3d6b9 (patch)
treebe8673c88e36a0306c8c9f6b707476109af3d85f /src/gb/gprs_ns2_internal.h
parentfix api doc of osmo_identifier_sanitize_buf() (diff)
downloadlibosmocore-efa64f9429aae0a7cab8efc7e40861d59ec3d6b9.tar.xz
libosmocore-efa64f9429aae0a7cab8efc7e40861d59ec3d6b9.zip
Aggregate NSVC stats inside the NSE
Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Related: OS#4998
Diffstat (limited to 'src/gb/gprs_ns2_internal.h')
-rw-r--r--src/gb/gprs_ns2_internal.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h
index 70e212a0..db01c2ee 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -38,6 +38,20 @@
#define LOG_NS_RX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Rx", pdu_type, LOGL_INFO, "\n")
#define LOG_NS_TX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Tx", pdu_type, LOGL_INFO, "\n")
+#define RATE_CTR_INC_NS(nsvc, ctr) \
+ do { \
+ struct gprs_ns2_vc *_nsvc = (nsvc); \
+ rate_ctr_inc(rate_ctr_group_get_ctr(_nsvc->ctrg, ctr)); \
+ rate_ctr_inc(rate_ctr_group_get_ctr(_nsvc->nse->ctrg, ctr)); \
+ } while (0)
+
+#define RATE_CTR_ADD_NS(nsvc, ctr, val) \
+ do { \
+ struct gprs_ns2_vc *_nsvc = (nsvc); \
+ rate_ctr_add(rate_ctr_group_get_ctr(_nsvc->ctrg, ctr), val); \
+ rate_ctr_add(rate_ctr_group_get_ctr(_nsvc->nse->ctrg, ctr), val); \
+ } while (0)
+
struct osmo_fsm_inst;
struct tlv_parsed;
@@ -198,6 +212,9 @@ struct gprs_ns2_nse {
/*! are we implementing the SGSN role? */
bool ip_sns_role_sgsn;
+
+ /*! NSE-wide statistics */
+ struct rate_ctr_group *ctrg;
};
/*! Structure representing a single NS-VC */