From c6e911cf22f1d8bd587377b2e5ef2768367619e9 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 7 Jun 2021 18:13:23 +0200 Subject: pdch: Log pdch_ulc reason upon rx of pkt ctrl ack Change-Id: I7c7a421b1e9189e2814e9a28698d66655fc9ba60 --- src/pdch.cpp | 8 +++++--- src/pdch_ul_controller.c | 9 +++++++++ src/pdch_ul_controller.h | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/pdch.cpp b/src/pdch.cpp index cab81dfd..8e0a24af 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -333,7 +333,8 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); - LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Control Ack\n"); + LOGPTBF(tbf, LOGL_DEBUG, "FN=%" PRIu32 " Rx Packet Control Ack (reason=%s)\n", + fn, get_value_string(pdch_ulc_tbf_poll_reason_names, reason)); pdch_ulc_release_fn(ulc, fn); /* check if this control ack belongs to packet uplink ack */ @@ -420,8 +421,9 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, */ return; } - LOGPDCH(this, DRLCMAC, LOGL_ERROR, - "Error: received PACET CONTROL ACK at no request\n"); + LOGPDCH(this, DRLCMAC, LOGL_ERROR, "FN=%" PRIu32 " " + "Error: received PACKET CONTROL ACK at no request (reason=%s)\n", fn, + get_value_string(pdch_ulc_tbf_poll_reason_names, reason)); } void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index f8089ffb..e7a721c0 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -38,6 +38,15 @@ const struct value_string pdch_ul_node_names[] = { { 0, NULL } }; +const struct value_string pdch_ulc_tbf_poll_reason_names[] = { + { PDCH_ULC_POLL_UL_ASS, "UL_ASS" }, + { PDCH_ULC_POLL_DL_ASS, "DL_ASS" }, + { PDCH_ULC_POLL_UL_ACK, "UL_ACK" }, + { PDCH_ULC_POLL_DL_ACK, "DL_ACK" }, + { PDCH_ULC_POLL_CELL_CHG_CONTINUE, "CELL_CHG_CONTINUE" }, + { 0, NULL } +}; + #define GSM_MAX_FN_THRESH (GSM_MAX_FN >> 1) /* 0: equal, -1: fn1 BEFORE fn2, 1: fn1 AFTER fn2 */ static inline int fn_cmp(uint32_t fn1, uint32_t fn2) diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 776f5ba4..c56945f1 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -59,6 +59,7 @@ enum pdch_ulc_tbf_poll_reason { PDCH_ULC_POLL_DL_ACK, /* Expect DL ACK/NACK requested by RRBP */ PDCH_ULC_POLL_CELL_CHG_CONTINUE, /* Expect CTRL ACK for Pkt cell Change Continue we transmit */ }; +extern const struct value_string pdch_ulc_tbf_poll_reason_names[]; struct pdch_ulc_node { struct rb_node node; /*! entry in pdch_ulc->tree_root */ -- cgit v1.2.3