lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2023

  • 1 participants
  • 1843 discussions
[M] Change in libosmo-gprs[master]: tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode
by fixeria 06 Oct '23

06 Oct '23
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/34679?usp=email ) Change subject: tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode ...................................................................... tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode The restriction to only to transmit last data block (CV=0) up to 4 times only applies in Unacknowledged mode of operation, which we don't support. Hence, simply comment it out so that it can be enabled if unacknowledge mode is ever supported. Related: OS#6208 Change-Id: Ie7cdb286b9c7255e3fbf9f936f103fab04acf96a --- M src/rlcmac/tbf_ul_fsm.c M tests/rlcmac/rlcmac_prim_test.c M tests/rlcmac/rlcmac_prim_test.err M tests/rlcmac/rlcmac_prim_test.ok 4 files changed, 79 insertions(+), 99 deletions(-) Approvals: fixeria: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/src/rlcmac/tbf_ul_fsm.c b/src/rlcmac/tbf_ul_fsm.c index 3c041a6..e5a2f9a 100644 --- a/src/rlcmac/tbf_ul_fsm.c +++ b/src/rlcmac/tbf_ul_fsm.c @@ -233,18 +233,22 @@ } break; case GPRS_RLCMAC_TBF_UL_EV_LAST_UL_DATA_SENT: - /* If LAST_UL_DATA_SENT is received in this state, it means the - * UL TBF is retransmitting the block. - * 9.3.3.3.2: The block with CV=0 shall not be retransmitted more than four times. - */ + /* If LAST_UL_DATA_SENT is received in this state, it means the UL TBF is retransmitting the block. */ ctx->last_data_block_retrans_attempts++; LOGPFSML(ctx->fi, LOGL_INFO, "Data block with CV=0 retransmit attempts=%u\n", ctx->last_data_block_retrans_attempts); arm_T3182_if_needed(ctx); + /* 9.3.2.4.2 (Acknowledged mode): When the mobile station has sent the RLC data block with CV = 0 and there are no + * elements in the V(B) array set to the value Nacked, it shall start timer T3182 for this TBF [...and ...] shall + * continue to send RLC data blocks on each assigned uplink data block */ +#if 0 + /* 9.3.3.3.2 (Unacknowledged mode): The block with CV=0 shall not be retransmitted more than four times. + * FIXME: Remove "if 0" when unacknowledged mode support is added. */ if (ctx->last_data_block_retrans_attempts == 4) { LOGPFSML(ctx->fi, LOGL_NOTICE, "TBF establishment failure (Data block with CV=0 retransmit attempts=%u)\n", ctx->last_data_block_retrans_attempts); gprs_rlcmac_ul_tbf_free(ctx->ul_tbf); } +#endif break; default: OSMO_ASSERT(0); diff --git a/tests/rlcmac/rlcmac_prim_test.c b/tests/rlcmac/rlcmac_prim_test.c index 35def30..046e7cc 100644 --- a/tests/rlcmac/rlcmac_prim_test.c +++ b/tests/rlcmac/rlcmac_prim_test.c @@ -826,7 +826,18 @@ cleanup_test(); } -static void test_ul_tbf_t3182_timeout(void) +/* 9.3.2.4.2 (acked mode): When the mobile station has sent the RLC data block + * with CV = 0 and there are no elements in the V(B) array set to the value + * Nacked, it shall start timer T3182 for this TBF. The mobile station shall + * continue to send RLC data blocks on each assigned uplink data block, + * according to the algorithm defined in sub-clause 9.1.3. + * 9.3.3.3.2 (unacked mode): Upon each retransmission of the last block with + * CV=0, the mobile station shall restart timer T3182 for the TBF. The block + * with CV=0 shall not be retransmitted more than four times. If the medium + * access mode is dynamic allocation, the repetitions are transmitted when the + * mobile station is scheduled USFs. + */ +static void test_ul_tbf_t3182_timeout(bool acked_mode) { struct osmo_gprs_rlcmac_prim *rlcmac_prim; int rc; @@ -873,6 +884,19 @@ rc = osmo_gprs_rlcmac_prim_lower_up(rlcmac_prim); OSMO_ASSERT(rc == 0); + if (acked_mode) { + /* Make sure we don't apply the max-4-cv0-tx limit as with unacked mode: */ + unsigned int i; + for (i = 0; i < 5; i++) { + rts_fn = fn_next_block(rts_fn); + printf("RTS %u: FN=%u\n", i, rts_fn); + /* Trigger transmission of LLC data (GMM Attach) (second part) */ + rlcmac_prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_rts_ind(ts_nr, rts_fn, usf); + rc = osmo_gprs_rlcmac_prim_lower_up(rlcmac_prim); + OSMO_ASSERT(rc == 0); + } + } + /* increase time 5 seconds, timeout should trigger */ clock_override_add(5, 0); clock_debug("Expect T3182 timeout"); @@ -882,8 +906,10 @@ cleanup_test(); } +#if 0 +/* FIXME: enable this whenever unacknowledged mode is supported. */ /* 9.3.3.3.2: The block with CV=0 shall not be retransmitted more than four times. */ -static void test_ul_tbf_last_data_cv0_retrans_max(void) +static void test_ul_tbf_unack_mode_last_data_cv0_retrans_max(void) { struct osmo_gprs_rlcmac_prim *rlcmac_prim; int rc; @@ -943,6 +969,7 @@ printf("=== %s end ===\n", __func__); cleanup_test(); } +#endif /* 9.3.1 Countdown procedure */ static void test_ul_tbf_countdown_procedure(void) @@ -1206,8 +1233,11 @@ test_ul_tbf_t3164_timeout(); test_ul_tbf_t3166_timeout(); test_ul_tbf_n3104_timeout(); - test_ul_tbf_t3182_timeout(); - test_ul_tbf_last_data_cv0_retrans_max(); + test_ul_tbf_t3182_timeout(true); +#if 0 + test_ul_tbf_t3182_timeout(false); + test_ul_tbf_unack_mode_last_data_cv0_retrans_max(); +#endif test_ul_tbf_countdown_procedure(); test_ul_tbf_request_another_ul_tbf(); test_dl_tbf_ccch_assign(); diff --git a/tests/rlcmac/rlcmac_prim_test.err b/tests/rlcmac/rlcmac_prim_test.err index c76fe8f..19b289f 100644 --- a/tests/rlcmac/rlcmac_prim_test.err +++ b/tests/rlcmac/rlcmac_prim_test.err @@ -589,76 +589,6 @@ DLGLOBAL INFO UL_TBF{FLOW}: Last UL block sent (CV=0), start T3182 DLGLOBAL INFO UL_TBF{FLOW}: state_chg to FINISHED DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request -DLGLOBAL INFO UL_TBF{FINISHED}: Timeout of T3182 -DLGLOBAL INFO UL_TBF_ASS{IDLE}: Deallocated -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 -DLGLOBAL INFO DL_TBF_ASS{IDLE}: Allocated -DLGLOBAL DEBUG GRE(00002342) Enqueueing LLC-PDU len=33 SAPI=GMM radio_prio=1 -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}: Requesting one-phase packet access using CCCH -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 cur_tn=7 cur_fn=0 start_fn=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 TBF(UL:NR-0:TLLI-00002342) Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 ul_slotmask=0x80 tbf_starting_time(present=0 fn=0) -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 Rx RTS.ind (fn=4, ts=7, usf=0) -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Sending new block at BSN 0, CS=CS-2 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Dequeue next LLC (len=33) -DLGLOBAL DEBUG -- Chunk with length 33 larger than space (26) left in block: copy only remaining space, and we are done -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) data block (BSN=0, CS-2, CV=15): 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 -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 DEBUG Rx from lower layers: L1CTL-PDCH_DATA.indication -DLGLOBAL INFO TS=7 FN=4 Rx Pkt UL ACK/NACK -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Got GPRS UL ACK bitmap: SSN: 1, BSN 0 to 1 - 1 (1 blocks), "R" -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK -DLGLOBAL DEBUG - got ack for BSN=0 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -DLGLOBAL INFO UL_TBF{FLOW}: Received Event RX_UL_ACK_NACK -DLGLOBAL INFO UL_TBF{FLOW}: Contention resolution succeeded, stop T3166 -DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication -DLGLOBAL DEBUG Rx RTS.ind (fn=8, ts=7, usf=0) -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Sending new block at BSN 1, CS=CS-2 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Entering Countdown procedure CV=0 -DLGLOBAL DEBUG -- Chunk with length 7 is less than remaining space (30): add length header to delimit LLC frame -DLGLOBAL DEBUG -- Final block, so we done. -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Complete UL frame, len=0 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) data block (BSN=1, CS-2, CV=0): 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 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) need_padding 0 spb_status 0 spb 0 (BSN1 1 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=1 CV=0) -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) msg block (BSN 1, CS-2): 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 -DLGLOBAL INFO UL_TBF{FLOW}: Received Event LAST_UL_DATA_SENT -DLGLOBAL INFO UL_TBF{FLOW}: Last UL block sent (CV=0), start T3182 -DLGLOBAL INFO UL_TBF{FLOW}: state_chg to FINISHED -DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication DLGLOBAL DEBUG Rx RTS.ind (fn=13, ts=7, usf=0) DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Restarting at BSN 1, because all blocks have been transmitted. @@ -706,12 +636,24 @@ DLGLOBAL INFO UL_TBF{FINISHED}: Received Event LAST_UL_DATA_SENT DLGLOBAL INFO UL_TBF{FINISHED}: Data block with CV=0 retransmit attempts=4 DLGLOBAL INFO UL_TBF{FINISHED}: Last UL block sent (CV=0), start T3182 -DLGLOBAL NOTICE UL_TBF{FINISHED}: TBF establishment failure (Data block with CV=0 retransmit attempts=4) +DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request +DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication +DLGLOBAL DEBUG Rx RTS.ind (fn=30, ts=7, usf=0) +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Restarting at BSN 1, because all blocks have been transmitted. +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Resending BSN 1 +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) need_padding 0 spb_status 0 spb 0 (BSN1 1 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=1 CV=0) +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) msg block (BSN 1, CS-2): 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 +DLGLOBAL INFO UL_TBF{FINISHED}: Received Event LAST_UL_DATA_SENT +DLGLOBAL INFO UL_TBF{FINISHED}: Data block with CV=0 retransmit attempts=5 +DLGLOBAL INFO UL_TBF{FINISHED}: Last UL block sent (CV=0), start T3182 +DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request +DLGLOBAL INFO UL_TBF{FINISHED}: Timeout of T3182 DLGLOBAL INFO UL_TBF_ASS{IDLE}: Deallocated 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 DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request DLGLOBAL INFO Tx L1CTL-PDCH_REL.req DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated diff --git a/tests/rlcmac/rlcmac_prim_test.ok b/tests/rlcmac/rlcmac_prim_test.ok index dcaa816..f28262a 100644 --- a/tests/rlcmac/rlcmac_prim_test.ok +++ b/tests/rlcmac/rlcmac_prim_test.ok @@ -129,21 +129,6 @@ test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342 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 ] test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=8 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 ] -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_ul_tbf_t3182_timeout end === -sys={5.027690}, mono={5.027690}: clock_override_add -sys={5.027690}, mono={5.027690}: Expect defer_pkt_idle_timer timeout -test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request -=== test_ul_tbf_last_data_cv0_retrans_max start === -sys={0.000000}, mono={0.000000}: clock_override_set -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 -test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342 -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 ] -test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=8 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 0: FN=13 test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=13 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 1: FN=17 @@ -151,11 +136,15 @@ RTS 2: FN=21 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_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 === -sys={0.027690}, mono={0.027690}: clock_override_add -sys={0.027690}, mono={0.027690}: Expect defer_pkt_idle_timer timeout +RTS 4: FN=30 +test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=30 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 ] +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_ul_tbf_t3182_timeout end === +sys={5.027690}, mono={5.027690}: clock_override_add +sys={5.027690}, mono={5.027690}: Expect defer_pkt_idle_timer timeout test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request === test_ul_tbf_countdown_procedure start === sys={0.000000}, mono={0.000000}: clock_override_set -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/34679?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: Ie7cdb286b9c7255e3fbf9f936f103fab04acf96a Gerrit-Change-Number: 34679 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in libosmo-gprs[master]: tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode
by fixeria 06 Oct '23

06 Oct '23
Attention is currently required from: Hoernchen, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/34679?usp=email ) Change subject: tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode ...................................................................... Patch Set 1: Verified+1 Code-Review+2 (1 comment) Patchset: PS1: Tested and confirmed to fix the problem. -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/34679?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: Ie7cdb286b9c7255e3fbf9f936f103fab04acf96a Gerrit-Change-Number: 34679 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Fri, 06 Oct 2023 21:53:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: BTS_Tests: fix TC_rsl_rf_resource_ind: update mp_interf_band
by pespin 06 Oct '23

06 Oct '23
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34678?usp=email ) Change subject: BTS_Tests: fix TC_rsl_rf_resource_ind: update mp_interf_band ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34678?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f0d0814c343c626f6f7e5bafb7ac46cd7f362f6 Gerrit-Change-Number: 34678 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Fri, 06 Oct 2023 17:49:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in libosmo-gprs[master]: tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode
by pespin 06 Oct '23

06 Oct '23
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/34679?usp=email ) Change subject: tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode ...................................................................... tbf_ul_fsm: Avoid freeing tbf after 4 CV=0 retrans in acknowledged mode The restriction to only to transmit last data block (CV=0) up to 4 times only applies in Unacknowledged mode of operation, which we don't support. Hence, simply comment it out so that it can be enabled if unacknowledge mode is ever supported. Related: OS#6208 Change-Id: Ie7cdb286b9c7255e3fbf9f936f103fab04acf96a --- M src/rlcmac/tbf_ul_fsm.c M tests/rlcmac/rlcmac_prim_test.c M tests/rlcmac/rlcmac_prim_test.err M tests/rlcmac/rlcmac_prim_test.ok 4 files changed, 79 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/79/34679/1 diff --git a/src/rlcmac/tbf_ul_fsm.c b/src/rlcmac/tbf_ul_fsm.c index 3c041a6..e5a2f9a 100644 --- a/src/rlcmac/tbf_ul_fsm.c +++ b/src/rlcmac/tbf_ul_fsm.c @@ -233,18 +233,22 @@ } break; case GPRS_RLCMAC_TBF_UL_EV_LAST_UL_DATA_SENT: - /* If LAST_UL_DATA_SENT is received in this state, it means the - * UL TBF is retransmitting the block. - * 9.3.3.3.2: The block with CV=0 shall not be retransmitted more than four times. - */ + /* If LAST_UL_DATA_SENT is received in this state, it means the UL TBF is retransmitting the block. */ ctx->last_data_block_retrans_attempts++; LOGPFSML(ctx->fi, LOGL_INFO, "Data block with CV=0 retransmit attempts=%u\n", ctx->last_data_block_retrans_attempts); arm_T3182_if_needed(ctx); + /* 9.3.2.4.2 (Acknowledged mode): When the mobile station has sent the RLC data block with CV = 0 and there are no + * elements in the V(B) array set to the value Nacked, it shall start timer T3182 for this TBF [...and ...] shall + * continue to send RLC data blocks on each assigned uplink data block */ +#if 0 + /* 9.3.3.3.2 (Unacknowledged mode): The block with CV=0 shall not be retransmitted more than four times. + * FIXME: Remove "if 0" when unacknowledged mode support is added. */ if (ctx->last_data_block_retrans_attempts == 4) { LOGPFSML(ctx->fi, LOGL_NOTICE, "TBF establishment failure (Data block with CV=0 retransmit attempts=%u)\n", ctx->last_data_block_retrans_attempts); gprs_rlcmac_ul_tbf_free(ctx->ul_tbf); } +#endif break; default: OSMO_ASSERT(0); diff --git a/tests/rlcmac/rlcmac_prim_test.c b/tests/rlcmac/rlcmac_prim_test.c index 35def30..046e7cc 100644 --- a/tests/rlcmac/rlcmac_prim_test.c +++ b/tests/rlcmac/rlcmac_prim_test.c @@ -826,7 +826,18 @@ cleanup_test(); } -static void test_ul_tbf_t3182_timeout(void) +/* 9.3.2.4.2 (acked mode): When the mobile station has sent the RLC data block + * with CV = 0 and there are no elements in the V(B) array set to the value + * Nacked, it shall start timer T3182 for this TBF. The mobile station shall + * continue to send RLC data blocks on each assigned uplink data block, + * according to the algorithm defined in sub-clause 9.1.3. + * 9.3.3.3.2 (unacked mode): Upon each retransmission of the last block with + * CV=0, the mobile station shall restart timer T3182 for the TBF. The block + * with CV=0 shall not be retransmitted more than four times. If the medium + * access mode is dynamic allocation, the repetitions are transmitted when the + * mobile station is scheduled USFs. + */ +static void test_ul_tbf_t3182_timeout(bool acked_mode) { struct osmo_gprs_rlcmac_prim *rlcmac_prim; int rc; @@ -873,6 +884,19 @@ rc = osmo_gprs_rlcmac_prim_lower_up(rlcmac_prim); OSMO_ASSERT(rc == 0); + if (acked_mode) { + /* Make sure we don't apply the max-4-cv0-tx limit as with unacked mode: */ + unsigned int i; + for (i = 0; i < 5; i++) { + rts_fn = fn_next_block(rts_fn); + printf("RTS %u: FN=%u\n", i, rts_fn); + /* Trigger transmission of LLC data (GMM Attach) (second part) */ + rlcmac_prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_rts_ind(ts_nr, rts_fn, usf); + rc = osmo_gprs_rlcmac_prim_lower_up(rlcmac_prim); + OSMO_ASSERT(rc == 0); + } + } + /* increase time 5 seconds, timeout should trigger */ clock_override_add(5, 0); clock_debug("Expect T3182 timeout"); @@ -882,8 +906,10 @@ cleanup_test(); } +#if 0 +/* FIXME: enable this whenever unacknowledged mode is supported. */ /* 9.3.3.3.2: The block with CV=0 shall not be retransmitted more than four times. */ -static void test_ul_tbf_last_data_cv0_retrans_max(void) +static void test_ul_tbf_unack_mode_last_data_cv0_retrans_max(void) { struct osmo_gprs_rlcmac_prim *rlcmac_prim; int rc; @@ -943,6 +969,7 @@ printf("=== %s end ===\n", __func__); cleanup_test(); } +#endif /* 9.3.1 Countdown procedure */ static void test_ul_tbf_countdown_procedure(void) @@ -1206,8 +1233,11 @@ test_ul_tbf_t3164_timeout(); test_ul_tbf_t3166_timeout(); test_ul_tbf_n3104_timeout(); - test_ul_tbf_t3182_timeout(); - test_ul_tbf_last_data_cv0_retrans_max(); + test_ul_tbf_t3182_timeout(true); +#if 0 + test_ul_tbf_t3182_timeout(false); + test_ul_tbf_unack_mode_last_data_cv0_retrans_max(); +#endif test_ul_tbf_countdown_procedure(); test_ul_tbf_request_another_ul_tbf(); test_dl_tbf_ccch_assign(); diff --git a/tests/rlcmac/rlcmac_prim_test.err b/tests/rlcmac/rlcmac_prim_test.err index c76fe8f..19b289f 100644 --- a/tests/rlcmac/rlcmac_prim_test.err +++ b/tests/rlcmac/rlcmac_prim_test.err @@ -589,76 +589,6 @@ DLGLOBAL INFO UL_TBF{FLOW}: Last UL block sent (CV=0), start T3182 DLGLOBAL INFO UL_TBF{FLOW}: state_chg to FINISHED DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request -DLGLOBAL INFO UL_TBF{FINISHED}: Timeout of T3182 -DLGLOBAL INFO UL_TBF_ASS{IDLE}: Deallocated -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 -DLGLOBAL INFO DL_TBF_ASS{IDLE}: Allocated -DLGLOBAL DEBUG GRE(00002342) Enqueueing LLC-PDU len=33 SAPI=GMM radio_prio=1 -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}: Requesting one-phase packet access using CCCH -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 cur_tn=7 cur_fn=0 start_fn=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 TBF(UL:NR-0:TLLI-00002342) Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 ul_slotmask=0x80 tbf_starting_time(present=0 fn=0) -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 Rx RTS.ind (fn=4, ts=7, usf=0) -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Sending new block at BSN 0, CS=CS-2 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Dequeue next LLC (len=33) -DLGLOBAL DEBUG -- Chunk with length 33 larger than space (26) left in block: copy only remaining space, and we are done -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) data block (BSN=0, CS-2, CV=15): 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 -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 DEBUG Rx from lower layers: L1CTL-PDCH_DATA.indication -DLGLOBAL INFO TS=7 FN=4 Rx Pkt UL ACK/NACK -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Got GPRS UL ACK bitmap: SSN: 1, BSN 0 to 1 - 1 (1 blocks), "R" -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK -DLGLOBAL DEBUG - got ack for BSN=0 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -DLGLOBAL INFO UL_TBF{FLOW}: Received Event RX_UL_ACK_NACK -DLGLOBAL INFO UL_TBF{FLOW}: Contention resolution succeeded, stop T3166 -DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication -DLGLOBAL DEBUG Rx RTS.ind (fn=8, ts=7, usf=0) -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Sending new block at BSN 1, CS=CS-2 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Entering Countdown procedure CV=0 -DLGLOBAL DEBUG -- Chunk with length 7 is less than remaining space (30): add length header to delimit LLC frame -DLGLOBAL DEBUG -- Final block, so we done. -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Complete UL frame, len=0 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) data block (BSN=1, CS-2, CV=0): 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 -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) need_padding 0 spb_status 0 spb 0 (BSN1 1 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=1 CV=0) -DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) msg block (BSN 1, CS-2): 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 -DLGLOBAL INFO UL_TBF{FLOW}: Received Event LAST_UL_DATA_SENT -DLGLOBAL INFO UL_TBF{FLOW}: Last UL block sent (CV=0), start T3182 -DLGLOBAL INFO UL_TBF{FLOW}: state_chg to FINISHED -DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication DLGLOBAL DEBUG Rx RTS.ind (fn=13, ts=7, usf=0) DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Restarting at BSN 1, because all blocks have been transmitted. @@ -706,12 +636,24 @@ DLGLOBAL INFO UL_TBF{FINISHED}: Received Event LAST_UL_DATA_SENT DLGLOBAL INFO UL_TBF{FINISHED}: Data block with CV=0 retransmit attempts=4 DLGLOBAL INFO UL_TBF{FINISHED}: Last UL block sent (CV=0), start T3182 -DLGLOBAL NOTICE UL_TBF{FINISHED}: TBF establishment failure (Data block with CV=0 retransmit attempts=4) +DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request +DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication +DLGLOBAL DEBUG Rx RTS.ind (fn=30, ts=7, usf=0) +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Restarting at BSN 1, because all blocks have been transmitted. +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) Resending BSN 1 +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) need_padding 0 spb_status 0 spb 0 (BSN1 1 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=1 CV=0) +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00002342) msg block (BSN 1, CS-2): 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 +DLGLOBAL INFO UL_TBF{FINISHED}: Received Event LAST_UL_DATA_SENT +DLGLOBAL INFO UL_TBF{FINISHED}: Data block with CV=0 retransmit attempts=5 +DLGLOBAL INFO UL_TBF{FINISHED}: Last UL block sent (CV=0), start T3182 +DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request +DLGLOBAL INFO UL_TBF{FINISHED}: Timeout of T3182 DLGLOBAL INFO UL_TBF_ASS{IDLE}: Deallocated 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 DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request DLGLOBAL INFO Tx L1CTL-PDCH_REL.req DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_RELEASE.request DLGLOBAL INFO DL_TBF_ASS{IDLE}: Deallocated diff --git a/tests/rlcmac/rlcmac_prim_test.ok b/tests/rlcmac/rlcmac_prim_test.ok index dcaa816..f28262a 100644 --- a/tests/rlcmac/rlcmac_prim_test.ok +++ b/tests/rlcmac/rlcmac_prim_test.ok @@ -129,21 +129,6 @@ test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342 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 ] test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=8 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 ] -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_ul_tbf_t3182_timeout end === -sys={5.027690}, mono={5.027690}: clock_override_add -sys={5.027690}, mono={5.027690}: Expect defer_pkt_idle_timer timeout -test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request -=== test_ul_tbf_last_data_cv0_retrans_max start === -sys={0.000000}, mono={0.000000}: clock_override_set -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 -test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00002342 -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 ] -test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=8 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 0: FN=13 test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=13 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 1: FN=17 @@ -151,11 +136,15 @@ RTS 2: FN=21 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_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 === -sys={0.027690}, mono={0.027690}: clock_override_add -sys={0.027690}, mono={0.027690}: Expect defer_pkt_idle_timer timeout +RTS 4: FN=30 +test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=30 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 ] +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_ul_tbf_t3182_timeout end === +sys={5.027690}, mono={5.027690}: clock_override_add +sys={5.027690}, mono={5.027690}: Expect defer_pkt_idle_timer timeout test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_RELEASE.request === test_ul_tbf_countdown_procedure start === sys={0.000000}, mono={0.000000}: clock_override_set -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/34679?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: Ie7cdb286b9c7255e3fbf9f936f103fab04acf96a Gerrit-Change-Number: 34679 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: BTS_Tests: fix TC_rsl_rf_resource_ind: update mp_interf_band
by fixeria 06 Oct '23

