diff options
author | sivasankari <Sivasankari.Theerthagiri@radisys.com> | 2016-12-16 12:57:18 +0530 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-12-22 14:09:04 +0000 |
commit | da7250ad2c1cd5ddc7d3c6e10435a00b357ef8f7 (patch) | |
tree | 7d7a96d20f11593ddcd1b66654d5258fa7feb0d8 /src/tbf_ul.cpp | |
parent | 963cdaffd5d2ba698010c7c4000792487e07a2e8 (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.cpp | 17 |
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; } } |