Change in osmo-pcu[master]: Clarify, document Assignment related timers

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Tue Apr 27 10:05:18 UTC 2021


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23910 )

Change subject: Clarify, document Assignment related timers
......................................................................

Clarify, document Assignment related timers

Related: OS#3928
Change-Id: Iad31a5c6f83cd78793adf05a6af782ceacae8b11
---
M src/bts.cpp
M src/gprs_pcu.c
M src/tbf.cpp
M src/tbf_dl.cpp
4 files changed, 12 insertions(+), 7 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved



diff --git a/src/bts.cpp b/src/bts.cpp
index 449e1ac..bcf4d1b 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -602,8 +602,10 @@
 
 	LOGP(DRLCMAC, LOGL_DEBUG, "Got IMM.ASS confirm for TLLI=%08x\n", tlli);
 
-	if (dl_tbf->m_wait_confirm)
+	if (dl_tbf->m_wait_confirm) {
+		/* Transition to FLOW in gprs_rlcmac_tbf::handle_timeout() when timer expires */
 		T_START(dl_tbf, T0, -2002, "assignment (AGCH)", true);
+	}
 
 	return 0;
 }
diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c
index 226b861..3875e09 100644
--- a/src/gprs_pcu.c
+++ b/src/gprs_pcu.c
@@ -37,8 +37,8 @@
 	{ .T=PCU_TDEF_SI_CACHE_ALIVE,      .default_val=5,  .unit=OSMO_TDEF_S,   .desc="[RAC+CI]->[SI] resolution cache entry storage timeout (s)", .val=0 },
 	{ .T=-101,  .default_val=30,  .unit=OSMO_TDEF_S,  .desc="BSSGP (un)blocking procedures timer (s)",  .val=0 },
 	{ .T=-102,  .default_val=30,  .unit=OSMO_TDEF_S,  .desc="BSSGP reset procedure timer (s)",          .val=0 },
-	{ .T=-2000, .default_val=2,   .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)",            .val=0 },
-	{ .T=-2001, .default_val=2,   .unit=OSMO_TDEF_S,  .desc="PACCH assignment timer (s)",               .val=0 },
+	{ .T=-2000, .default_val=2,   .unit=OSMO_TDEF_MS, .desc="Delay release of UL TBF after tx Packet Access Reject (PACCH) (ms)", .val=0 },
+	{ .T=-2001, .default_val=2,   .unit=OSMO_TDEF_S,  .desc="PACCH assignment timeout (s)",               .val=0 },
 	{ .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 },
 	{ .T=-2030, .default_val=60,  .unit=OSMO_TDEF_S,  .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */
 	{ .T=-2031, .default_val=2000, .unit=OSMO_TDEF_MS, .desc="Time to keep an idle DL TBF alive (ms)",  .val=0 },
diff --git a/src/tbf.cpp b/src/tbf.cpp
index b51e7de..672146f 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -775,7 +775,7 @@
 
 	LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn);
 
-	/* assignment */
+	/* PACCH assignment timeout (see timers X2000, X2001) */
 	if ((state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) {
 		if (state_is(GPRS_RLCMAC_ASSIGN)) {
 			LOGPTBF(this, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n");
@@ -785,6 +785,7 @@
 			LOGPTBF(this, LOGL_ERROR, "Error: TBF is not in assign state\n");
 	}
 
+	/* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */
 	if ((state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) {
 		gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this);
 		dl_tbf->m_wait_confirm = 0;
@@ -965,9 +966,11 @@
 	bitvec_free(packet_access_rej);
 	ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE;
 
-	/* Start Tmr only if it is UL TBF */
-	if (direction == GPRS_RLCMAC_UL_TBF)
+	/* Start release only if it is UL TBF */
+	if (direction == GPRS_RLCMAC_UL_TBF) {
+		/* tbf_free() called in gprs_rlcmac_tbf::handle_timeout */
 		T_START(this, T0, -2000, "reject (PACCH)", true);
+	}
 
 	return msg;
 
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index dd5d0f2..fc53c84 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -603,7 +603,7 @@
 		/* change state */
 		TBF_SET_ASS_ON(this, GPRS_RLCMAC_FLAG_PACCH, true);
 
-		/* start timer */
+		/* Start timer, expiry in gprs_rlcmac_tbf::handle_timeout tbf_free()s the TBF */
 		T_START(this, T0, -2001, "assignment (PACCH)", true);
 	} else {
 		LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n",

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23910
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Iad31a5c6f83cd78793adf05a6af782ceacae8b11
Gerrit-Change-Number: 23910
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210427/257db852/attachment.htm>


More information about the gerrit-log mailing list