Add new BTS level counters

Adds counters for Immediate Assignment Reject, Packet Access Reject,
Channel Request Description and Final Block resend.

Change-Id: I23e326d4ea489aa4967e452fe02773b44ab146f7
This commit is contained in:
sivasankari 2016-11-25 19:53:36 +05:30
parent 68fc12775f
commit 168911b438
4 changed files with 26 additions and 1 deletions

View File

@ -66,6 +66,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
{ "rlc.restarted", "RLC Restarted "},
{ "rlc.stalled", "RLC Stalled "},
{ "rlc.nacked", "RLC Nacked "},
{ "rlc.final_block_resent", "RLC Final Blk resent "},
{ "rlc.ass.timedout", "RLC Assign Timeout "},
{ "rlc.ass.failed", "RLC Assign Failed "},
{ "rlc.ack.timedout", "RLC Ack Timeout "},
@ -90,8 +91,11 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
{ "rach.requests", "RACH requests "},
{ "11bit_rach.requests", "11BIT_RACH requests "},
{ "immediate.assignment_UL", "Immediate Assign UL "},
{ "immediate.assignment_rej", "Immediate Assign Rej "},
{ "immediate.assignment_DL", "Immediate Assign DL "},
{ "channel.request_description","Channel Request Desc "},
{ "pkt.ul_assignment", "Packet UL Assignment "},
{ "pkt.access_reject", "Packet Access Reject "},
{ "pkt.dl_assignment", "Packet DL Assignment "},
{ "ul.control", "UL control Block "},
{ "ul.assignment_poll_timeout", "UL Assign Timeout "},
@ -600,10 +604,12 @@ int BTS::rcv_rach(uint16_t ra, uint32_t Fn, int16_t qta, uint8_t is_11bit,
"2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
if (failure)
if (failure) {
plen = Encoding::write_immediate_assignment_reject(
immediate_assignment, ra, Fn,
burst_type);
immediate_assignment_reject();
}
else {
LOGP(DRLCMAC, LOGL_DEBUG,
" - TRX=%d (%d) TS=%d TA=%d TSC=%d TFI=%d USF=%d\n",
@ -1126,6 +1132,8 @@ void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_n
/* check for channel request */
if (ack_nack->Exist_Channel_Request_Description) {
bts()->channel_request_description();
/* This call will register the new TBF with the MS on success */
gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data(),
tbf->trx->trx_no,
@ -1235,6 +1243,8 @@ void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nac
/* check for channel request */
if (ack_nack->Exist_ChannelRequestDescription) {
bts()->channel_request_description();
/* This call will register the new TBF with the MS on success */
gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data(),
tbf->trx->trx_no,

View File

@ -243,6 +243,7 @@ public:
CTR_RLC_RESTARTED,
CTR_RLC_STALLED,
CTR_RLC_NACKED,
CTR_RLC_FINAL_BLOCK_RESENT,
CTR_RLC_ASS_TIMEDOUT,
CTR_RLC_ASS_FAILED,
CTR_RLC_ACK_TIMEDOUT,
@ -267,8 +268,11 @@ public:
CTR_RACH_REQUESTS,
CTR_11BIT_RACH_REQUESTS,
CTR_IMMEDIATE_ASSIGN_UL_TBF,
CTR_IMMEDIATE_ASSIGN_REJ,
CTR_IMMEDIATE_ASSIGN_DL_TBF,
CTR_CHANNEL_REQUEST_DESCRIPTION,
CTR_PKT_UL_ASSIGNMENT,
CTR_PKT_ACCESS_REJ,
CTR_PKT_DL_ASSIGNMENT,
CTR_RLC_RECV_CONTROL,
CTR_PUA_POLL_TIMEDOUT,
@ -370,6 +374,7 @@ public:
void rlc_restarted();
void rlc_stalled();
void rlc_nacked();
void rlc_final_block_resent();
void rlc_ass_timedout();
void rlc_ass_failed();
void rlc_ack_timedout();
@ -394,8 +399,11 @@ public:
void rach_frame();
void rach_frame_11bit();
void immediate_assignment_ul_tbf();
void immediate_assignment_reject();
void immediate_assignment_dl_tbf();
void channel_request_description();
void pkt_ul_assignment();
void pkt_access_reject();
void pkt_dl_assignemnt();
void rlc_rcvd_control();
void pua_poll_timedout();
@ -563,6 +571,7 @@ CREATE_COUNT_INLINE(rlc_resent, CTR_RLC_RESENT)
CREATE_COUNT_INLINE(rlc_restarted, CTR_RLC_RESTARTED)
CREATE_COUNT_INLINE(rlc_stalled, CTR_RLC_STALLED)
CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED)
CREATE_COUNT_INLINE(rlc_final_block_resent, CTR_RLC_FINAL_BLOCK_RESENT);
CREATE_COUNT_INLINE(rlc_ass_timedout, CTR_RLC_ASS_TIMEDOUT);
CREATE_COUNT_INLINE(rlc_ass_failed, CTR_RLC_ASS_FAILED);
CREATE_COUNT_INLINE(rlc_ack_timedout, CTR_RLC_ACK_TIMEDOUT);
@ -587,8 +596,11 @@ CREATE_COUNT_ADD_INLINE(llc_ul_bytes, CTR_LLC_UL_BYTES);
CREATE_COUNT_INLINE(rach_frame, CTR_RACH_REQUESTS);
CREATE_COUNT_INLINE(rach_frame_11bit, CTR_11BIT_RACH_REQUESTS);
CREATE_COUNT_INLINE(immediate_assignment_ul_tbf, CTR_IMMEDIATE_ASSIGN_UL_TBF);
CREATE_COUNT_INLINE(immediate_assignment_reject, CTR_IMMEDIATE_ASSIGN_REJ);
CREATE_COUNT_INLINE(immediate_assignment_dl_tbf, CTR_IMMEDIATE_ASSIGN_DL_TBF);
CREATE_COUNT_INLINE(channel_request_description, CTR_CHANNEL_REQUEST_DESCRIPTION);
CREATE_COUNT_INLINE(pkt_ul_assignment, CTR_PKT_UL_ASSIGNMENT);
CREATE_COUNT_INLINE(pkt_access_reject, CTR_PKT_ACCESS_REJ);
CREATE_COUNT_INLINE(pkt_dl_assignemnt, CTR_PKT_DL_ASSIGNMENT);
CREATE_COUNT_INLINE(rlc_rcvd_control, CTR_RLC_RECV_CONTROL);
CREATE_COUNT_INLINE(pua_poll_timedout, CTR_PUA_POLL_TIMEDOUT);

View File

@ -1037,6 +1037,8 @@ struct msgb *gprs_rlcmac_tbf::create_packet_access_reject()
Encoding::write_packet_access_reject(
packet_access_rej, tlli());
bts->pkt_access_reject();
bitvec_pack(packet_access_rej, msgb_put(msg, 23));
bitvec_free(packet_access_rej);

View File

@ -454,6 +454,7 @@ int gprs_rlcmac_dl_tbf::take_next_bsn(uint32_t fn,
LOGP(DRLCMACDL, LOGL_DEBUG,
"- Nothing else to send, Re-transmit final block!\n");
bsn = m_window.v_s_mod(-1);
bts->rlc_final_block_resent();
bts->rlc_resent();
}