aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_ul.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tbf_ul.cpp')
-rw-r--r--src/tbf_ul.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index 1342ef2..dc3f628 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -67,6 +67,8 @@ int gprs_rlcmac_ul_tbf::assemble_forward_llc(const gprs_rlc_data *_data)
for (i = 0; i < num_frames; i++) {
frame = frames + i;
+ bts->rlc_ul_payload_bytes(frame->length);
+
LOGP(DRLCMACUL, LOGL_DEBUG, "-- Frame %d starts at offset %d, "
"length=%d, is_complete=%d\n",
i + 1, frame->offset, frame->length, frame->is_complete);
@@ -79,6 +81,7 @@ int gprs_rlcmac_ul_tbf::assemble_forward_llc(const gprs_rlc_data *_data)
LOGP(DRLCMACUL, LOGL_INFO, "%s complete UL frame len=%d\n",
tbf_name(this) , m_llc.frame_length());
snd_ul_ud();
+ bts->llc_ul_bytes(m_llc.frame_length());
m_llc.reset();
}
}
@@ -364,7 +367,7 @@ int gprs_rlcmac_ul_tbf::rcv_data_block_acknowledged(
Decoding::rlc_copy_to_aligned_buffer(rlc,
block_idx, data, rlc_data);
}
-
+ m_ctr_num_blocks[rlc->cs.to_num() - 1]++;
LOGP(DRLCMACUL, LOGL_DEBUG,
"%s: data_length=%d, data=%s\n",
name(), block->len, osmo_hexdump(rlc_data, block->len));
@@ -374,7 +377,7 @@ int gprs_rlcmac_ul_tbf::rcv_data_block_acknowledged(
rdbi, rlc->cs, rlc_data, NULL, 0, &new_tlli);
if (num_chunks < 0) {
- bts->decode_error();
+ bts->llc_decode_err();
LOGP(DRLCMACUL, LOGL_NOTICE,
"Failed to decode TLLI of %s UL DATA "
"TFI=%d.\n", rlc->cs.name(), rlc->tfi);
@@ -456,6 +459,7 @@ void gprs_rlcmac_ul_tbf::maybe_schedule_uplink_acknack(
if (rlc->si) {
LOGP(DRLCMACUL, LOGL_NOTICE, "- Scheduling Ack/Nack, "
"because MS is stalled.\n");
+ bts->rlc_ul_stalled();
}
if (have_ti) {
LOGP(DRLCMACUL, LOGL_DEBUG, "- Scheduling Ack/Nack, "