06 Oct '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34678?usp=email ) Change subject: BTS_Tests: fix TC_rsl_rf_resource_ind: update mp_interf_band ...................................................................... BTS_Tests: fix TC_rsl_rf_resource_ind: update mp_interf_band At some point (see related commit) we changed the ordering of default interference boundaries from descending to ascending in osmo-bsc. However the testsuite was not updated. Fix this. Change-Id: I4f0d0814c343c626f6f7e5bafb7ac46cd7f362f6 Related: osmo-bsc.git Ie9bf4bf0c89418685b8ea5096332d22cfba7c521 Related: SYS#5313, OS#5956 --- M bts/BTS_Tests.ttcn 1 file changed, 24 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/34678/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index db66b0c..d667344 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -135,16 +135,16 @@ /* default Training Sequence Code */ GsmTsc mp_tsc_def := 7; /* Default interference boundaries in osmo-bsc (in dBm): - * 0(-85) X1(-91) X2(-97) X3(-103) X4(-109) X5(-115) + * 0(-115) X1(-109) X2(-103) X3(-97) X4(-91) X5(-85) * Default interference level reported by fake_trx.py: - * 0: -109 >= -85 dBm (no) - * X1: -109 >= -91 dBm (no) - * X2: -109 >= -97 dBm (no) - * X3: -109 >= -103 dBm (no) - * X4: -109 >= -109 dBm (yes) - * X5: -109 >= -115 dBm (no) - * So all channels should be in band 4. */ - uint3_t mp_interf_band := 4; + * 0: -109 < -115 dBm + * X1: -109 < -109 dBm + * X2: -109 < -103 dBm <-- stop here + * X3: -109 < -97 dBm + * X4: -109 < -91 dBm + * X5: -109 < -85 dBm + * So all channels should be in band 2. */ + uint3_t mp_interf_band := 2; /* T3105 timer (see 3GPP TS 44.018, section 11.1.2) */ integer mp_ho_t3105_ms := 100; /* Ny1 counter (see 3GPP TS 44.018, section 11.1.3) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34678?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f0d0814c343c626f6f7e5bafb7ac46cd7f362f6 Gerrit-Change-Number: 34678 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in libosmo-netif[master]: stream: Add and use helper function osmo_ipa_push_headers()
by pespin 06 Oct '23

06 Oct '23
Attention is currently required from: arehbein. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/33201?usp=email ) Change subject: stream: Add and use helper function osmo_ipa_push_headers() ...................................................................... Patch Set 21: (1 comment) File include/osmocom/netif/ipa.h: https://gerrit.osmocom.org/c/libosmo-netif/+/33201/comment/fb7226d0_1e7832e6 PS21, Line 73: static inline void osmo_ipa_msg_push_headers(struct msgb *msg, enum ipaccess_proto p, enum ipaccess_proto_ext pe) Let's put this in a proper function, not a "static inline", given it's an public API in a library. This allows changing the implementation later if needed without affecting users. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/33201?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I61e1fe59166c46595efe8c1f32b8f2607cb6c529 Gerrit-Change-Number: 33201 Gerrit-PatchSet: 21 Gerrit-Owner: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: daniel <dwillmann(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Comment-Date: Fri, 06 Oct 2023 14:38:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[S] Change in libosmo-netif[master]: stream: Add and use helper function osmo_ipa_push_headers()
by fixeria 06 Oct '23

06 Oct '23
Attention is currently required from: arehbein, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/33201?usp=email ) Change subject: stream: Add and use helper function osmo_ipa_push_headers() ...................................................................... Patch Set 21: Code-Review+1 (4 comments) File include/osmocom/netif/ipa.h: https://gerrit.osmocom.org/c/libosmo-netif/+/33201/comment/a5751a09_1d6a8e44 PS20, Line 6: #include <osmocom/netif/stream.h> > This header file contains a protocol definition, and making it contain the whole stream API does not […] Not needed anymore, marking as resolved. File src/ipa.c: https://gerrit.osmocom.org/c/libosmo-netif/+/33201/comment/708b20bf_2f9d4b1a PS20, Line 443: struct msgb *msg > If we go for exposing this API (see my other comment), the `msg` pointer should become the first arg […] Done https://gerrit.osmocom.org/c/libosmo-netif/+/33201/comment/2874863a_c1e819ea PS20, Line 456: osmo_ipa_stream_srv_send > I agree with fixeria here, I already shared my concerns about this kind of API ;) Done File tests/stream/stream_test.c: https://gerrit.osmocom.org/c/libosmo-netif/+/33201/comment/09e02332_e447ce50 PS14, Line 582: osmo_ipa_stream_srv_send(conn, IPAC_PROTO_IPACCESS, -1, m); > Agreeing with @pespin@sysmocom.de here. Done -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/33201?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I61e1fe59166c46595efe8c1f32b8f2607cb6c529 Gerrit-Change-Number: 33201 Gerrit-PatchSet: 21 Gerrit-Owner: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: daniel <dwillmann(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Fri, 06 Oct 2023 14:36:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de> Comment-In-Reply-To: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[S] Change in libosmo-netif[master]: stream: Add and use helper function osmo_ipa_push_headers()
by arehbein 06 Oct '23

