From 1997787c52292942280db28ad3a3fc2ac19f20ed Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 27 Oct 2013 10:34:31 +0100 Subject: llc: Count timedout and silently dropped frames A DL tbf can be discarded and then the already queued LLCs will be silently dropped. Count this event. --- src/tbf.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/tbf.cpp') diff --git a/src/tbf.cpp b/src/tbf.cpp index cdd80983..1fa7c6e3 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -324,8 +324,10 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf) "be sure not to free in this state. PLEASE FIX!\n"); tbf->stop_timer(); #warning "TODO: Could/Should generate bssgp_tx_llc_discarded" - while ((msg = msgb_dequeue(&tbf->llc_queue))) + while ((msg = msgb_dequeue(&tbf->llc_queue))) { + tbf->bts->dropped_frame(); msgb_free(msg); + } tbf_unlink_pdch(tbf); llist_del(&tbf->list); @@ -714,6 +716,7 @@ struct msgb *gprs_rlcmac_tbf::llc_dequeue(bssgp_bvc_ctx *bctx) LOGP(DRLCMACDL, LOGL_NOTICE, "Discarding LLC PDU of " "DL TBF=%d, because lifetime limit reached\n", tfi); + bts->timedout_frame(); frames++; octets += msg->len; msgb_free(msg); -- cgit v1.2.3