aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-01-30 22:43:01 +0100
committerHarald Welte <laforge@osmocom.org>2021-01-31 12:34:36 +0100
commitb40bf8ba3b60ed0f2b97b5a13a85712c4a09fe45 (patch)
tree5629362e49acda14a5adc1a7eab9d6771f1a10b7
parent4c54f59aa58384b1dcd21587ad5281b6cd908517 (diff)
ns2: Add a rate_ctr for each NS-UNBLOCK
We have one for BLOCK, so let's also add one for UNBLOCK. Change-Id: I693109b7bc4d72b6803b40aae15327389aa37c69
-rw-r--r--src/gb/gprs_ns2.c1
-rw-r--r--src/gb/gprs_ns2_internal.h1
-rw-r--r--src/gb/gprs_ns2_vc_fsm.c3
3 files changed, 5 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 0f65d37e..d4d215ce 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -167,6 +167,7 @@ static const struct rate_ctr_desc nsvc_ctr_description[] = {
[NS_CTR_BYTES_OUT] = { "bytes:out", "Bytes at NS Level (Out)" },
[NS_CTR_BYTES_OUT_DROP] = { "bytes:out:drop", "Dropped Bytes (Out)" },
[NS_CTR_BLOCKED] = { "blocked", "NS-VC Block count " },
+ [NS_CTR_UNBLOCKED] = { "unblocked", "NS-VC Unblock count " },
[NS_CTR_DEAD] = { "dead", "NS-VC gone dead count " },
[NS_CTR_REPLACED] = { "replaced", "NS-VC replaced other count" },
[NS_CTR_NSEI_CHG] = { "nsei-chg", "NS-VC changed NSEI count " },
diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h
index 98b3f294..e1497679 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -93,6 +93,7 @@ enum ns_ctr {
NS_CTR_BYTES_OUT,
NS_CTR_BYTES_OUT_DROP,
NS_CTR_BLOCKED,
+ NS_CTR_UNBLOCKED,
NS_CTR_DEAD,
NS_CTR_REPLACED,
NS_CTR_NSEI_CHG,
diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c
index e69f327e..839bf6f1 100644
--- a/src/gb/gprs_ns2_vc_fsm.c
+++ b/src/gb/gprs_ns2_vc_fsm.c
@@ -373,6 +373,9 @@ static void ns2_st_unblocked_on_enter(struct osmo_fsm_inst *fi, uint32_t old_sta
struct gprs_ns2_vc *nsvc = priv->nsvc;
struct gprs_ns2_nse *nse = nsvc->nse;
+ if (old_state != GPRS_NS2_ST_UNBLOCKED)
+ rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_UNBLOCKED]);
+
priv->accept_unitdata = true;
ns2_nse_notify_unblocked(nsvc, true);
ns2_prim_status_ind(nse, nsvc, 0, GPRS_NS2_AFF_CAUSE_VC_RECOVERY);