aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.cpp
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2016-01-21 20:12:04 +0100
committerJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-08 00:45:37 +0100
commit0316dc6e4808d0413a4edf3738edea44193228e4 (patch)
tree61f4acaf36b443c2700e9bff1c8836dd472f717c /src/tbf.cpp
parent29e3a2f0f3d3cacdb741d406e43b0c725fffd81e (diff)
tbf: Add counters for aborted TBF in state FLOW
Increment CTR_TBF_DL_ABORTED/CTR_TBF_UL_ABORTED if a TBF gets freed that is still in state GPRS_RLCMAC_FLOW. Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf.cpp')
-rw-r--r--src/tbf.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp
index c852d665..e8a9e3e9 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -310,6 +310,17 @@ static void tbf_unlink_pdch(struct gprs_rlcmac_tbf *tbf)
void tbf_free(struct gprs_rlcmac_tbf *tbf)
{
+ /* update counters */
+ if (tbf->direction == GPRS_RLCMAC_UL_TBF) {
+ tbf->bts->tbf_ul_freed();
+ if (tbf->state_is(GPRS_RLCMAC_FLOW))
+ tbf->bts->tbf_ul_aborted();
+ } else {
+ tbf->bts->tbf_dl_freed();
+ if (tbf->state_is(GPRS_RLCMAC_FLOW))
+ tbf->bts->tbf_dl_aborted();
+ }
+
/* Give final measurement report */
gprs_rlcmac_rssi_rep(tbf);
if (tbf->direction == GPRS_RLCMAC_DL_TBF) {
@@ -336,11 +347,6 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf)
tbf_unlink_pdch(tbf);
llist_del(&tbf->list());
- if (tbf->direction == GPRS_RLCMAC_UL_TBF)
- tbf->bts->tbf_ul_freed();
- else
- tbf->bts->tbf_dl_freed();
-
if (tbf->ms())
tbf->set_ms(NULL);