pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-gprs/+/33552 )
Change subject: rlcmac: tbf_ul: Move to packet-idle state when T3164 triggers
......................................................................
rlcmac: tbf_ul: Move to packet-idle state when T3164 triggers
TS 44.018 3.5.2.1.4:
"The one phase packet access procedure is completed at a successful
contention resolution. The mobile station has entered the packet transfer
mode. Timer T3141 is stopped on the network side. Timer T3164 is stopped
on the mobile station side."
Change-Id: Ic7420a42e2e81effdde587d7e49acd66b404354c
---
M include/osmocom/gprs/rlcmac/gre.h
M include/osmocom/gprs/rlcmac/rlcmac_private.h
M src/rlcmac/gre.c
M src/rlcmac/rlcmac.c
M src/rlcmac/tbf_dl_ass_fsm.c
M src/rlcmac/tbf_ul_fsm.c
M tests/rlcmac/rlcmac_prim_test.err
M tests/rlcmac/rlcmac_prim_test.ok
8 files changed, 220 insertions(+), 73 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/52/33552/1
diff --git a/include/osmocom/gprs/rlcmac/gre.h b/include/osmocom/gprs/rlcmac/gre.h
index c976b4a..0e17836 100644
--- a/include/osmocom/gprs/rlcmac/gre.h
+++ b/include/osmocom/gprs/rlcmac/gre.h
@@ -24,6 +24,8 @@
struct gprs_rlcmac_dl_tbf *dl_tbf;
struct gprs_rlcmac_ul_tbf *ul_tbf;
+
+ bool freeing; /* Set to true during destructor */
};
struct gprs_rlcmac_entity *gprs_rlcmac_entity_alloc(uint32_t tlli);
@@ -32,6 +34,7 @@
bool gprs_rlcmac_entity_in_packet_idle_mode(const struct gprs_rlcmac_entity *gre);
bool gprs_rlcmac_entity_in_packet_transfer_mode(const struct gprs_rlcmac_entity *gre);
bool gprs_rlcmac_entity_have_tx_data_queued(const struct gprs_rlcmac_entity *gre);
+int gprs_rlcmac_entity_start_ul_tbf_pkt_acc_proc_if_needed(struct gprs_rlcmac_entity
*gre);
int gprs_rlcmac_entity_llc_enqueue(struct gprs_rlcmac_entity *gre, uint8_t *ll_pdu,
unsigned int ll_pdu_len,
enum osmo_gprs_rlcmac_llc_sapi sapi, uint8_t radio_prio);
diff --git a/include/osmocom/gprs/rlcmac/rlcmac_private.h
b/include/osmocom/gprs/rlcmac/rlcmac_private.h
index 76fa3fd..0fefd11 100644
--- a/include/osmocom/gprs/rlcmac/rlcmac_private.h
+++ b/include/osmocom/gprs/rlcmac/rlcmac_private.h
@@ -90,6 +90,7 @@
struct gprs_rlcmac_entity *gprs_rlcmac_find_entity_by_imsi(const char *imsi);
struct gprs_rlcmac_dl_tbf *gprs_rlcmac_find_dl_tbf_by_tfi(uint8_t dl_tfi);
struct gprs_rlcmac_ul_tbf *gprs_rlcmac_find_ul_tbf_by_tfi(uint8_t ul_tfi);
+int gprs_rlcmac_submit_l1ctl_pdch_rel_req(void);
int gprs_rlcmac_handle_ccch_imm_ass(const struct gsm48_imm_ass *ia, uint32_t fn);
int gprs_rlcmac_handle_ccch_pag_req1(const struct gsm48_paging1 *pag);
int gprs_rlcmac_handle_ccch_pag_req2(const struct gsm48_paging2 *pag);
diff --git a/src/rlcmac/gre.c b/src/rlcmac/gre.c
index 6340437..9021faa 100644
--- a/src/rlcmac/gre.c
+++ b/src/rlcmac/gre.c
@@ -71,6 +71,8 @@
if (!gre)
return;
+ gre->freeing = true;
+
gprs_rlcmac_tbf_dl_ass_fsm_destructor(&gre->dl_tbf_dl_ass_fsm);
gprs_rlcmac_dl_tbf_free(gre->dl_tbf);
gprs_rlcmac_ul_tbf_free(gre->ul_tbf);
@@ -83,16 +85,68 @@
* Hence memory pointed by "dl_tbf" is already freed and shall not be accessed.
*/
void gprs_rlcmac_entity_dl_tbf_freed(struct gprs_rlcmac_entity *gre, const struct
gprs_rlcmac_dl_tbf *dl_tbf)
{
- if (gre->dl_tbf == dl_tbf)
- gre->dl_tbf = NULL;
+ OSMO_ASSERT(gre);
+ OSMO_ASSERT(gre->dl_tbf);
+ OSMO_ASSERT(dl_tbf);
+
+ /* GRE is freeing (destructor being called) do nothing */
+ if (gre->freeing)
+ return;
+
+ if (gre->dl_tbf != dl_tbf) {
+ /* This may happen if we already have a new DL TBF allocated
+ * immediately prior to freeing the old one (PACCH assignment
+ * reusing resources of old one). Nothing to do, simply wait for
+ * new DL TBF to do its job.
+ */
+ return;
+ }
+
+ gre->dl_tbf = NULL;
+
+ /* Nothing to do, we are still in packet-transfer-mode using UL TBF. */
+ if (gre->ul_tbf)
+ return;
+
+ /* we have no DL nor UL TBFs. Go back to PACKET-IDLE state, and start
+ * packet-access-procedure if we still have data to be transmitted.
+ */
+ gprs_rlcmac_submit_l1ctl_pdch_rel_req();
+ gprs_rlcmac_entity_start_ul_tbf_pkt_acc_proc_if_needed(gre);
}
/* Called by ul_tbf destructor to inform the UL TBF pointer has been freed.
* Hence memory pointed by "ul_tbf" is already freed and shall not be accessed.
*/
void gprs_rlcmac_entity_ul_tbf_freed(struct gprs_rlcmac_entity *gre, const struct
gprs_rlcmac_ul_tbf *ul_tbf)
{
- if (gre->ul_tbf == ul_tbf)
- gre->ul_tbf = NULL;
+ OSMO_ASSERT(gre);
+ OSMO_ASSERT(gre->ul_tbf);
+ OSMO_ASSERT(ul_tbf);
+
+ /* GRE is freeing (destructor being called) do nothing */
+ if (gre->freeing)
+ return;
+
+ if (gre->ul_tbf != ul_tbf) {
+ /* This may happen if we already have a new UL TBF allocated
+ * immediately prior to freeing the old one (PACCH assignment
+ * reusing resources of old one). Nothing to do, simply wait for
+ * new UL TBF to do its job.
+ */
+ return;
+ }
+
+ gre->ul_tbf = NULL;
+
+ /* Nothing to do, dl_tbf will eventually trigger request for UL TBF PACCH assignment.
*/
+ if (gre->dl_tbf)
+ return;
+
+ /* we have no DL nor UL TBFs. Go back to PACKET-IDLE state, and start
+ * packet-access-procedure if we still have data to be transmitted.
+ */
+ gprs_rlcmac_submit_l1ctl_pdch_rel_req();
+ gprs_rlcmac_entity_start_ul_tbf_pkt_acc_proc_if_needed(gre);
}
/* TS 44.060 5.3 In packet idle mode:
@@ -129,6 +183,27 @@
return gprs_rlcmac_llc_queue_size(gre->llc_queue) > 0;
}
+/* Create a new UL TBF and start Packet access procedure to get an UL assignment if
needed */
+int gprs_rlcmac_entity_start_ul_tbf_pkt_acc_proc_if_needed(struct gprs_rlcmac_entity
*gre)
+{
+ /* TS 44.060 5.3 "In packet idle mode, upper layers may require the
+ * transfer of a upper layer PDU, which implicitly triggers the
+ * establishment of a TBF and the transition to packet transfer mode." */
+ if (!gprs_rlcmac_entity_in_packet_idle_mode(gre))
+ return 0;
+
+ if (!gprs_rlcmac_entity_have_tx_data_queued(gre))
+ return 0;
+
+ OSMO_ASSERT(!gre->ul_tbf);
+ /* We have data in the queue but we have no ul_tbf. Allocate one and start UL
Assignment. */
+ gre->ul_tbf = gprs_rlcmac_ul_tbf_alloc(gre);
+ if (!gre->ul_tbf)
+ return -ENOMEM;
+ /* We always use 1phase for now... */
+ return gprs_rlcmac_tbf_ul_ass_start(gre->ul_tbf,
GPRS_RLCMAC_TBF_UL_ASS_TYPE_1PHASE);
+}
+
int gprs_rlcmac_entity_llc_enqueue(struct gprs_rlcmac_entity *gre, uint8_t *ll_pdu,
unsigned int ll_pdu_len,
enum osmo_gprs_rlcmac_llc_sapi sapi, uint8_t radio_prio)
{
@@ -138,19 +213,7 @@
if (rc < 0)
return rc;
- /* TS 44.060 5.3 "In packet idle mode, upper layers may require the
- * transfer of a upper layer PDU, which implicitly triggers the
- * establishment of a TBF and the transition to packet transfer mode." */
- if (gprs_rlcmac_entity_in_packet_idle_mode(gre)) {
- OSMO_ASSERT(!gre->ul_tbf);
- /* We have new data in the queue but we have no ul_tbf. Allocate one and start UL
Assignment. */
- gre->ul_tbf = gprs_rlcmac_ul_tbf_alloc(gre);
- if (!gre->ul_tbf)
- return -ENOMEM;
- /* We always use 1phase for now... */
- rc = gprs_rlcmac_tbf_ul_ass_start(gre->ul_tbf, GPRS_RLCMAC_TBF_UL_ASS_TYPE_1PHASE);
- }
-
+ rc = gprs_rlcmac_entity_start_ul_tbf_pkt_acc_proc_if_needed(gre);
return rc;
}
diff --git a/src/rlcmac/rlcmac.c b/src/rlcmac/rlcmac.c
index b026048..5cf4bb9 100644
--- a/src/rlcmac/rlcmac.c
+++ b/src/rlcmac/rlcmac.c
@@ -189,6 +189,18 @@
return NULL;
}
+/* Request lower layers to go to packet-idle mode: */
+int gprs_rlcmac_submit_l1ctl_pdch_rel_req(void)
+{
+ struct osmo_gprs_rlcmac_prim *rlcmac_prim;
+
+ rlcmac_prim = gprs_rlcmac_prim_alloc_l1ctl_pdch_rel_req();
+
+ LOGRLCMAC(LOGL_INFO, "Tx L1CTL-PDCH_REL.req\n");
+
+ return gprs_rlcmac_prim_call_down_cb(rlcmac_prim);
+}
+
static int gprs_rlcmac_handle_ccch_imm_ass_ul_tbf(uint8_t ts_nr, uint32_t fn, const
struct gsm48_imm_ass *ia, const IA_RestOctets_t *iaro)
{
int rc = -ENOENT;
diff --git a/src/rlcmac/tbf_dl_ass_fsm.c b/src/rlcmac/tbf_dl_ass_fsm.c
index 40bd17c..9acf723 100644
--- a/src/rlcmac/tbf_dl_ass_fsm.c
+++ b/src/rlcmac/tbf_dl_ass_fsm.c
@@ -202,22 +202,23 @@
static void st_compl_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
{
struct gprs_rlcmac_tbf_dl_ass_fsm_ctx *ctx = (struct gprs_rlcmac_tbf_dl_ass_fsm_ctx
*)fi->priv;
- struct gprs_rlcmac_dl_tbf *dl_tbf;
+ struct gprs_rlcmac_dl_tbf *old_dl_tbf, *new_dl_tbf;
- dl_tbf = gprs_rlcmac_dl_tbf_alloc(ctx->gre);
+ old_dl_tbf = ctx->gre->dl_tbf;
+ new_dl_tbf = gprs_rlcmac_dl_tbf_alloc(ctx->gre);
/* Update TBF with allocated content: */
- memcpy(&dl_tbf->cur_alloc, &ctx->alloc, sizeof(ctx->alloc));
+ memcpy(&new_dl_tbf->cur_alloc, &ctx->alloc, sizeof(ctx->alloc));
/* Replace old DL TBF with new one. 8.1.1.1.3: "the mobile station shall
* release all ongoing downlink TBFs not addressed by this message and
* shall act on the message. All ongoing uplink TBFs shall be maintained;"
*/
- gprs_rlcmac_dl_tbf_free(ctx->gre->dl_tbf);
- ctx->gre->dl_tbf = dl_tbf;
+ ctx->gre->dl_tbf = new_dl_tbf;
+ gprs_rlcmac_dl_tbf_free(old_dl_tbf);
/* Inform the main TBF state about the assignment completed: */
- osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, GPRS_RLCMAC_TBF_DL_EV_DL_ASS_COMPL,
NULL);
+ osmo_fsm_inst_dispatch(new_dl_tbf->state_fsm.fi, GPRS_RLCMAC_TBF_DL_EV_DL_ASS_COMPL,
NULL);
/* Go back to IDLE state. */
tbf_dl_ass_fsm_state_chg(fi, GPRS_RLCMAC_TBF_DL_ASS_ST_IDLE);
}
diff --git a/src/rlcmac/tbf_ul_fsm.c b/src/rlcmac/tbf_ul_fsm.c
index e713085..37d2e4a 100644
--- a/src/rlcmac/tbf_ul_fsm.c
+++ b/src/rlcmac/tbf_ul_fsm.c
@@ -97,7 +97,7 @@
{
int rc;
/* TS 44.060 sub-clause 7.1.4. Reinitiate the packet access procedure:
- * Move to NEW state, start Ass and wait for GPRS_RLCMAC_TBF_UL_ASS_EV_START */
+ * Move to NEW state, start Ass and wait for GPRS_RLCMAC_TBF_UL_ASS_EV_START */
tbf_ul_fsm_state_chg(ctx->fi, GPRS_RLCMAC_TBF_UL_ST_NEW);
/* We always use 1phase for now... */
rc = gprs_rlcmac_tbf_ul_ass_start(ctx->ul_tbf, GPRS_RLCMAC_TBF_UL_ASS_TYPE_1PHASE);
@@ -139,6 +139,8 @@
gprs_rlcmac_rlc_ul_window_mark_for_resend(ctx->ul_tbf->ulw);
/* Make sure the lower layers realize this tbf_nr has no longer any assigned resource:
*/
release_ul_tbf(ctx);
+ /* Move back to CCCH */
+ gprs_rlcmac_submit_l1ctl_pdch_rel_req();
}
static void st_new(struct osmo_fsm_inst *fi, uint32_t event, void *data)
diff --git a/tests/rlcmac/rlcmac_prim_test.err b/tests/rlcmac/rlcmac_prim_test.err
index ea4d2e5..5f8cbbb 100644
--- a/tests/rlcmac/rlcmac_prim_test.err
+++ b/tests/rlcmac/rlcmac_prim_test.err
@@ -69,6 +69,8 @@
DLGLOBAL INFO UL_TBF{RELEASING}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
DLGLOBAL INFO UL_TBF{RELEASING}: Deallocated
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated
DLGLOBAL INFO Rx from upper layers: GRR-UNITDATA.request
DLGLOBAL INFO TLLI=0x00002342 not found, creating entity on the fly
@@ -97,6 +99,8 @@
DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
@@ -119,6 +123,8 @@
DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
@@ -141,6 +147,8 @@
DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
@@ -165,7 +173,21 @@
DLGLOBAL INFO UL_TBF{FLOW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
DLGLOBAL INFO UL_TBF{FLOW}: Deallocated
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
+DLGLOBAL INFO UL_TBF{NEW}: Allocated
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Allocated
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
+DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
+DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7a
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated
+DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: Deallocated
+DLGLOBAL INFO UL_TBF{ASSIGN}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=1 (release)
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO UL_TBF{ASSIGN}: Deallocated
DLGLOBAL INFO Rx from upper layers: GRR-UNITDATA.request
DLGLOBAL INFO TLLI=0x00002342 not found, creating entity on the fly
DLGLOBAL INFO DL_TBF_ASS{IDLE}: Allocated
@@ -174,7 +196,7 @@
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7a
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7c
DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
@@ -207,39 +229,8 @@
DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
-DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
-DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7c
-DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
-DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
-DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_ESTABLISH.request
-DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: Received Event RX_CCCH_IMM_ASS
-DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: ImmAss TFI=0 initCS=CS-2 startTimeFN=0
-DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: ImmAss DynamicAlloc (1phase access) ts_nr=7
usf=0
-DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: state_chg to COMPLETED
-DLGLOBAL INFO UL_TBF{ASSIGN}: Received Event UL_ASS_COMPL
-DLGLOBAL INFO UL_TBF{ASSIGN}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 ul_slotmask=0x80
-DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
-DLGLOBAL INFO UL_TBF{ASSIGN}: state_chg to FLOW
-DLGLOBAL INFO UL_TBF_ASS{COMPLETED}: state_chg to IDLE
-DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication
-DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Resending BSN 0
-DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2
-1)
-DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Copying 1 RLC blocks, 1 BSNs
-DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Copying data unit 0 (BSN=0 CV=15)
-DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) msg block (BSN 0, CS-2): 3c 01 01 00 00 23 42
01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 00 00 00 00 71 62 f2 24 6c 84 44 04 00
-DLGLOBAL INFO UL_TBF{FLOW}: Received Event FIRST_UL_DATA_SENT
-DLGLOBAL INFO UL_TBF{FLOW}: First UL block sent, stop T3164
-DLGLOBAL INFO UL_TBF{FLOW}: First UL block sent (1 phase access), start T3166
-DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) N3104 inc (1)
-DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request
-DLGLOBAL INFO UL_TBF{FLOW}: Timeout of T3166
-DLGLOBAL INFO UL_TBF{FLOW}: T3166 timeout attempts=2
-DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
-DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
-DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
@@ -269,10 +260,12 @@
DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) N3104 inc (1)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request
DLGLOBAL INFO UL_TBF{FLOW}: Timeout of T3166
-DLGLOBAL INFO UL_TBF{FLOW}: T3166 timeout attempts=3
+DLGLOBAL INFO UL_TBF{FLOW}: T3166 timeout attempts=2
DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
@@ -302,12 +295,49 @@
DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) N3104 inc (1)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request
DLGLOBAL INFO UL_TBF{FLOW}: Timeout of T3166
+DLGLOBAL INFO UL_TBF{FLOW}: T3166 timeout attempts=3
+DLGLOBAL INFO UL_TBF{FLOW}: state_chg to NEW
+DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
+DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
+DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7a
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
+DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_ESTABLISH.request
+DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: Received Event RX_CCCH_IMM_ASS
+DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: ImmAss TFI=0 initCS=CS-2 startTimeFN=0
+DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: ImmAss DynamicAlloc (1phase access) ts_nr=7
usf=0
+DLGLOBAL INFO UL_TBF_ASS{WAIT_CCCH_IMM_ASS}: state_chg to COMPLETED
+DLGLOBAL INFO UL_TBF{ASSIGN}: Received Event UL_ASS_COMPL
+DLGLOBAL INFO UL_TBF{ASSIGN}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 ul_slotmask=0x80
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO UL_TBF{ASSIGN}: state_chg to FLOW
+DLGLOBAL INFO UL_TBF_ASS{COMPLETED}: state_chg to IDLE
+DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication
+DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Resending BSN 0
+DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2
-1)
+DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Copying 1 RLC blocks, 1 BSNs
+DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Copying data unit 0 (BSN=0 CV=15)
+DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) msg block (BSN 0, CS-2): 3c 01 01 00 00 23 42
01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 00 00 00 00 71 62 f2 24 6c 84 44 04 00
+DLGLOBAL INFO UL_TBF{FLOW}: Received Event FIRST_UL_DATA_SENT
+DLGLOBAL INFO UL_TBF{FLOW}: First UL block sent, stop T3164
+DLGLOBAL INFO UL_TBF{FLOW}: First UL block sent (1 phase access), start T3166
+DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) N3104 inc (1)
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request
+DLGLOBAL INFO UL_TBF{FLOW}: Timeout of T3166
DLGLOBAL INFO UL_TBF{FLOW}: T3166 timeout attempts=4
DLGLOBAL NOTICE UL_TBF{FLOW}: TBF establishment failure (T3166 timeout attempts=4)
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Deallocated
DLGLOBAL INFO UL_TBF{FLOW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
DLGLOBAL INFO UL_TBF{FLOW}: Deallocated
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated
DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
DLGLOBAL DEBUG Rx SI13 from lower layers
@@ -319,7 +349,7 @@
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7a
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7b
DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL INFO Rx from upper layers: GRR-UNITDATA.request
@@ -460,10 +490,12 @@
DLGLOBAL INFO UL_TBF{FINISHED}: state_chg to NEW
DLGLOBAL INFO UL_TBF{NEW}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7b
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7a
DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request
@@ -491,7 +523,7 @@
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7a
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7b
DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
@@ -547,6 +579,8 @@
DLGLOBAL INFO UL_TBF{FINISHED}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
DLGLOBAL INFO UL_TBF{FINISHED}: Deallocated
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated
DLGLOBAL INFO Rx from upper layers: GRR-UNITDATA.request
DLGLOBAL INFO TLLI=0x00002342 not found, creating entity on the fly
@@ -655,6 +689,8 @@
DLGLOBAL INFO UL_TBF{FINISHED}: Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 (release)
DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request
DLGLOBAL INFO UL_TBF{FINISHED}: Deallocated
+DLGLOBAL INFO Tx L1CTL-PDCH_REL.req
+DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request
DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request
DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated
DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
@@ -667,7 +703,7 @@
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7b
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7e
DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
@@ -776,7 +812,7 @@
DLGLOBAL INFO UL_TBF_ASS{IDLE}: Received Event START
DLGLOBAL INFO UL_TBF{NEW}: Received Event UL_ASS_START
DLGLOBAL INFO UL_TBF{NEW}: state_chg to ASSIGN
-DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7e
+DLGLOBAL INFO UL_TBF_ASS{IDLE}: Send RACH.req ra=0x7c
DLGLOBAL DEBUG Tx to lower layers: L1CTL-RACH.request
DLGLOBAL INFO UL_TBF_ASS{IDLE}: state_chg to WAIT_CCCH_IMM_ASS
DLGLOBAL DEBUG Rx from lower layers: L1CTL-CCCH_DATA.indication
diff --git a/tests/rlcmac/rlcmac_prim_test.ok b/tests/rlcmac/rlcmac_prim_test.ok
index 12e5ece..a3e82c3 100644
--- a/tests/rlcmac/rlcmac_prim_test.ok
+++ b/tests/rlcmac/rlcmac_prim_test.ok
@@ -8,6 +8,7 @@
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=8 ts=7 data_len=34 data=[00 01
02 1d 00 00 23 42 11 e5 10 00 e2 18 f2 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
2b 00 ]
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=21 ts=7 data_len=23 data=[40 04
00 00 8d 08 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ]
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
=== test_ul_tbf_attach end ===
=== test_ul_tbf_t3164_timeout start ===
sys={0.000000}, mono={0.000000}: clock_override_set
@@ -17,28 +18,34 @@
sys={5.000000}, mono={5.000000}: clock_override_add
sys={5.000000}, mono={5.000000}: Expect T3164 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7b
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
sys={10.000000}, mono={10.000000}: clock_override_add
sys={10.000000}, mono={10.000000}: Expect T3164 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x79
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
sys={15.000000}, mono={15.000000}: clock_override_add
sys={15.000000}, mono={15.000000}: Expect T3164 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x78
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
sys={20.000000}, mono={20.000000}: clock_override_add
sys={20.000000}, mono={20.000000}: Expect T3164 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7a
=== test_ul_tbf_t3164_timeout end ===
+test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=1 ul_slotmask=0x00
=== test_ul_tbf_t3166_timeout start ===
sys={0.000000}, mono={0.000000}: clock_override_set
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7a
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7c
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342
@@ -46,31 +53,35 @@
sys={5.000000}, mono={5.000000}: clock_override_add
sys={5.000000}, mono={5.000000}: Expect T3166 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7c
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x79
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=4 ts=7 data_len=34 data=[3c 01
01 00 00 23 42 01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 00 00 00 00 71 62 f2 24 6c 84 44
04 00 ]
sys={10.000000}, mono={10.000000}: clock_override_add
sys={10.000000}, mono={10.000000}: Expect T3166 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x79
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7d
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=4 ts=7 data_len=34 data=[3c 01
01 00 00 23 42 01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 00 00 00 00 71 62 f2 24 6c 84 44
04 00 ]
sys={15.000000}, mono={15.000000}: clock_override_add
sys={15.000000}, mono={15.000000}: Expect T3166 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7d
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7a
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=4 ts=7 data_len=34 data=[3c 01
01 00 00 23 42 01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 00 00 00 00 71 62 f2 24 6c 84 44
04 00 ]
sys={20.000000}, mono={20.000000}: clock_override_add
sys={20.000000}, mono={20.000000}: Expect T3166 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
=== test_ul_tbf_t3166_timeout end ===
=== test_ul_tbf_n3104_timeout start ===
sys={0.000000}, mono={0.000000}: clock_override_set
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7a
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7b
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
RTS 0: FN=8
@@ -99,7 +110,8 @@
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=52 ts=7 data_len=34 data=[3c 01
02 1f 00 00 23 42 11 e5 10 00 e2 18 f2 01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 00 00 00
00 00 ]
RTS 11: FN=56
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7b
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7a
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=56 ts=7 data_len=34 data=[00 01
04 3d 00 00 23 42 71 62 f2 24 6c 84 44 04 11 e5 10 00 e2 18 f2 2b 2b 2b 2b 2b 2b 2b 2b 2b
2b 00 ]
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
@@ -107,7 +119,7 @@
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
=== test_ul_tbf_t3182_timeout start ===
sys={0.000000}, mono={0.000000}: clock_override_set
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7a
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7b
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342
@@ -116,6 +128,7 @@
sys={5.000000}, mono={5.000000}: clock_override_add
sys={5.000000}, mono={5.000000}: Expect T3182 timeout
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
=== test_ul_tbf_t3182_timeout end ===
=== test_ul_tbf_last_data_cv0_retrans_max start ===
sys={0.000000}, mono={0.000000}: clock_override_set
@@ -133,11 +146,12 @@
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=21 ts=7 data_len=34 data=[00 00
02 1d 11 e5 10 00 e2 18 f2 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
2b 00 ]
RTS 3: FN=26
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
+test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=26 ts=7 data_len=34 data=[00 00
02 1d 11 e5 10 00 e2 18 f2 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
2b 00 ]
=== test_ul_tbf_last_data_cv0_retrans_max end ===
=== test_ul_tbf_countdown_procedure start ===
sys={0.000000}, mono={0.000000}: clock_override_set
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7b
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7e
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342
@@ -158,7 +172,7 @@
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00
=== test_ul_tbf_request_another_ul_tbf start ===
sys={0.000000}, mono={0.000000}: clock_override_set
-test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7e
+test_rlcmac_prim_down_cb(): Rx L1CTL-RACH.request ra=0x7c
test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_ESTABLISH.request
test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x80
test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/33552
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: Ic7420a42e2e81effdde587d7e49acd66b404354c
Gerrit-Change-Number: 33552
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange