aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/bts.cpp5
-rw-r--r--src/bts.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index 0786e73c..456990a0 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -64,6 +64,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
{ "rlc.ass.timedout", "RLC Assign Timeout "},
{ "rlc.ack.timedout", "RLC Ack Timeout "},
{ "rlc.rel.timedout", "RLC Release Timeout "},
+ { "rlc.late-block", "RLC Late Block "},
{ "decode.errors", "Decode Errors "},
{ "sba.allocated", "SBA Allocated "},
{ "sba.freed", "SBA Freed "},
@@ -171,10 +172,12 @@ void BTS::set_current_block_frame_number(int fn)
if (current_frame_number() != 0)
delay = (fn + 2715648 * 3 / 2 - current_frame_number()) % 2715648
- 2715648/2;
- if (delay <= -late_block_delay_thresh)
+ if (delay <= -late_block_delay_thresh) {
LOGP(DRLCMAC, LOGL_NOTICE,
"Late RLC block, FN delta: %d FN: %d curFN: %d\n",
delay, fn, current_frame_number());
+ rlc_late_block();
+ }
m_cur_blk_fn = fn;
if (delay < fn_update_ok_min_delay || delay > fn_update_ok_max_delay ||
diff --git a/src/bts.h b/src/bts.h
index 3dfe3f37..ac851816 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -220,6 +220,7 @@ public:
CTR_RLC_ASS_TIMEDOUT,
CTR_RLC_ACK_TIMEDOUT,
CTR_RLC_REL_TIMEDOUT,
+ CTR_RLC_LATE_BLOCK,
CTR_DECODE_ERRORS,
CTR_SBA_ALLOCATED,
CTR_SBA_FREED,
@@ -286,6 +287,7 @@ public:
void rlc_ass_timedout();
void rlc_ack_timedout();
void rlc_rel_timedout();
+ void rlc_late_block();
void decode_error();
void sba_allocated();
void sba_freed();
@@ -393,6 +395,7 @@ CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED)
CREATE_COUNT_INLINE(rlc_ass_timedout, CTR_RLC_ASS_TIMEDOUT);
CREATE_COUNT_INLINE(rlc_ack_timedout, CTR_RLC_ACK_TIMEDOUT);
CREATE_COUNT_INLINE(rlc_rel_timedout, CTR_RLC_REL_TIMEDOUT);
+CREATE_COUNT_INLINE(rlc_late_block, CTR_RLC_LATE_BLOCK);
CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS)
CREATE_COUNT_INLINE(sba_allocated, CTR_SBA_ALLOCATED)
CREATE_COUNT_INLINE(sba_freed, CTR_SBA_FREED)