tbf: Make tfi private and update the code
All logging code that used tbf->tfi is now using tbf_name to
print the the TBF. External code is now using tfi() which is
inlined and should result in the same code being generated as
before (+debug code that can be stripped).
diff --git a/src/bts.cpp b/src/bts.cpp
index 261b5d2..285c184 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -424,13 +424,14 @@
tbf_new_state(tbf, GPRS_RLCMAC_FLOW);
tbf->state_flags |= (1 << GPRS_RLCMAC_FLAG_CCCH);
tbf_timer_start(tbf, 3169, m_bts.t3169, 0);
- 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=0x%02x, Fn=%d (%d,%d,%d)\n", tbf->tfi,
+ LOGP(DRLCMAC, LOGL_DEBUG, "%s [UPLINK] START\n",
+ tbf_name(tbf));
+ LOGP(DRLCMAC, LOGL_DEBUG, "%s RX: [PCU <- BTS] RACH "
+ "qbit-ta=%d ra=0x%02x, Fn=%d (%d,%d,%d)\n",
+ tbf_name(tbf),
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);
+ LOGP(DRLCMAC, LOGL_INFO, "%s TX: START Immediate "
+ "Assignment Uplink (AGCH)\n", tbf_name(tbf));
}
bitvec *immediate_assignment = bitvec_alloc(22) /* without plen */;
bitvec_unhex(immediate_assignment,
@@ -443,7 +444,7 @@
else
plen = Encoding::write_immediate_assignment(&m_bts, immediate_assignment, 0, ra,
Fn, tbf->ta, tbf->trx->arfcn, tbf->first_ts, tbf->tsc,
- tbf->tfi, tbf->dir.ul.usf[tbf->first_ts], 0, 0, 0, 0,
+ tbf->tfi(), tbf->dir.ul.usf[tbf->first_ts], 0, 0, 0, 0,
m_bts.alpha, m_bts.gamma, -1);
pcu_l1if_tx_agch(immediate_assignment, plen);
bitvec_free(immediate_assignment);
@@ -499,7 +500,7 @@
* so the assignment will not conflict with possible RACH requests. */
plen = Encoding::write_immediate_assignment(&m_bts, immediate_assignment, 1, 125,
(tbf->pdch[tbf->first_ts]->last_rts_fn + 21216) % 2715648, tbf->ta,
- tbf->trx->arfcn, tbf->first_ts, tbf->tsc, tbf->tfi, 0, tbf->tlli(), poll,
+ tbf->trx->arfcn, tbf->first_ts, tbf->tsc, tbf->tfi(), 0, tbf->tlli(), poll,
tbf->poll_fn, 0, m_bts.alpha, m_bts.gamma, -1);
pcu_l1if_tx_pch(immediate_assignment, plen, imsi);
bitvec_free(immediate_assignment);
@@ -712,9 +713,9 @@
"UL DATA TFI=%d.\n", tbf->tlli(), rh->tfi);
if ((dl_tbf = bts()->tbf_by_tlli(tbf->tlli(), GPRS_RLCMAC_DL_TBF))) {
LOGP(DRLCMACUL, LOGL_NOTICE, "Got RACH from "
- "TLLI=0x%08x while DL TFI=%d still exists. "
+ "TLLI=0x%08x while %s still exists. "
"Killing pending DL TBF\n", tbf->tlli(),
- dl_tbf->tfi);
+ tbf_name(dl_tbf));
tbf_free(dl_tbf);
}
/* tbf_by_tlli will not find your TLLI, because it is not
@@ -920,7 +921,7 @@
tbf->state_flags &=
~(1 << GPRS_RLCMAC_FLAG_TO_DL_ASS);
LOGP(DRLCMAC, LOGL_NOTICE, "Recovered downlink "
- "assignment for DL TFI=%d\n", tbf->tfi);
+ "assignment for %s\n", tbf_name(tbf));
}
tbf_assign_control_ts(tbf);
return;
@@ -969,7 +970,7 @@
fn, tfi, trx_no(), ts_no);
return;
}
- if (tbf->tfi != tfi) {
+ if (tbf->tfi() != tfi) {
LOGP(DRLCMAC, LOGL_NOTICE, "PACKET DOWNLINK ACK with "
"wrong TFI=%d, ignoring!\n", tfi);
return;
@@ -978,7 +979,7 @@
if ((tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) {
tbf->state_flags &= ~(1 << GPRS_RLCMAC_FLAG_TO_DL_ACK);
LOGP(DRLCMAC, LOGL_NOTICE, "Recovered downlink ack "
- "for DL TFI=%d\n", tbf->tfi);
+ "for %s\n", tbf_name(tbf));
}
/* reset N3105 */
tbf->n3105 = 0;
@@ -1020,18 +1021,18 @@
tbf = bts()->tbf_by_tlli(tlli, GPRS_RLCMAC_UL_TBF);
if (tbf) {
LOGP(DRLCMACUL, LOGL_NOTICE, "Got RACH from "
- "TLLI=0x%08x while UL TFI=%d still "
+ "TLLI=0x%08x while %s still "
"exists. Killing pending DL TBF\n",
- tlli, tbf->tfi);
+ tlli, tbf_name(tbf));
tbf_free(tbf);
tbf = NULL;
}
if ((dl_tbf = bts()->tbf_by_tlli(tlli, GPRS_RLCMAC_DL_TBF))) {
LOGP(DRLCMACUL, LOGL_NOTICE, "Got RACH from "
- "TLLI=0x%08x while DL TFI=%d still exists. "
+ "TLLI=0x%08x while %s still exists. "
"Killing pending DL TBF\n", tlli,
- dl_tbf->tfi);
+ tbf_name(dl_tbf));
tbf_free(dl_tbf);
}
LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF "