aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_ul.cpp
diff options
context:
space:
mode:
authorsivasankari <Sivasankari.Theerthagiri@radisys.com>2016-12-16 12:57:18 +0530
committerHarald Welte <laforge@gnumonks.org>2016-12-22 14:09:04 +0000
commitda7250ad2c1cd5ddc7d3c6e10435a00b357ef8f7 (patch)
tree7d7a96d20f11593ddcd1b66654d5258fa7feb0d8 /src/tbf_ul.cpp
parent963cdaffd5d2ba698010c7c4000792487e07a2e8 (diff)
Add counter at BTS level And statistics at TBF/MS level.
Adds spb counters at BTS level(show bts statistics). Adds RLC/MAC downlink control msg at ms level(show ms imsi <imsi_val>). Adds the number of coding schemes counter for UL at TBF level. Change-Id: Icbe4ba95e34bea89ee36f532d099db68204b7c38
Diffstat (limited to 'src/tbf_ul.cpp')
-rw-r--r--src/tbf_ul.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index 420fc1a4..0de0127b 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -397,6 +397,8 @@ egprs_rlc_ul_reseg_bsn_state gprs_rlcmac_ul_tbf::handle_egprs_ul_second_seg(
union split_block_status *spb_status = &block->spb_status;
uint8_t *rlc_data = &block->block[0];
+ bts->spb_uplink_second_segment();
+
if (spb_status->block_status_ul &
EGPRS_RESEG_FIRST_SEG_RXD) {
LOGP(DRLCMACUL, LOGL_DEBUG,
@@ -433,6 +435,8 @@ egprs_rlc_ul_reseg_bsn_state gprs_rlcmac_ul_tbf::handle_egprs_ul_first_seg(
uint8_t *rlc_data = &block->block[0];
union split_block_status *spb_status = &block->spb_status;
+ bts->spb_uplink_first_segment();
+
if (spb_status->block_status_ul & EGPRS_RESEG_SECOND_SEG_RXD) {
LOGP(DRLCMACUL, LOGL_DEBUG,
"---%s: First seg is received "
@@ -527,45 +531,58 @@ void gprs_rlcmac_ul_tbf::update_coding_scheme_counter_ul(const GprsCodingScheme
switch (coding_scheme) {
case GprsCodingScheme::CS1 :
bts->gprs_ul_cs1();
+ rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]);
break;
case GprsCodingScheme::CS2 :
bts->gprs_ul_cs2();
+ rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]);
break;
case GprsCodingScheme::CS3 :
bts->gprs_ul_cs3();
+ rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]);
break;
case GprsCodingScheme::CS4 :
bts->gprs_ul_cs4();
+ rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]);
break;
}
} else {
switch (coding_scheme) {
case GprsCodingScheme::MCS1 :
bts->egprs_ul_mcs1();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]);
break;
case GprsCodingScheme::MCS2 :
bts->egprs_ul_mcs2();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]);
break;
case GprsCodingScheme::MCS3 :
bts->egprs_ul_mcs3();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]);
break;
case GprsCodingScheme::MCS4 :
bts->egprs_ul_mcs4();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]);
break;
case GprsCodingScheme::MCS5 :
bts->egprs_ul_mcs5();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]);
break;
case GprsCodingScheme::MCS6 :
bts->egprs_ul_mcs6();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]);
break;
case GprsCodingScheme::MCS7 :
bts->egprs_ul_mcs7();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]);
break;
case GprsCodingScheme::MCS8 :
bts->egprs_ul_mcs8();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]);
break;
case GprsCodingScheme::MCS9 :
bts->egprs_ul_mcs9();
+ rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]);
break;
}
}