06 Oct '23
Attention is currently required from: arehbein, fixeria, pespin. Hello Jenkins Builder, fixeria, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/33201?usp=email to look at the new patch set (#21). The following approvals got outdated and were removed: Code-Review+1 by pespin, Verified+1 by Jenkins Builder Change subject: stream: Add and use helper function osmo_ipa_push_headers() ...................................................................... stream: Add and use helper function osmo_ipa_push_headers() Related OS#5753, OS#5751 Change-Id: I61e1fe59166c46595efe8c1f32b8f2607cb6c529 --- M examples/ipa-stream-client.c M examples/ipa-stream-server.c M include/osmocom/netif/ipa.h M tests/stream/stream_test.c 4 files changed, 36 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/01/33201/21 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/33201?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I61e1fe59166c46595efe8c1f32b8f2607cb6c529 Gerrit-Change-Number: 33201 Gerrit-PatchSet: 21 Gerrit-Owner: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: daniel <dwillmann(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: BTS_Tests: fix TC_rsl_rf_resource_ind: handle dynTS and PDCH
by fixeria 06 Oct '23

06 Oct '23
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34673?usp=email ) Change subject: BTS_Tests: fix TC_rsl_rf_resource_ind: handle dynTS and PDCH ...................................................................... BTS_Tests: fix TC_rsl_rf_resource_ind: handle dynTS and PDCH Change-Id: I2d13fd3f0fd15d1762bf6f2f61de85cbe990ec36 Related: osmo-bts.git I56f83db5264c246ec1b4b8a973105a4fc09931fb Related: SYS#5313, OS#5956 --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6e4a36a..db66b0c 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -7758,22 +7758,38 @@ } } testcase TC_rsl_rf_resource_ind() runs on test_CT { + var TrxParsItem trx_pars := mp_trx_pars[0]; var RSL_ResourceInfo info := { }; + var ChannelNrs chans := { }; f_init(trx_nr := 0); f_init_l1ctl(); f_l1_tune(L1CTL); - /* g_AllChannels contains all logical channels */ - for (var integer i := 0; i < lengthof(g_AllChannels); i := i + 1) { - var RslChannelNr chan_nr := g_AllChannels[i]; + /* Generate a list of logical channels from module parameters */ + for (var integer tn := 0; tn < lengthof(trx_pars.ts); tn := tn + 1) { + var PchanConfig config := trx_pars.ts[tn].config; + select (config) { + case (GSM_PCHAN_TCHH_TCHF_PDCH) { + /* dyn/osmocom: set to NONE by default */ + } + case (GSM_PCHAN_TCHF_PDCH) { + /* dyn/ipaccess: set to TCH/F by default */ + chans := chans & { valueof(ts_RslChanNr_Bm(tn)) }; + } + case (GSM_PCHAN_PDCH) { + chans := chans & { valueof(ts_RslChanNr_PDCH(tn)) }; + } + case else { + chans := chans & f_gen_chans_for_ts(tn, config); + } + } + } - /* FIXME: osmo-bts does not report for Osmocom style dynamic timeslots */ - if (mp_trx_pars[0].ts[chan_nr.tn].config == GSM_PCHAN_TCHH_TCHF_PDCH) - { continue; } - - info := info & { valueof(ts_RSL_ResourceInfoItem(chan_nr, mp_interf_band)) }; + /* Generate a list of RSL ResourceInfo items */ + for (var integer i := 0; i < lengthof(chans); i := i + 1) { + info := info & { valueof(ts_RSL_ResourceInfoItem(chans[i], mp_interf_band)) }; } /* Align to the first interference report */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34673?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2d13fd3f0fd15d1762bf6f2f61de85cbe990ec36 Gerrit-Change-Number: 34673 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: BTS_Tests: separate generating g_AllChannels[] into a function
by fixeria 06 Oct '23

06 Oct '23
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34672?usp=email ) Change subject: BTS_Tests: separate generating g_AllChannels[] into a function ...................................................................... BTS_Tests: separate generating g_AllChannels[] into a function Change-Id: Iab2d009b977255b16028c77a9b96df48d270ed1c Related: SYS#5313, OS#5956 --- M bts/BTS_Tests.ttcn 1 file changed, 50 insertions(+), 35 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index df18403..6e4a36a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -515,6 +515,44 @@ trxc_conn_id := res.connId; } +private function f_gen_chans_for_ts(uint3_t tn, PchanConfig config) +return ChannelNrs +{ + select (config) { + case (GSM_PCHAN_CCCH_SDCCH4) { + return { valueof(ts_RslChanNr_SDCCH4(tn, 0)), + valueof(ts_RslChanNr_SDCCH4(tn, 1)), + valueof(ts_RslChanNr_SDCCH4(tn, 2)), + valueof(ts_RslChanNr_SDCCH4(tn, 3)) }; + } + case (GSM_PCHAN_SDCCH8) { + return { valueof(ts_RslChanNr_SDCCH8(tn, 0)), + valueof(ts_RslChanNr_SDCCH8(tn, 1)), + valueof(ts_RslChanNr_SDCCH8(tn, 2)), + valueof(ts_RslChanNr_SDCCH8(tn, 3)), + valueof(ts_RslChanNr_SDCCH8(tn, 4)), + valueof(ts_RslChanNr_SDCCH8(tn, 5)), + valueof(ts_RslChanNr_SDCCH8(tn, 6)), + valueof(ts_RslChanNr_SDCCH8(tn, 7)) }; + } + case (GSM_PCHAN_TCHH_TCHF_PDCH) { + return { valueof(ts_RslChanNr_Lm(tn, 0)), + valueof(ts_RslChanNr_Lm(tn, 1)), + valueof(ts_RslChanNr_Bm(tn)) }; + } + case (GSM_PCHAN_TCHH) { + return { valueof(ts_RslChanNr_Lm(tn, 0)), + valueof(ts_RslChanNr_Lm(tn, 1)) }; + } + case (GSM_PCHAN_TCHF, + GSM_PCHAN_TCHF_PDCH) { + return { valueof(ts_RslChanNr_Bm(tn)) }; + } + } + + return { }; +} + /* global init function (without PCUIF connection) */ friend function f_init(uint8_t trx_nr := 0) runs on test_CT @@ -550,41 +588,8 @@ /* Generate list of all logical channels from module parameters */ for (var integer tn := 0; tn < lengthof(trx_pars.ts); tn := tn + 1) { - select (trx_pars.ts[tn].config) { - case (GSM_PCHAN_CCCH_SDCCH4) { - g_AllChannels := g_AllChannels & - { valueof(ts_RslChanNr_SDCCH4(tn, 0)), - valueof(ts_RslChanNr_SDCCH4(tn, 1)), - valueof(ts_RslChanNr_SDCCH4(tn, 2)), - valueof(ts_RslChanNr_SDCCH4(tn, 3)) }; - } - case (GSM_PCHAN_SDCCH8) { - g_AllChannels := g_AllChannels & - { valueof(ts_RslChanNr_SDCCH8(tn, 0)), - valueof(ts_RslChanNr_SDCCH8(tn, 1)), - valueof(ts_RslChanNr_SDCCH8(tn, 2)), - valueof(ts_RslChanNr_SDCCH8(tn, 3)), - valueof(ts_RslChanNr_SDCCH8(tn, 4)), - valueof(ts_RslChanNr_SDCCH8(tn, 5)), - valueof(ts_RslChanNr_SDCCH8(tn, 6)), - valueof(ts_RslChanNr_SDCCH8(tn, 7)) }; - } - case (GSM_PCHAN_TCHH_TCHF_PDCH) { - g_AllChannels := g_AllChannels & - { valueof(ts_RslChanNr_Lm(tn, 0)), - valueof(ts_RslChanNr_Lm(tn, 1)), - valueof(ts_RslChanNr_Bm(tn)) }; - } - case (GSM_PCHAN_TCHH) { - g_AllChannels := g_AllChannels & - { valueof(ts_RslChanNr_Lm(tn, 0)), - valueof(ts_RslChanNr_Lm(tn, 1)) }; - } - case (GSM_PCHAN_TCHF, GSM_PCHAN_TCHF_PDCH) { - g_AllChannels := g_AllChannels & - { valueof(ts_RslChanNr_Bm(tn)) }; - } - } + var PchanConfig config := trx_pars.ts[tn].config; + g_AllChannels := g_AllChannels & f_gen_chans_for_ts(tn, config); } f_init_rsl(id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34672?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iab2d009b977255b16028c77a9b96df48d270ed1c Gerrit-Change-Number: 34672 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • ...
  • 185
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.