Send UL-CTRL Packet to GSMTAP even if we fail to decode.
Move the call to send_gsmtap() before the call to decode_gsm_rlcmac_uplink() as if the latter returns error we return and never get to see the packet on the GSMTAP. Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd
This commit is contained in:
parent
0daf913e0c
commit
6fd8ffb6fe
11
src/pdch.cpp
11
src/pdch.cpp
|
@ -705,6 +705,12 @@ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len,
|
|||
ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t);
|
||||
|
||||
LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n");
|
||||
|
||||
if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK)
|
||||
bts()->send_gsmtap(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len);
|
||||
else
|
||||
bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len);
|
||||
|
||||
rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block);
|
||||
if(rc < 0) {
|
||||
LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid "
|
||||
|
@ -713,11 +719,6 @@ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len,
|
|||
}
|
||||
LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n");
|
||||
|
||||
if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK)
|
||||
bts()->send_gsmtap(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len);
|
||||
else
|
||||
bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len);
|
||||
|
||||
bts()->rlc_rcvd_control();
|
||||
switch (ul_control_block->u.MESSAGE_TYPE) {
|
||||
case MT_PACKET_CONTROL_ACK:
|
||||
|
|
Loading…
Reference in New Issue