From 0e4030982f59b75937103a5d0fdd9191ce3aa248 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Fri, 6 Jul 2012 11:04:57 +0200 Subject: Restructured debugging levels to get better overview of TBFs/processes Only when using LOGL_DEBUG, every detailled information is displayed. When using LOGL_INFO, a summary of the process is displayed. When using LOGL_NOTICE, only errors and warnings like timeouts or invalid received informations are displayed. When using LOGL_ERROR, only local error like software errorss are displayed. --- src/gprs_bssgp_pcu.cpp | 70 ++++++++++++++-------------- src/gprs_debug.cpp | 16 +++---- src/gprs_rlcmac.cpp | 11 ++--- src/gprs_rlcmac_data.cpp | 116 +++++++++++++++++++++++++---------------------- src/sysmo_l1_if.cpp | 63 ++++++++++++------------- 5 files changed, 142 insertions(+), 134 deletions(-) diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 4921b217..74b24bbe 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -44,7 +44,7 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) /* LLC_PDU is mandatory IE */ if (!TLVP_PRESENT(tp, BSSGP_IE_LLC_PDU)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP TLLI=0x%08x Rx UL-UD missing mandatory IE\n", tlli); + LOGP(DBSSGP, LOGL_NOTICE, "BSSGP TLLI=0x%08x Rx UL-UD missing mandatory IE\n", tlli); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } @@ -52,10 +52,10 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) len = TLVP_LEN(tp, BSSGP_IE_LLC_PDU); if (len > sizeof(tbf->llc_frame)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP TLLI=0x%08x Rx UL-UD IE_LLC_PDU too large\n", tlli); + LOGP(DBSSGP, LOGL_NOTICE, "BSSGP TLLI=0x%08x Rx UL-UD IE_LLC_PDU too large\n", tlli); return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); } - LOGP(DBSSGP, LOGL_NOTICE, "LLC PDU = (TLLI=0x%08x) %s\n", tlli, osmo_hexdump(data, len)); + LOGP(DBSSGP, LOGL_INFO, "LLC [SGSN -> PCU] = TLLI: 0x%08x %s\n", tlli, osmo_hexdump(data, len)); uint16_t imsi_len = 0; uint8_t *imsi; @@ -64,19 +64,19 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) imsi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); imsi = (uint8_t *) TLVP_VAL(tp, BSSGP_IE_IMSI); - LOGPC(DBSSGP, LOGL_NOTICE, " IMSI = "); + LOGPC(DBSSGP, LOGL_DEBUG, " IMSI = "); for (i = 0; i < imsi_len; i++) { - LOGPC(DBSSGP, LOGL_NOTICE, "%02x", imsi[i]); + LOGPC(DBSSGP, LOGL_DEBUG, "%02x", imsi[i]); } - LOGPC(DBSSGP, LOGL_NOTICE, "\n"); + LOGPC(DBSSGP, LOGL_DEBUG, "\n"); } /* check for existing TBF */ if ((tbf = tbf_by_tlli(tlli, GPRS_RLCMAC_DL_TBF))) { - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [DOWNLINK] APPEND TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_INFO, "TBF: APPEND TFI: %u TLLI: 0x%08x\n", tbf->tfi, tbf->tlli); if (tbf->state == GPRS_RLCMAC_WAIT_RELEASE) { - LOGP(DRLCMAC, LOGL_NOTICE, "TBF in WAIT RELEASE state " + LOGP(DRLCMAC, LOGL_DEBUG, "TBF in WAIT RELEASE state " "(T3193), so reuse TBF\n"); memcpy(tbf->llc_frame, data, len); tbf->llc_length = len; @@ -104,7 +104,7 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) tbf->tlli = tlli; tbf->tlli_valid = 1; - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [DOWNLINK] START TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "TBF: [DOWNLINK] START TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); /* new TBF, so put first frame */ memcpy(tbf->llc_frame, data, len); @@ -138,26 +138,26 @@ int gprs_bssgp_pcu_rx_ptp(struct msgb *msg, struct tlv_parsed *tp, struct bssgp_ switch (pdu_type) { case BSSGP_PDUT_DL_UNITDATA: - LOGP(DBSSGP, LOGL_NOTICE, "RX: [SGSN->PCU] BSSGP_PDUT_DL_UNITDATA\n"); + LOGP(DBSSGP, LOGL_DEBUG, "RX: [SGSN->PCU] BSSGP_PDUT_DL_UNITDATA\n"); gprs_bssgp_pcu_rx_dl_ud(msg, tp); break; case BSSGP_PDUT_PAGING_PS: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_PAGING_PS\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_PAGING_PS\n"); break; case BSSGP_PDUT_PAGING_CS: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_PAGING_CS\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_PAGING_CS\n"); break; case BSSGP_PDUT_RA_CAPA_UPDATE_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_RA_CAPA_UPDATE_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_RA_CAPA_UPDATE_ACK\n"); break; case BSSGP_PDUT_FLOW_CONTROL_BVC_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_FLOW_CONTROL_BVC_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_FLOW_CONTROL_BVC_ACK\n"); break; case BSSGP_PDUT_FLOW_CONTROL_MS_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_FLOW_CONTROL_MS_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_FLOW_CONTROL_MS_ACK\n"); break; default: - DEBUGP(DBSSGP, "BSSGP BVCI=%u PDU type 0x%02x unknown\n", bctx->bvci, pdu_type); + LOGP(DBSSGP, LOGL_NOTICE, "BSSGP BVCI=%u PDU type 0x%02x unknown\n", bctx->bvci, pdu_type); rc = bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); break; } @@ -176,40 +176,40 @@ int gprs_bssgp_pcu_rx_sign(struct msgb *msg, struct tlv_parsed *tp, struct bssgp /* FIXME: send NM_STATUS.ind to NM */ break; case BSSGP_PDUT_SUSPEND_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_SUSPEND_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_SUSPEND_ACK\n"); break; case BSSGP_PDUT_SUSPEND_NACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_SUSPEND_NACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_SUSPEND_NACK\n"); break; case BSSGP_PDUT_BVC_RESET_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_BVC_RESET_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_BVC_RESET_ACK\n"); break; case BSSGP_PDUT_PAGING_PS: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_PAGING_PS\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_PAGING_PS\n"); break; case BSSGP_PDUT_PAGING_CS: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_PAGING_CS\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_PAGING_CS\n"); break; case BSSGP_PDUT_RESUME_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_RESUME_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_RESUME_ACK\n"); break; case BSSGP_PDUT_RESUME_NACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_RESUME_NACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_RESUME_NACK\n"); break; case BSSGP_PDUT_FLUSH_LL: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_FLUSH_LL\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_FLUSH_LL\n"); break; case BSSGP_PDUT_BVC_BLOCK_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_SUSPEND_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_SUSPEND_ACK\n"); break; case BSSGP_PDUT_BVC_UNBLOCK_ACK: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_BVC_UNBLOCK_ACK\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_BVC_UNBLOCK_ACK\n"); break; case BSSGP_PDUT_SGSN_INVOKE_TRACE: - LOGP(DBSSGP, LOGL_NOTICE, "rx BSSGP_PDUT_SGSN_INVOKE_TRACE\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_SGSN_INVOKE_TRACE\n"); break; default: - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx PDU type 0x%02x unknown\n", bctx->bvci, bgph->pdu_type); + LOGP(DBSSGP, LOGL_NOTICE, "BSSGP BVCI=%u Rx PDU type 0x%02x unknown\n", bctx->bvci, bgph->pdu_type); rc = bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); break; } @@ -267,17 +267,17 @@ int gprs_bssgp_pcu_rcvmsg(struct msgb *msg) if (ns_bvci == BVCI_SIGNALLING) { - LOGP(DBSSGP, LOGL_NOTICE, "rx BVCI_SIGNALLING gprs_bssgp_rx_sign\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BVCI_SIGNALLING gprs_bssgp_rx_sign\n"); rc = gprs_bssgp_pcu_rx_sign(msg, &tp, bctx); } else if (ns_bvci == BVCI_PTM) { - LOGP(DBSSGP, LOGL_NOTICE, "rx BVCI_PTM bssgp_tx_status\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BVCI_PTM bssgp_tx_status\n"); rc = bssgp_tx_status(BSSGP_CAUSE_PDU_INCOMP_FEAT, NULL, msg); } else { - LOGP(DBSSGP, LOGL_NOTICE, "rx BVCI_PTP gprs_bssgp_rx_ptp\n"); + LOGP(DBSSGP, LOGL_DEBUG, "rx BVCI_PTP gprs_bssgp_rx_ptp\n"); rc = gprs_bssgp_pcu_rx_ptp(msg, &tp, bctx); } return rc; @@ -297,7 +297,7 @@ static int sgsn_ns_cb(enum gprs_ns_evt event, struct gprs_nsvc *nsvc, struct msg rc = gprs_bssgp_pcu_rcvmsg(msg); break; default: - LOGP(DPCU, LOGL_ERROR, "RLCMAC: Unknown event %u from NS\n", event); + LOGP(DPCU, LOGL_NOTICE, "RLCMAC: Unknown event %u from NS\n", event); if (msg) talloc_free(msg); rc = -EIO; @@ -354,7 +354,7 @@ int gprs_bssgp_create(uint32_t sgsn_ip, uint16_t sgsn_port, uint16_t nsei, bssgp_nsi = gprs_ns_instantiate(&sgsn_ns_cb, NULL); if (!bssgp_nsi) { - LOGP(DBSSGP, LOGL_NOTICE, "Failed to create NS instance\n"); + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); return -EINVAL; } gprs_ns_nsip_listen(bssgp_nsi); @@ -365,7 +365,7 @@ int gprs_bssgp_create(uint32_t sgsn_ip, uint16_t sgsn_port, uint16_t nsei, nsvc = gprs_ns_nsip_connect(bssgp_nsi, &dest, nsei, nsvci); if (!nsvc) { - LOGP(DBSSGP, LOGL_NOTICE, "Failed to create NSVCt\n"); + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NSVCt\n"); gprs_ns_destroy(bssgp_nsi); bssgp_nsi = NULL; return -EINVAL; @@ -373,7 +373,7 @@ int gprs_bssgp_create(uint32_t sgsn_ip, uint16_t sgsn_port, uint16_t nsei, bctx = btsctx_alloc(bvci, nsei); if (!bctx) { - LOGP(DBSSGP, LOGL_NOTICE, "Failed to create BSSGP context\n"); + LOGP(DBSSGP, LOGL_ERROR, "Failed to create BSSGP context\n"); nsvc = NULL; gprs_ns_destroy(bssgp_nsi); bssgp_nsi = NULL; diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index 5caa377f..bc19b77e 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -33,14 +33,14 @@ /* default categories */ static const struct log_info_cat default_categories[] = { - {"DCSN1", "\033[1;31m", "Concrete Syntax Notation One (CSN1)", LOGL_NOTICE, 1}, - {"DL1IF", "\033[1;32m", "GPRS PCU L1 interface (L1IF)", LOGL_NOTICE, 1}, - {"DRLCMAC", "\033[0;33m", "GPRS RLC/MAC layer (RLCMAC)", LOGL_DEBUG, 1}, - {"DRLCMACDATA", "\033[0;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_DEBUG, 1}, - {"DRLCMACDL", "\033[1;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_DEBUG, 1}, - {"DRLCMACUL", "\033[1;36m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_DEBUG, 1}, - {"DRLCMACSCHED", "\033[0;36m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_DEBUG, 1}, - {"DBSSGP", "\033[1;34m", "GPRS BSS Gateway Protocol (BSSGP)", LOGL_NOTICE , 1}, + {"DCSN1", "\033[1;31m", "Concrete Syntax Notation One (CSN1)", LOGL_INFO, 0}, + {"DL1IF", "\033[1;32m", "GPRS PCU L1 interface (L1IF)", LOGL_INFO, 1}, + {"DRLCMAC", "\033[0;33m", "GPRS RLC/MAC layer (RLCMAC)", LOGL_INFO, 1}, + {"DRLCMACDATA", "\033[0;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_INFO, 1}, + {"DRLCMACDL", "\033[1;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_INFO, 1}, + {"DRLCMACUL", "\033[1;36m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_INFO, 1}, + {"DRLCMACSCHED", "\033[0;36m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_INFO, 1}, + {"DBSSGP", "\033[1;34m", "GPRS BSS Gateway Protocol (BSSGP)", LOGL_INFO , 1}, {"DPCU", "\033[1;35m", "GPRS Packet Control Unit (PCU)", LOGL_NOTICE, 1}, }; diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 4adbe7dc..7d28de12 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -148,7 +148,7 @@ struct gprs_rlcmac_tbf *tbf_alloc(uint8_t tfi, uint8_t trx, uint8_t ts) struct gprs_rlcmac_pdch *pdch; struct gprs_rlcmac_tbf *tbf; - LOGP(DRLCMAC, LOGL_INFO, "********** TBF starts here **********\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF starts here **********\n"); LOGP(DRLCMAC, LOGL_INFO, "Allocating TBF with TFI=%d.\n", tfi); if (trx >= 8 || ts >= 8 || tfi >= 32) @@ -188,7 +188,7 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf) pdch = &bts->trx[tbf->trx].pdch[tbf->ts]; pdch->tbf[tbf->tfi] = NULL; llist_del(&tbf->list); - LOGP(DRLCMAC, LOGL_INFO, "********** TBF ends here **********\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF ends here **********\n"); talloc_free(tbf); } @@ -204,7 +204,7 @@ const char *tbf_state_name[] = { void tbf_new_state(struct gprs_rlcmac_tbf *tbf, enum gprs_rlcmac_tbf_state state) { - LOGP(DRLCMAC, LOGL_INFO, "TBF=%d changes state from %s to %s\n", + LOGP(DRLCMAC, LOGL_DEBUG, "TBF=%d changes state from %s to %s\n", tbf->tfi, tbf_state_name[tbf->state], tbf_state_name[state]); tbf->state = state; } @@ -601,14 +601,11 @@ int gprs_rlcmac_tx_ul_ud(gprs_rlcmac_tbf *tbf) struct msgb *llc_pdu; unsigned msg_len = NS_HDR_LEN + BSSGP_HDR_LEN + tbf->llc_index; - LOGP(DBSSGP, LOGL_NOTICE, "TX: [PCU -> SGSN ] TFI: %u TLLI: 0x%08x DataLen: %u\n", tbf->tfi, tbf->tlli, tbf->llc_index); + LOGP(DBSSGP, LOGL_INFO, "LLC [PCU -> SGSN] TFI: %u TLLI: 0x%08x %s\n", tbf->tfi, tbf->tlli, osmo_hexdump(tbf->llc_frame, tbf->llc_index)); if (!bctx) { LOGP(DBSSGP, LOGL_ERROR, "No bctx\n"); return -EIO; } - //LOGP(DBSSGP, LOGL_NOTICE, " Data = "); - //for (unsigned i = 0; i < tbf->llc_index; i++) - // LOGPC(DBSSGP, LOGL_NOTICE, "%02x ", tbf->llc_frame[i]); llc_pdu = msgb_alloc_headroom(msg_len, msg_len,"llc_pdu"); msgb_tvlv_push(llc_pdu, BSSGP_IE_LLC_PDU, sizeof(uint8_t)*tbf->llc_index, tbf->llc_frame); diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp index 71bad5c4..ea813c63 100644 --- a/src/gprs_rlcmac_data.cpp +++ b/src/gprs_rlcmac_data.cpp @@ -127,10 +127,10 @@ int gprs_rlcmac_rcv_control_block(bitvec *rlc_block, uint32_t fn) struct gprs_rlcmac_tbf *tbf; RlcMacUplink_t * ul_control_block = (RlcMacUplink_t *)malloc(sizeof(RlcMacUplink_t)); - LOGP(DRLCMAC, LOGL_NOTICE, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); - LOGPC(DRLCMAC, LOGL_NOTICE, "\n"); - LOGP(DRLCMAC, LOGL_NOTICE, "------------------------- RX : Uplink Control Block -------------------------\n"); + LOGPC(DCSN1, LOGL_NOTICE, "\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); switch (ul_control_block->u.MESSAGE_TYPE) { case MT_PACKET_CONTROL_ACK: tlli = ul_control_block->u.Packet_Control_Acknowledgement.TLLI; @@ -142,27 +142,27 @@ int gprs_rlcmac_rcv_control_block(bitvec *rlc_block, uint32_t fn) } tfi = tbf->tfi; if (tlli != tbf->tlli) { - LOGP(DRLCMAC, LOGL_NOTICE, "Phone changed TLLI to " + LOGP(DRLCMAC, LOGL_INFO, "Phone changed TLLI to " "0x%08x\n", tlli); tbf->tlli = tlli; } - LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] TFI: %u TLLI: 0x%08x Packet Control Ack\n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "RX: [PCU <- BTS] TFI: %u TLLI: 0x%08x Packet Control Ack\n", tbf->tfi, tbf->tlli); tbf->poll_state = GPRS_RLCMAC_POLL_NONE; /* check if this control ack belongs to packet uplink ack */ if (tbf->ul_ack_state == GPRS_RLCMAC_UL_ACK_WAIT_ACK) { - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [UPLINK] END TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "TBF: [UPLINK] END TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); tbf->ul_ack_state = GPRS_RLCMAC_UL_ACK_NONE; tbf_free(tbf); break; } if (tbf->dl_ass_state == GPRS_RLCMAC_DL_ASS_WAIT_ACK) { - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [UPLINK] DOWNLINK ASSIGNED TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "TBF: [UPLINK] DOWNLINK ASSIGNED TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); tbf->dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; break; } if (tbf->ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) { - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [DOWNLINK] UPLINK ASSIGNED TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "TBF: [DOWNLINK] UPLINK ASSIGNED TFI: %u TLLI: 0x%08x \n", tbf->tfi, tbf->tlli); tbf->ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; break; } @@ -174,7 +174,7 @@ int gprs_rlcmac_rcv_control_block(bitvec *rlc_block, uint32_t fn) tbf = tbf_by_poll_fn(fn); if (!tbf) { LOGP(DRLCMAC, LOGL_NOTICE, "PACKET DOWNLINK ACK with " - "unknown FN=%u TFI=%d\n", fn, tfi); + "unknown FN=%u TBF=%d\n", fn, tfi); break; } /* reset N3105 */ @@ -182,7 +182,7 @@ int gprs_rlcmac_rcv_control_block(bitvec *rlc_block, uint32_t fn) /* stop timer T3191 */ tbf_timer_stop(tbf); tlli = tbf->tlli; - LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] TFI: %u TLLI: 0x%08x Packet Downlink Ack/Nack\n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "RX: [PCU <- BTS] TFI: %u TLLI: 0x%08x Packet Downlink Ack/Nack\n", tbf->tfi, tbf->tlli); tbf->poll_state = GPRS_RLCMAC_POLL_NONE; gprs_rlcmac_downlink_ack(tbf, @@ -219,7 +219,6 @@ uplink_request: ul_tbf->dir.ul.usf = usf; tbf_new_state(ul_tbf, GPRS_RLCMAC_FLOW); tbf_timer_start(ul_tbf, 3169, bts->t3169, 0); - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [UPLINK] START TFI: %u\n", ul_tbf->tfi); /* schedule uplink assignment */ tbf->ul_ass_state = GPRS_RLCMAC_UL_ASS_SEND_ASS; } @@ -238,27 +237,27 @@ uplink_request: tfi = ul_control_block->u.Packet_Resource_Request.ID.u.Global_TFI.u.DOWNLINK_TFI; tbf = tbf_by_tfi(tfi, GPRS_RLCMAC_DL_TBF); if (!tbf) { - LOGP(DRLCMAC, LOGL_NOTICE, "PACKET RESSOURCE REQ unknown downlink TFI=%d\n", tlli); + LOGP(DRLCMAC, LOGL_NOTICE, "PACKET RESSOURCE REQ unknown downlink TBF=%d\n", tlli); break; } } else { tfi = ul_control_block->u.Packet_Resource_Request.ID.u.Global_TFI.u.UPLINK_TFI; tbf = tbf_by_tfi(tfi, GPRS_RLCMAC_UL_TBF); if (!tbf) { - LOGP(DRLCMAC, LOGL_NOTICE, "PACKET RESSOURCE REQ unknown uplink TFI=%d\n", tlli); + LOGP(DRLCMAC, LOGL_NOTICE, "PACKET RESSOURCE REQ unknown uplink TBF=%d\n", tlli); break; } } tlli = tbf->tlli; } - LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] TFI: %u TLLI: 0x%08x Packet ressource request\n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_DEBUG, "RX: [PCU <- BTS] TFI: %u TLLI: 0x%08x Packet ressource request\n", tbf->tfi, tbf->tlli); #warning FIXME puts("FIXME: UL request during UL request"); exit(0); break; default: - LOGP(DRLCMAC, LOGL_ERROR, "RX: [PCU <- BTS] unknown control block received\n"); + LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] unknown control block received\n"); } free(ul_control_block); return 1; @@ -290,8 +289,11 @@ void tbf_timer_cb(void *_tbf) break; case 3169: case 3191: - case 3193: case 3195: + LOGP(DRLCMAC, LOGL_NOTICE, "TBF T%d timeout during " + "transsmission\n", tbf->T); + /* fall through */ + case 3193: LOGP(DRLCMAC, LOGL_DEBUG, "TBF will be freed due to timeout\n"); /* free TBF */ tbf_free(tbf); @@ -377,7 +379,7 @@ static int gprs_rlcmac_assemble_llc(struct gprs_rlcmac_tbf *tbf, uint8_t *data, break; /* M == 0 and E == 0 is not allowed in this version. */ if (!m && !e) { - LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TFI=%d " + LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TBF=%d " "ignored, because M='0' and E='0'.\n", tbf->tfi); return 0; @@ -457,8 +459,9 @@ static int gprs_rlcmac_assemble_llc(struct gprs_rlcmac_tbf *tbf, uint8_t *data, /* Check if last offset would exceed frame. */ if (offset > len) { - LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TFI=%d ignored, " - "because LI exceeds frame length.\n", tbf->tfi); + LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TBF=%d ignored, " + "because LI delimits data that exceeds block size.\n", + tbf->tfi); return -EINVAL; } @@ -489,7 +492,7 @@ static int gprs_rlcmac_assemble_llc(struct gprs_rlcmac_tbf *tbf, uint8_t *data, if (i != frames - 1) { /* send frame to SGSN */ LOGP(DRLCMACUL, LOGL_INFO, "Complete UL frame for " - "TFI=%d: %s\n", tbf->tfi, + "TBF=%d: %s\n", tbf->tfi, osmo_hexdump(tbf->llc_frame, tbf->llc_index)); gprs_rlcmac_tx_ul_ud(tbf); tbf->llc_index = 0; /* reset frame space */ @@ -500,7 +503,7 @@ static int gprs_rlcmac_assemble_llc(struct gprs_rlcmac_tbf *tbf, uint8_t *data, } else if (rh->cv == 0) { /* send frame to SGSN */ LOGP(DRLCMACUL, LOGL_INFO, "Complete UL frame for " - "TFI=%d that fits precisely in last block: " + "TBF=%d that fits precisely in last block: " "%s\n", tbf->tfi, osmo_hexdump(tbf->llc_frame, tbf->llc_index)); gprs_rlcmac_tx_ul_ud(tbf); @@ -585,49 +588,49 @@ int gprs_rlcmac_rcv_data_block_acknowledged(uint8_t *data, uint8_t len) /* find TBF inst from given TFI */ tbf = tbf_by_tfi(rh->tfi, GPRS_RLCMAC_UL_TBF); if (!tbf) { - LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA unknown TFI=%d\n", + LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA unknown TBF=%d\n", rh->tfi); return 0; } if (tbf->direction != GPRS_RLCMAC_UL_TBF) { - LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TFI=%d not Uplink " + LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TBF=%d not Uplink " "tbf\n", rh->tfi); return 0; } - LOGP(DRLCMACUL, LOGL_INFO, "UL DATA TFI=%d received (V(Q)=%d .. " + LOGP(DRLCMACUL, LOGL_DEBUG, "UL DATA TBF=%d received (V(Q)=%d .. " "V(R)=%d)\n", rh->tfi, tbf->dir.ul.v_q, tbf->dir.ul.v_r); /* get TLLI */ if (!tbf->tlli_valid) { /* no TLLI yet */ if (!rh->ti) { - LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TFI=%d without " + LOGP(DRLCMACUL, LOGL_NOTICE, "UL DATA TBF=%d without " "TLLI, but no TLLI received yet\n", rh->tfi); return 0; } rc = tlli_from_ul_data(data, len, &tbf->tlli); if (rc) { LOGP(DRLCMACUL, LOGL_NOTICE, "Failed to decode TLLI " - "of UL DATA TFI=%d.\n", rh->tfi); + "of UL DATA TBF=%d.\n", rh->tfi); return 0; } tbf->tlli_valid = 1; - LOGP(DRLCMACUL, LOGL_DEBUG, " Decoded premier TLLI=0x%08x of " - "UL DATA TFI=%d.\n", tbf->tlli, rh->tfi); + LOGP(DRLCMACUL, LOGL_INFO, "Decoded premier TLLI=0x%08x of " + "UL DATA TBF=%d.\n", tbf->tlli, rh->tfi); /* already have TLLI, but we stille get another one */ } else if (rh->ti) { uint32_t tlli; rc = tlli_from_ul_data(data, len, &tlli); if (rc) { LOGP(DRLCMACUL, LOGL_NOTICE, "Failed to decode TLLI " - "of UL DATA TFI=%d.\n", rh->tfi); + "of UL DATA TBF=%d.\n", rh->tfi); return 0; } if (tlli != tbf->tlli) { LOGP(DRLCMACUL, LOGL_NOTICE, "TLLI mismatch on UL " - "DATA TFI=%d. (Ignoring due to contention " + "DATA TBF=%d. (Ignoring due to contention " "resolution)\n", rh->tfi); return 0; } @@ -770,6 +773,7 @@ struct msgb *gprs_rlcmac_send_packet_uplink_assignment( msg = msgb_alloc(23, "rlcmac_ul_ass"); if (!msg) return NULL; + LOGP(DRLCMAC, LOGL_INFO, "TBF: START TFI: %u TLLI: 0x%08x Packet Uplink Assignment (PACCH)\n", new_tbf->tfi, new_tbf->tlli); bitvec *ass_vec = bitvec_alloc(23); if (!ass_vec) { msgb_free(msg); @@ -783,10 +787,10 @@ struct msgb *gprs_rlcmac_send_packet_uplink_assignment( new_tbf->tsc, POLLING_ASSIGNMENT); bitvec_pack(ass_vec, msgb_put(msg, 23)); RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)malloc(sizeof(RlcMacDownlink_t)); - LOGP(DRLCMAC, LOGL_NOTICE, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); decode_gsm_rlcmac_downlink(ass_vec, mac_control_block); - LOGPC(DRLCMAC, LOGL_NOTICE, "\n"); - LOGP(DRLCMAC, LOGL_NOTICE, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); + LOGPC(DCSN1, LOGL_NOTICE, "\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); bitvec_free(ass_vec); #if POLLING_ASSIGNMENT == 1 @@ -833,9 +837,9 @@ int gprs_rlcmac_rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta) tbf->dir.ul.usf = usf; tbf_new_state(tbf, GPRS_RLCMAC_FLOW); tbf_timer_start(tbf, 3169, bts->t3169, 0); - LOGP(DRLCMAC, LOGL_NOTICE, "TBF: [UPLINK] START TFI: %u\n", tbf->tfi); - LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] TFI: %u RACH qbit-ta=%d ra=%d, Fn=%d (%d,%d,%d)\n", tbf->tfi, qta, ra, Fn, (Fn / (26 * 51)) % 32, Fn % 51, Fn % 26); - LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] TFI: %u Packet Immidiate Assignment (AGCH)\n", tbf->tfi); + LOGP(DRLCMAC, LOGL_DEBUG, "TBF: [UPLINK] START TFI: %u\n", tbf->tfi); + LOGP(DRLCMAC, LOGL_DEBUG, "RX: [PCU <- BTS] TFI: %u RACH qbit-ta=%d ra=%d, Fn=%d (%d,%d,%d)\n", tbf->tfi, qta, ra, Fn, (Fn / (26 * 51)) % 32, Fn % 51, Fn % 26); + LOGP(DRLCMAC, LOGL_INFO, "TX: START TFI: %u Immediate Assignment Uplink (AGCH)\n", tbf->tfi); bitvec *immediate_assignment = bitvec_alloc(22) /* without plen */; bitvec_unhex(immediate_assignment, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); int plen = write_immediate_assignment(immediate_assignment, 0, ra, Fn, tbf->ta, tbf->arfcn, tbf->ts, tbf->tsc, tbf->tfi, usf, 0, 0, 0); @@ -871,7 +875,7 @@ struct msgb *gprs_rlcmac_send_data_block_acknowledged( uint8_t len; uint16_t space, chunk; - LOGP(DRLCMACDL, LOGL_INFO, "DL DATA TFI=%d downlink (V(A)==%d .. " + LOGP(DRLCMACDL, LOGL_DEBUG, "DL DATA TBF=%d downlink (V(A)==%d .. " "V(S)==%d)\n", tbf->tfi, tbf->dir.dl.v_a, tbf->dir.dl.v_s); do_resend: @@ -1001,6 +1005,10 @@ do_resend: "would exactly fit into space (%d): because " "this is a final block, we don't add length " "header, and we are done\n", chunk, space); + LOGP(DRLCMACDL, LOGL_INFO, "Complete DL frame for " + "TBF=%d that fits precisely in last block: " + "%s\n", tbf->tfi, + osmo_hexdump(tbf->llc_frame, tbf->llc_length)); /* block is filled, so there is no extension */ *e_pointer |= 0x01; /* fill space */ @@ -1058,13 +1066,16 @@ do_resend: memcpy(data, tbf->llc_frame + tbf->llc_index, chunk); data += chunk; space -= chunk; + LOGP(DRLCMACDL, LOGL_INFO, "Complete DL frame for TBF=%d: %s\n", + tbf->tfi, + osmo_hexdump(tbf->llc_frame, tbf->llc_length)); /* reset LLC frame */ tbf->llc_index = tbf->llc_length = 0; /* dequeue next LLC frame, if any */ msg = msgb_dequeue(&tbf->llc_queue); if (msg) { - LOGP(DRLCMACDL, LOGL_INFO, "- Dequeue next LLC " - "(len=%d)\n", msg->len); + LOGP(DRLCMACDL, LOGL_INFO, "- Dequeue next LLC for " + "TBF=%d (len=%d)\n", tbf->tfi, msg->len); memcpy(tbf->llc_frame, msg->data, msg->len); tbf->llc_length = msg->len; msgb_free(msg); @@ -1076,7 +1087,7 @@ do_resend: } /* if we don't have more LLC frames */ if (!tbf->llc_length) { - LOGP(DRLCMACDL, LOGL_INFO, "-- Final block, so we " + LOGP(DRLCMACDL, LOGL_DEBUG, "-- Final block, so we " "done.\n"); li->e = 1; /* we cannot extend */ rh->fbi = 1; /* we indicate final block */ @@ -1084,7 +1095,7 @@ do_resend: break; } /* we have no space left */ - LOGP(DRLCMACDL, LOGL_INFO, "-- No space left, so we are " + LOGP(DRLCMACDL, LOGL_DEBUG, "-- No space left, so we are " "done.\n"); li->e = 1; /* we cannot extend */ break; @@ -1122,7 +1133,7 @@ tx_block: ACK_AFTER_FRAMES); } if (tbf->poll_state != GPRS_RLCMAC_POLL_NONE) - LOGP(DRLCMACDL, LOGL_NOTICE, "Polling is already " + LOGP(DRLCMACDL, LOGL_DEBUG, "Polling is already " "sheduled for TBF=%d, so we must wait for " "requesting downlink ack\n", tbf->tfi); else { @@ -1161,7 +1172,7 @@ int gprs_rlcmac_downlink_ack(struct gprs_rlcmac_tbf *tbf, uint8_t final, uint16_t bsn; struct msgb *msg; - LOGP(DRLCMACDL, LOGL_INFO, "TFI=%d downlink acknowledge\n", + LOGP(DRLCMACDL, LOGL_DEBUG, "TBF=%d downlink acknowledge\n", tbf->tfi); if (!final) { @@ -1299,16 +1310,17 @@ struct msgb *gprs_rlcmac_send_packet_downlink_assignment( } bitvec_unhex(ass_vec, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); + LOGP(DRLCMAC, LOGL_INFO, "TBF: START TFI: %u TLLI: 0x%08x Packet Downlink Assignment (PACCH)\n", new_tbf->tfi, new_tbf->tlli); write_packet_downlink_assignment(ass_vec, tbf->tfi, (tbf->direction == GPRS_RLCMAC_DL_TBF), new_tbf->tfi, new_tbf->arfcn, new_tbf->ts, new_tbf->ta, new_tbf->tsc, POLLING_ASSIGNMENT); bitvec_pack(ass_vec, msgb_put(msg, 23)); RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)malloc(sizeof(RlcMacDownlink_t)); - LOGP(DRLCMAC, LOGL_NOTICE, "+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++\n"); decode_gsm_rlcmac_downlink(ass_vec, mac_control_block); - LOGPC(DRLCMAC, LOGL_NOTICE, "\n"); - LOGP(DRLCMAC, LOGL_NOTICE, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); + LOGPC(DCSN1, LOGL_NOTICE, "\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bitvec_free(ass_vec); #if POLLING_ASSIGNMENT == 1 @@ -1324,7 +1336,7 @@ struct msgb *gprs_rlcmac_send_packet_downlink_assignment( static void gprs_rlcmac_downlink_assignment(gprs_rlcmac_tbf *tbf, uint8_t poll) { - LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] TFI: %u TLLI: 0x%08x Immidiate Assignment (CCCH)\n", tbf->tfi, tbf->tlli); + LOGP(DRLCMAC, LOGL_INFO, "TX: START TFI: %u TLLI: 0x%08x Immediate Assignment Downlink (AGCH)\n", tbf->tfi, tbf->tlli); bitvec *immediate_assignment = bitvec_alloc(22); /* without plen */ bitvec_unhex(immediate_assignment, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); /* use request reference that has maximum distance to current time, @@ -1359,10 +1371,10 @@ void gprs_rlcmac_trigger_downlink_assignment(gprs_rlcmac_tbf *tbf, /* wait one second until assignment */ tbf_timer_start(tbf, 1234, 1,0); #else - LOGP(DRLCMAC, LOGL_DEBUG, "Trigger dowlink assignment on " - "PACCH, because %slink TBF=%d exists for TLLI\n", + LOGP(DRLCMAC, LOGL_DEBUG, "Send dowlink assignment on " + "PACCH, because %slink TBF=%d exists for TLLI=0x%08x\n", (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "down" : "up", - old_tbf->tfi); + old_tbf->tfi, old_tbf->tlli); old_tbf->dl_ass_state = GPRS_RLCMAC_DL_ASS_SEND_ASS; /* use TA from old TBF */ tbf->ta = old_tbf->ta; @@ -1372,9 +1384,7 @@ void gprs_rlcmac_trigger_downlink_assignment(gprs_rlcmac_tbf *tbf, tbf_timer_start(tbf, 0, Tassign_pacch); #endif } else { - LOGP(DRLCMAC, LOGL_DEBUG, "Trigger dowlink assignment on AGCH, " - "because no uplink/downlink TBF exists for TLLI. " - "(providing last timing advance)\n"); + LOGP(DRLCMAC, LOGL_DEBUG, "Send dowlink assignment for TBF=%d on AGCH, no TBF exist\n", tbf->tfi); /* send immediate assignment */ gprs_rlcmac_downlink_assignment(tbf, 0); /* change state */ diff --git a/src/sysmo_l1_if.cpp b/src/sysmo_l1_if.cpp index 2d3c7965..006cc2eb 100644 --- a/src/sysmo_l1_if.cpp +++ b/src/sysmo_l1_if.cpp @@ -239,7 +239,7 @@ static int pcu_rx_info_ind(struct gsm_pcu_if_info_ind *info_ind) struct gprs_rlcmac_tbf *tbf; int i; - LOGP(DL1IF, LOGL_INFO, "Info indication received:\n"); + LOGP(DL1IF, LOGL_DEBUG, "Info indication received:\n"); if (!(info_ind->flags & PCU_IF_FLAG_ACTIVE)) { LOGP(DL1IF, LOGL_NOTICE, "BTS not available\n"); @@ -259,52 +259,53 @@ bssgp_failed: return 0; } LOGP(DL1IF, LOGL_INFO, "BTS available\n"); - LOGP(DL1IF, LOGL_INFO, " mcc=%d\n", info_ind->mcc); - LOGP(DL1IF, LOGL_INFO, " mnc=%d\n", info_ind->mnc); - LOGP(DL1IF, LOGL_INFO, " lac=%d\n", info_ind->lac); - LOGP(DL1IF, LOGL_INFO, " rac=%d\n", info_ind->rac); - LOGP(DL1IF, LOGL_INFO, " cell_id=%d\n", info_ind->cell_id); - LOGP(DL1IF, LOGL_INFO, " nsei=%d\n", info_ind->nsei); - LOGP(DL1IF, LOGL_INFO, " nse_timer=%d %d %d %d %d %d %d\n", + LOGP(DL1IF, LOGL_DEBUG, " mcc=%d\n", info_ind->mcc); + LOGP(DL1IF, LOGL_DEBUG, " mnc=%d\n", info_ind->mnc); + LOGP(DL1IF, LOGL_DEBUG, " lac=%d\n", info_ind->lac); + LOGP(DL1IF, LOGL_DEBUG, " rac=%d\n", info_ind->rac); + LOGP(DL1IF, LOGL_DEBUG, " cell_id=%d\n", info_ind->cell_id); + LOGP(DL1IF, LOGL_DEBUG, " nsei=%d\n", info_ind->nsei); + LOGP(DL1IF, LOGL_DEBUG, " nse_timer=%d %d %d %d %d %d %d\n", info_ind->nse_timer[0], info_ind->nse_timer[1], info_ind->nse_timer[2], info_ind->nse_timer[3], info_ind->nse_timer[4], info_ind->nse_timer[5], info_ind->nse_timer[6]); - LOGP(DL1IF, LOGL_INFO, " cell_timer=%d %d %d %d %d %d %d %d %d %d %d\n", + LOGP(DL1IF, LOGL_DEBUG, " cell_timer=%d %d %d %d %d %d %d %d %d %d " + "%d\n", info_ind->cell_timer[0], info_ind->cell_timer[1], info_ind->cell_timer[2], info_ind->cell_timer[3], info_ind->cell_timer[4], info_ind->cell_timer[5], info_ind->cell_timer[6], info_ind->cell_timer[7], info_ind->cell_timer[8], info_ind->cell_timer[9], info_ind->cell_timer[10]); - LOGP(DL1IF, LOGL_INFO, " repeat_time=%d\n", info_ind->repeat_time); - LOGP(DL1IF, LOGL_INFO, " repeat_count=%d\n", info_ind->repeat_count); - LOGP(DL1IF, LOGL_INFO, " bvci=%d\n", info_ind->bvci); - LOGP(DL1IF, LOGL_INFO, " t3142=%d\n", info_ind->t3142); - LOGP(DL1IF, LOGL_INFO, " t3169=%d\n", info_ind->t3169); - LOGP(DL1IF, LOGL_INFO, " t3191=%d\n", info_ind->t3191); - LOGP(DL1IF, LOGL_INFO, " t3193=%d (ms)\n", info_ind->t3193_10ms * 10); - LOGP(DL1IF, LOGL_INFO, " t3195=%d\n", info_ind->t3195); - LOGP(DL1IF, LOGL_INFO, " n3101=%d\n", info_ind->n3101); - LOGP(DL1IF, LOGL_INFO, " n3103=%d\n", info_ind->n3103); - LOGP(DL1IF, LOGL_INFO, " n3105=%d\n", info_ind->n3105); - LOGP(DL1IF, LOGL_INFO, " cv_countdown=%d\n", info_ind->cv_countdown); - LOGP(DL1IF, LOGL_INFO, " dl_tbf_ext=%d\n", info_ind->dl_tbf_ext); - LOGP(DL1IF, LOGL_INFO, " ul_tbf_ext=%d\n", info_ind->ul_tbf_ext); + LOGP(DL1IF, LOGL_DEBUG, " repeat_time=%d\n", info_ind->repeat_time); + LOGP(DL1IF, LOGL_DEBUG, " repeat_count=%d\n", info_ind->repeat_count); + LOGP(DL1IF, LOGL_DEBUG, " bvci=%d\n", info_ind->bvci); + LOGP(DL1IF, LOGL_DEBUG, " t3142=%d\n", info_ind->t3142); + LOGP(DL1IF, LOGL_DEBUG, " t3169=%d\n", info_ind->t3169); + LOGP(DL1IF, LOGL_DEBUG, " t3191=%d\n", info_ind->t3191); + LOGP(DL1IF, LOGL_DEBUG, " t3193=%d (ms)\n", info_ind->t3193_10ms * 10); + LOGP(DL1IF, LOGL_DEBUG, " t3195=%d\n", info_ind->t3195); + LOGP(DL1IF, LOGL_DEBUG, " n3101=%d\n", info_ind->n3101); + LOGP(DL1IF, LOGL_DEBUG, " n3103=%d\n", info_ind->n3103); + LOGP(DL1IF, LOGL_DEBUG, " n3105=%d\n", info_ind->n3105); + LOGP(DL1IF, LOGL_DEBUG, " cv_countdown=%d\n", info_ind->cv_countdown); + LOGP(DL1IF, LOGL_DEBUG, " dl_tbf_ext=%d\n", info_ind->dl_tbf_ext); + LOGP(DL1IF, LOGL_DEBUG, " ul_tbf_ext=%d\n", info_ind->ul_tbf_ext); for (i = 0; i < 4; i++) { if ((info_ind->flags & (PCU_IF_FLAG_CS1 << i))) - LOGP(DL1IF, LOGL_INFO, " Use CS%d\n", i+1); + LOGP(DL1IF, LOGL_DEBUG, " Use CS%d\n", i+1); } for (i = 0; i < 9; i++) { if ((info_ind->flags & (PCU_IF_FLAG_MCS1 << i))) - LOGP(DL1IF, LOGL_INFO, " Use MCS%d\n", i+1); + LOGP(DL1IF, LOGL_DEBUG, " Use MCS%d\n", i+1); } - LOGP(DL1IF, LOGL_INFO, " initial_cs=%d\n", info_ind->initial_cs); - LOGP(DL1IF, LOGL_INFO, " initial_mcs=%d\n", info_ind->initial_mcs); - LOGP(DL1IF, LOGL_INFO, " nsvci=%d\n", info_ind->nsvci[0]); - LOGP(DL1IF, LOGL_INFO, " local_port=%d\n", info_ind->local_port[0]); - LOGP(DL1IF, LOGL_INFO, " remote_port=%d\n", info_ind->remote_port[0]); - LOGP(DL1IF, LOGL_INFO, " remote_ip=%d\n", info_ind->remote_ip[0]); + LOGP(DL1IF, LOGL_DEBUG, " initial_cs=%d\n", info_ind->initial_cs); + LOGP(DL1IF, LOGL_DEBUG, " initial_mcs=%d\n", info_ind->initial_mcs); + LOGP(DL1IF, LOGL_DEBUG, " nsvci=%d\n", info_ind->nsvci[0]); + LOGP(DL1IF, LOGL_DEBUG, " local_port=%d\n", info_ind->local_port[0]); + LOGP(DL1IF, LOGL_DEBUG, " remote_port=%d\n", info_ind->remote_port[0]); + LOGP(DL1IF, LOGL_DEBUG, " remote_ip=%d\n", info_ind->remote_ip[0]); rc = gprs_bssgp_create(info_ind->remote_ip[0], info_ind->remote_port[0], info_ind->nsei, info_ind->nsvci[0], info_ind->bvci, -- cgit v1.2.3