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

June 2023

  • 1 participants
  • 2480 discussions
[S] Change in osmo-ttcn3-hacks[master]: PCU_Tests: verify that PacketCellChangeContine contains an ARFCN and ...
by pespin 30 Jun '23

30 Jun '23
Attention is currently required from: dexter. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33539 ) Change subject: PCU_Tests: verify that PacketCellChangeContine contains an ARFCN and BSIC ...................................................................... Patch Set 1: Code-Review+1 (2 comments) File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33539/comment/a4b78020_30f7… PS1, Line 5368: f_rx_rlcmac_dl_block(dl_block, sched_fn); why not passing this constructed cell_cfg_cont here in f_rx_rlcmac_dl_block() as it was before? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33539/comment/eeaf9f37_7cbc… PS1, Line 5370: cell_chg_cont.u.cell_chg_continue.arfcn_bsic_presence := '1'B you can probably extend the f_rx_rlcmac_dl_block to have those passed params maybe. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33539 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: I4b8f3312088e3d2bc4b90702485e7c6a8d39f954 Gerrit-Change-Number: 33539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Fri, 30 Jun 2023 15:13:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-bsc[master]: ctrl: Add rach max delay
by matanp 30 Jun '23

30 Jun '23
matanp has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/33541 ) Change subject: ctrl: Add rach max delay ...................................................................... ctrl: Add rach max delay Change-Id: I113211cc7e7ef20fac7e9d30e156522406ad62f7 --- M src/osmo-bsc/bts_ctrl.c 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/41/33541/1 diff --git a/src/osmo-bsc/bts_ctrl.c b/src/osmo-bsc/bts_ctrl.c index 98b79c6..77daa75 100644 --- a/src/osmo-bsc/bts_ctrl.c +++ b/src/osmo-bsc/bts_ctrl.c @@ -249,6 +249,7 @@ CTRL_CMD_DEFINE_RANGE(bts_lac, "location-area-code", struct gsm_bts, location_area_code, 0, 65535); CTRL_CMD_DEFINE_RANGE(bts_ci, "cell-identity", struct gsm_bts, cell_identity, 0, 65535); CTRL_CMD_DEFINE_RANGE(bts_bsic, "bsic", struct gsm_bts, bsic, 0, 63); +CTRL_CMD_DEFINE_RANGE(bts_rach_max_delay, "rach-max-delay", struct gsm_bts, rach_max_delay, 1, 127); static int set_bts_apply_config(struct ctrl_cmd *cmd, void *data) { @@ -1047,6 +1048,7 @@ rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_lac); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_ci); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_bsic); + rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_rach_max_delay); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_apply_config); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_si); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_power_ctrl_defs); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/33541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I113211cc7e7ef20fac7e9d30e156522406ad62f7 Gerrit-Change-Number: 33541 Gerrit-PatchSet: 1 Gerrit-Owner: matanp <matan1008(a)gmail.com> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in libosmo-netif[master]: stream: Add IPA send function/IPA-mode read to srv
by laforge 30 Jun '23

30 Jun '23
Attention is currently required from: arehbein. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/33201 ) Change subject: stream: Add IPA send function/IPA-mode read to srv ...................................................................... Patch Set 5: (1 comment) File src/stream.c: https://gerrit.osmocom.org/c/libosmo-netif/+/33201/comment/ef608173_c56f403e PS5, Line 1947: /* msgb_l1(msg) is expected to be set */ I dont really get this part. Why do we expect a caller to have msgb_l1() set? And why do we care about it? Why would the user push an ipa header to th message before tranasmit, and then this code pushing the heasers (again)? -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/33201 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: 5 Gerrit-Owner: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Comment-Date: Fri, 30 Jun 2023 14:53:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-pcu[master]: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells
by Jenkins Builder 30 Jun '23

30 Jun '23
Attention is currently required from: pespin. Jenkins Builder has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33538 ) Change subject: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells ...................................................................... Patch Set 2: (1 comment) File src/nacc_fsm.c: Robot Comment from checkpatch (run ID jenkins-gerrit-lint-8825): https://gerrit.osmocom.org/c/osmo-pcu/+/33538/comment/826c851b_e336b7ca PS2, Line 318: Target_Cell_4G_Notif; Avoid multiple line dereference - prefer 'notif->Target_Cell.u.Target_Other_RAT_Notif.u.Target_Other_RAT_2_Notif.u.Target_Cell_4G_Notif' -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96280f0ec5955ed3cb17641bf4118496c929bdac Gerrit-Change-Number: 33538 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Fri, 30 Jun 2023 14:49:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-pcu[master]: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells
by dexter 30 Jun '23

30 Jun '23
Attention is currently required from: pespin. Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/33538 to look at the new patch set (#2). Change subject: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells ...................................................................... nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells The NACC procedure in OsmoPCU currently only supports NACC with GERAN cells. When an UTRAN or E-UTRAN cell is proposed in the PacketCellChangeNotification, then the FSM is immediately terminated, meaning that the NACC procedure can not commence. When the NACC procedure is carried out for UTRAN or E-UTRAN cells, the PCU will not send any system information to the UE. Instead it immediately sends a PacketCellChangeContinue message. This also means that we do not carry out any RAN Information Requests in the background. This patch adds logic to detect if the proprosed cell is an UTRAN or E-UTRAN cell and the adds a new transition to the FSM so that a short route to NACC_ST_TX_CELL_CHG_CONTINUE can be taken. Related: OS#6044 Change-Id: I96280f0ec5955ed3cb17641bf4118496c929bdac --- M src/nacc_fsm.c M src/nacc_fsm.h M src/neigh_cache.h 3 files changed, 132 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/38/33538/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96280f0ec5955ed3cb17641bf4118496c929bdac Gerrit-Change-Number: 33538 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell
by dexter 30 Jun '23

30 Jun '23
dexter has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33540 ) Change subject: PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell ...................................................................... PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell When the PacketCellChangeNotification proposes an UTRAN or E-UTRAN cell, then the PCU will not provide system information. Instead it will directly conclude the NACC procedure with a PacketCellChangeContinue message. Related: OS#6044 Change-Id: Idae86a458fd44ac81bab183ed1865b1c1bdbfd66 --- M library/RLCMAC_CSN1_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 172 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/33540/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33540 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: Idae86a458fd44ac81bab183ed1865b1c1bdbfd66 Gerrit-Change-Number: 33540 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset
1 0
0 0
[M] Change in osmo-pcu[master]: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells
by Jenkins Builder 30 Jun '23

30 Jun '23
Jenkins Builder has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33538 ) Change subject: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells ...................................................................... Patch Set 1: (2 comments) File src/nacc_fsm.c: Robot Comment from checkpatch (run ID jenkins-gerrit-lint-8821): https://gerrit.osmocom.org/c/osmo-pcu/+/33538/comment/00470315_cbadd494 PS1, Line 280: const Packet_Cell_Change_Notification_t * notif) "foo * bar" should be "foo *bar" Robot Comment from checkpatch (run ID jenkins-gerrit-lint-8821): https://gerrit.osmocom.org/c/osmo-pcu/+/33538/comment/715e2232_cf45de54 PS1, Line 318: Target_Cell_4G_Notif; Avoid multiple line dereference - prefer 'notif->Target_Cell.u.Target_Other_RAT_Notif.u.Target_Other_RAT_2_Notif.u.Target_Cell_4G_Notif' -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96280f0ec5955ed3cb17641bf4118496c929bdac Gerrit-Change-Number: 33538 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 30 Jun 2023 14:37:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: PCU_Tests: verify that PacketCellChangeContine contains an ARFCN and ...
by dexter 30 Jun '23

30 Jun '23
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33539 ) Change subject: PCU_Tests: verify that PacketCellChangeContine contains an ARFCN and BSIC ...................................................................... PCU_Tests: verify that PacketCellChangeContine contains an ARFCN and BSIC The testcase TC_nacc_outbound_success tests the NACC procedure. The cell that is proposed in the PacketCellChangeNotification is a GERAN cell. This means that the PCU should conclude the procedure with a PacketCellChangeNotification that contains the ARFCN and BSIC of the proposed cell. Let's make sure that this actually is the case. Related: OS#6044 Change-Id: I4b8f3312088e3d2bc4b90702485e7c6a8d39f954 --- M pcu/PCU_Tests.ttcn 1 file changed, 26 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/33539/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a1da67b..440d133 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -5332,13 +5332,14 @@ } } -/* Start NACC from MS side */ +/* Start NACC from MS side, propose a GERAN cell */ private function f_outbound_nacc_success(inout GprsMS ms, PCUIF_info_ind info_ind, boolean exp_rac_ci_query := true, boolean exp_si_query := true, boolean skip_final_ctrl_ack := false, boolean use_old_ctrl_iface := false) runs on RAW_PCU_Test_CT { var template (value) RlcmacUlCtrlMsg cell_chg_notif; + var template RlcmacDlCtrlMsg cell_chg_cont; var RlcmacDlBlock dl_block; var uint32_t sched_fn; var GsmArfcn req_arfcn := 862; @@ -5361,9 +5362,15 @@ /* Announce SI back to MS, continue NACC procedure */ f_ms_handle_pkt_neighbor_cell_data(ms, si_default); - /* Obtain a Downlink block and make sure it is a Pkt Cell Chg Continue */ + /* Obtain a Downlink block and make sure it is a PacketCellChangeContinue, also verify that + * the PacketCellChangeContinue message contains the ARFCN and BSIC which was proposed in + * the PacketCellChangeNotification before. */ f_rx_rlcmac_dl_block(dl_block, sched_fn); - if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, tr_RlcMacDlCtrl_PKT_CELL_CHG_CONTINUE))) { + cell_chg_cont := tr_RlcMacDlCtrl_PKT_CELL_CHG_CONTINUE + cell_chg_cont.u.cell_chg_continue.arfcn_bsic_presence := '1'B + cell_chg_cont.u.cell_chg_continue.arfcn := req_arfcn; + cell_chg_cont.u.cell_chg_continue.bsic := req_bsic; + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, cell_chg_cont))) { setverdict(fail, "Rx unexpected DL block: ", dl_block); f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33539 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: I4b8f3312088e3d2bc4b90702485e7c6a8d39f954 Gerrit-Change-Number: 33539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell
by dexter 30 Jun '23

30 Jun '23
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33540 ) Change subject: PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell ...................................................................... PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell When the PacketCellChangeNotification proposes an UTRAN or E-UTRAN cell, then the PCU will not provide system information. Instead it will directly conclude the NACC procedure with a PacketCellChangeContinue message. Related: OS#6044 Change-Id: Idae86a458fd44ac81bab183ed1865b1c1bdbfd66 --- M library/RLCMAC_CSN1_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 175 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/33540/1 diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index ef8c952..ded61b2 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -180,6 +180,97 @@ } }; + /* TS 44.060 sec 11.2.3a */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CELL_CHG_NOTIF_UTRAN(uint5_t tfi, + uint14_t uarfcn, + uint10_t scrambling_code, + template (value) CCNMeasReport ccn_meas_rep := ccn_meas_rep_def) + := { + msg_type := PACKET_CELL_CHANGE_NOTIFICATION, + u := { + cell_chg_notif := { + gtfi := { + is_dl_tfi := false, + tfi := tfi + }, + u := { + u10 := { + tag := '10'B, + utran_target_cell := { + fdd_presence := '1'B, + fdd := { + arfcn := uarfcn, + bandwidth_presence := '0'B, + bandwidth := omit, + scrambling_code := scrambling_code + }, + tdd_presence := '0'B, + tdd := omit, + reporting_quantity := 1 + } + } + }, + ba_psi3_presence := '0'B, + ba_used := '0'B, + psi3_change_mark := omit, + pmo_used := '0'B, + pccn_sending := '0'B, + ccn_meas_rep := ccn_meas_rep, + rel_additions := omit + } + } + }; + + /* TS 44.060 sec 11.2.3a */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CELL_CHG_NOTIF_EUTRAN(uint5_t tfi, + uint16_t earfcn, + uint9_t phys_layer_cell_id, + template (value) CCNMeasReport ccn_meas_rep := ccn_meas_rep_def) + := { + msg_type := PACKET_CELL_CHANGE_NOTIFICATION, + u := { + cell_chg_notif := { + gtfi := { + is_dl_tfi := false, + tfi := tfi + }, + u := { + u110 := { + tag := '110'B, + arfcn_bsic_presence := '0'B, + arfcn := omit, + bsic := omit, + + utran_target_cell_presence := '0'B, + utran_target_cell := omit, + + eutran_target_cell_presence := '1'B, + eutran_target_cell := { + earfcn := earfcn, + meas_bandwidth_presence := '0'B, + meas_bandwidth := omit, + phys_layer_cell_id := phys_layer_cell_id, + reporting_quantity := 1 + }, + eutran_ccn_meas_rep_presence := '1'B, + eutran_ccn_meas_rep := { + utran_ba_used := 0, + n_eutran := 1, + cells := {{frequency_list_index := 1, cell_identity := phys_layer_cell_id, reporting_quantity := 1}} + } + } + }, + ba_psi3_presence := '0'B, + ba_used := '0'B, + psi3_change_mark := omit, + pmo_used := '0'B, + pccn_sending := '0'B, + ccn_meas_rep := ccn_meas_rep, + rel_additions := omit + } + } + }; + /* TS 44.060 sec 11.2.2a */ template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_CELL_CHG_CONTINUE(template GlobalTfi tfi := ?) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 440d133..1fe2a26 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -5332,6 +5332,51 @@ } } +/* Start NACC from MS side, propose an E-UTRAN cell */ +private function f_outbound_nacc_success_utran_eutran(inout GprsMS ms, PCUIF_info_ind info_ind, + boolean exp_rac_ci_query := true, boolean exp_si_query := true, + boolean skip_final_ctrl_ack := false, + boolean use_old_ctrl_iface := false, + boolean eutran := false) +runs on RAW_PCU_Test_CT { + var template (value) RlcmacUlCtrlMsg cell_chg_notif; + var template RlcmacDlCtrlMsg cell_chg_cont; + var RlcmacDlBlock dl_block; + var uint32_t sched_fn; + + /* Start NACC from MS side */ + if (eutran) { + var uint16_t req_earfcn := 1234; + var uint9_t phys_layer_cell_id := 456; + cell_chg_notif := ts_RlcMacUlCtrl_PKT_CELL_CHG_NOTIF_EUTRAN(ms.ul_tbf.tfi, req_earfcn, phys_layer_cell_id); + } else { + var uint14_t req_uarfcn := 1234; + var uint10_t req_scrambling_code := 456; + cell_chg_notif := ts_RlcMacUlCtrl_PKT_CELL_CHG_NOTIF_UTRAN(ms.ul_tbf.tfi, req_uarfcn, req_scrambling_code); + } + + log("======================================"); + log(cell_chg_notif); + + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(cell_chg_notif), 0, nr := f_ms_tx_TsTrxBtsNum(ms)); + + /* Obtain a Downlink block and make sure it is a PacketCellChangeContine. We also make sure that this + * PacketCellChangeContine message does not contain any ARFCN/BSIC. */ + f_rx_rlcmac_dl_block(dl_block, sched_fn); + cell_chg_cont := tr_RlcMacDlCtrl_PKT_CELL_CHG_CONTINUE + cell_chg_cont.u.cell_chg_continue.arfcn_bsic_presence := '0'B + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, cell_chg_cont))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + /* PKT CELL CHG CONTINUE ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + if (not skip_final_ctrl_ack and dl_block.ctrl.mac_hdr.rrbp_valid) { + sched_fn := f_rrbp_ack_fn(sched_fn, dl_block.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + } +} + /* Start NACC from MS side, propose a GERAN cell */ private function f_outbound_nacc_success(inout GprsMS ms, PCUIF_info_ind info_ind, boolean exp_rac_ci_query := true, boolean exp_si_query := true, @@ -5382,7 +5427,7 @@ } /* Verify PCU handles outbound Network Assisted Cell Change Cell Change (NACC, TS 44.060 sec 8.8). */ -testcase TC_nacc_outbound_success() runs on RAW_PCU_Test_CT { +function f_TC_nacc_outbound_success(integer ran_type) runs on RAW_PCU_Test_CT { var PollFnCtx pollctx; var GprsMS ms; var PCUIF_info_ind info_ind := valueof(ts_PCUIF_INFO_default); @@ -5415,11 +5460,32 @@ f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), pollctx.fn, nr := pollctx.tstrxbts); /* Start NACC from MS side */ - f_outbound_nacc_success(ms, info_ind, use_old_ctrl_iface := use_old_ctrl_iface); + if (ran_type == 0) { + /* GERAN */ + f_outbound_nacc_success(ms, info_ind, use_old_ctrl_iface := use_old_ctrl_iface); + } else if (ran_type == 1) { + /* UTRAN */ + f_outbound_nacc_success_utran_eutran(ms, info_ind, use_old_ctrl_iface := use_old_ctrl_iface, eutran := false); + } else if (ran_type == 2) { + /* EUTRAN */ + f_outbound_nacc_success_utran_eutran(ms, info_ind, use_old_ctrl_iface := use_old_ctrl_iface, eutran := true); + } f_shutdown(__BFILE__, __LINE__, final := true); } +testcase TC_nacc_outbound_success() runs on RAW_PCU_Test_CT { + f_TC_nacc_outbound_success(0); +} + +testcase TC_nacc_outbound_success_utran() runs on RAW_PCU_Test_CT { + f_TC_nacc_outbound_success(1); +} + +testcase TC_nacc_outbound_success_eutran() runs on RAW_PCU_Test_CT { + f_TC_nacc_outbound_success(2); +} + /* Verify Pkt Cell Change Continue is retransmitted if not CTRL ACKed */ testcase TC_nacc_outbound_success_no_ctrl_ack() runs on RAW_PCU_Test_CT { var PollFnCtx pollctx; @@ -7224,6 +7290,8 @@ execute( TC_pcuif_info_ind_subsequent() ); execute( TC_nacc_outbound_success() ); + execute( TC_nacc_outbound_success_utran() ); + execute( TC_nacc_outbound_success_eutran() ); execute( TC_nacc_outbound_success_no_ctrl_ack() ); execute( TC_nacc_outbound_success_twice() ); execute( TC_nacc_outbound_success_twice_nocache() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33540 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: Idae86a458fd44ac81bab183ed1865b1c1bdbfd66 Gerrit-Change-Number: 33540 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-pcu[master]: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells
by dexter 30 Jun '23

30 Jun '23
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33538 ) Change subject: nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells ...................................................................... nacc_fsm: Add support for NACC with UTRAN and E-UTRAN cells The NACC procedure in OsmoPCU currently only supports NACC with GERAN cells. When an UTRAN or E-UTRAN cell is proposed in the PacketCellChangeNotification, then the FSM is immediately terminated, meaning that the NACC procedure can not commence. When the NACC procedure is carried out for UTRAN or E-UTRAN cells, the PCU will not send any system information to the UE. Instead it immediately sends a PacketCellChangeContinue message. This also means that we do not carry out any RAN Information Requests in the background. This patch adds logic to detect if the proprosed cell is an UTRAN or E-UTRAN cell and the adds a new transition to the FSM so that a short route to NACC_ST_TX_CELL_CHG_CONTINUE can be taken. Related: OS#6044 Change-Id: I96280f0ec5955ed3cb17641bf4118496c929bdac --- M src/nacc_fsm.c M src/nacc_fsm.h M src/neigh_cache.h 3 files changed, 133 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/38/33538/1 diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index c513423..ad4590b 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -191,7 +191,7 @@ uint8_t tfi_is_dl = tbf_direction(tbf) == GPRS_RLCMAC_DL_TBF; uint8_t tfi = tbf_tfi(tbf); uint8_t container_id = 0; - write_packet_cell_change_continue(mac_control_block, 1, rrbp, tfi_is_dl, tfi, true, + write_packet_cell_change_continue(mac_control_block, 1, rrbp, tfi_is_dl, tfi, ctx->neigh_key_valid, ctx->neigh_key.tgt_arfcn, ctx->neigh_key.tgt_bsic, container_id); LOGP(DNACC, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Cell Change Continue +++++++++++++++++++++++++\n"); rc = encode_gsm_rlcmac_downlink(&bv, mac_control_block); @@ -270,19 +270,91 @@ return 0; } -static int fill_neigh_key_from_bts_pkt_cell_chg_not(struct neigh_cache_entry_key *neigh_key, +/* Classify the RAT type of the cell that is proposed in the PacketCellChangeNotification. In case the RAT is GERAN, + * also extract neighbour key information to provide system information */ +#define NACC_GERAN_CELL 0 +#define NACC_UTRAN_CELL 1 +#define NACC_EUTRAN_CELL 2 +static int fill_neigh_key_from_bts_pkt_cell_chg_not(struct nacc_fsm_ctx *ctx, const struct gprs_rlcmac_bts *bts, - const Packet_Cell_Change_Notification_t *notif) + const Packet_Cell_Change_Notification_t * notif) { + const Target_Cell_GSM_Notif_t *notif_gsm; + const Target_Cell_3G_Notif_t *notif_3g; + const Target_Cell_4G_Notif_t *notif_4g; + + memset(&ctx->neigh_key, 0, sizeof(ctx->neigh_key)); + ctx->neigh_key_valid = false; + switch (notif->Target_Cell.UnionType) { - case 0: /* GSM */ - neigh_key->local_lac = bts->cgi_ps.rai.lac.lac; - neigh_key->local_ci = bts->cgi_ps.cell_identity; - neigh_key->tgt_arfcn = notif->Target_Cell.u.Target_Cell_GSM_Notif.ARFCN; - neigh_key->tgt_bsic = notif->Target_Cell.u.Target_Cell_GSM_Notif.BSIC; - return 0; + case 0: /* GSM */ + notif_gsm = &notif->Target_Cell.u.Target_Cell_GSM_Notif; + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=GSM, ARFCN=%u, BSIC=%u\n", + notif_gsm->ARFCN, notif_gsm->BSIC); + + ctx->neigh_key.local_lac = bts->cgi_ps.rai.lac.lac; + ctx->neigh_key.local_ci = bts->cgi_ps.cell_identity; + ctx->neigh_key.tgt_arfcn = notif_gsm->ARFCN; + ctx->neigh_key.tgt_bsic = notif_gsm->BSIC; + ctx->neigh_key_valid = true; + return NACC_GERAN_CELL; default: - return -ENOTSUP; + switch (notif->Target_Cell.u.Target_Other_RAT_Notif.UnionType) { + case 0: /* UTRAN */ + notif_3g = &notif->Target_Cell.u.Target_Other_RAT_Notif.u.Target_Cell_3G_Notif; + if (notif_3g->Exist_FDD_Description) { + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=UTRAN, FDD-ARFCN=%u\n", + notif_3g->FDD_Target_Cell_Notif.FDD_ARFCN); + } else if (notif_3g->Exist_TDD_Description) { + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=UTRAN, TDD-ARFCN=%u\n", + notif_3g->TDD_Target_Cell.TDD_ARFCN); + } + return NACC_UTRAN_CELL; + default: + switch (notif->Target_Cell.u.Target_Other_RAT_Notif.u.Target_Other_RAT_2_Notif.UnionType) { + case 0: /* E-UTRAN (and older RAT) */ + notif_4g = + &notif->Target_Cell.u.Target_Other_RAT_Notif.u.Target_Other_RAT_2_Notif.u. + Target_Cell_4G_Notif; + notif_3g = &notif_4g->Target_Cell_3G_Notif; + if (notif_4g->Exist_Arfcn) { + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=GSM, ARFCN=%u, BSIC=%u\n", + notif_4g->Arfcn, notif_4g->bsic); + ctx->neigh_key.local_lac = bts->cgi_ps.rai.lac.lac; + ctx->neigh_key.local_ci = bts->cgi_ps.cell_identity; + ctx->neigh_key.tgt_arfcn = notif_4g->Arfcn; + ctx->neigh_key.tgt_bsic = notif_4g->bsic; + ctx->neigh_key_valid = true; + return NACC_GERAN_CELL; + } + if (notif_4g->Exist_3G_Target_Cell) { + if (notif_3g->Exist_FDD_Description) { + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=UTRAN, FDD-ARFCN=%u\n", + notif_3g->FDD_Target_Cell_Notif.FDD_ARFCN); + } else if (notif_3g->Exist_TDD_Description) { + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=UTRAN, TDD-ARFCN=%u\n", + notif_3g->TDD_Target_Cell.TDD_ARFCN); + } + return NACC_UTRAN_CELL; + } + if (notif_4g->Exist_Eutran_Target_Cell) { + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: RAT=E-UTRAN, EARFCN=%u, CI=%u\n", + notif_4g->Target_EUTRAN_Cell.EARFCN, + notif_4g->Target_EUTRAN_Cell.Physical_Layer_Cell_Identity); + return NACC_EUTRAN_CELL; + } + + /* TODO: do something meaningful with an Eutran_Ccn_Measurement_Report, in case it is + * provided. */ + + LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell: (none, invalid)\n"); + return -EINVAL; + default: + LOGPFSML(ctx->fi, LOGL_NOTICE, + "TargetCell: RAT=CSG-UTRAN|CSG-EUTRAN, (not supported)\n"); + return -ENOTSUP; /* TODO: Add support */ + } + } } } @@ -316,14 +388,23 @@ { struct gprs_rlcmac_bts *bts = ctx->ms->bts; struct neigh_cache_entry_key neigh_key; + int rc; - if (fill_neigh_key_from_bts_pkt_cell_chg_not(&neigh_key, bts, notif) < 0) { - LOGPFSML(ctx->fi, LOGL_NOTICE, "TargetCell type=0x%x not supported\n", - notif->Target_Cell.UnionType); + rc = fill_neigh_key_from_bts_pkt_cell_chg_not(ctx, bts, notif); + if (rc < 0) { if (ctx->fi->state != NACC_ST_TX_CELL_CHG_CONTINUE) nacc_fsm_state_chg(ctx->fi, NACC_ST_TX_CELL_CHG_CONTINUE); return; + } else if (rc == NACC_UTRAN_CELL || rc == NACC_EUTRAN_CELL) { + /* When the proposed call is an UTRAN or EUTRAN cell, we won't provide any system information + * to the UE. Instead we will send the PacketCellChangeContinue message immediately. This also + * applies in the case of re-transmissions. See also: 3GPP TS 48.018, section 8c.6.1. */ + LOGPFSML(ctx->fi, LOGL_NOTICE, + "Target cell is an UTRAN or EUTRAN cell => no system information provided.\n"); + nacc_fsm_state_chg(ctx->fi, NACC_ST_TX_CELL_CHG_CONTINUE); + return; } + /* If tgt cell changed, restart resolving it */ if (!neigh_cache_entry_key_eq(&ctx->neigh_key, &neigh_key)) { ctx->neigh_key = neigh_key; @@ -341,17 +422,23 @@ struct nacc_fsm_ctx *ctx = (struct nacc_fsm_ctx *)fi->priv; struct gprs_rlcmac_bts *bts = ctx->ms->bts; Packet_Cell_Change_Notification_t *notif; + int rc; switch (event) { case NACC_EV_RX_CELL_CHG_NOTIFICATION: notif = (Packet_Cell_Change_Notification_t *)data; - if (fill_neigh_key_from_bts_pkt_cell_chg_not(&ctx->neigh_key, bts, notif) < 0) { - LOGPFSML(fi, LOGL_NOTICE, "TargetCell type=0x%x not supported\n", - notif->Target_Cell.UnionType); + rc = fill_neigh_key_from_bts_pkt_cell_chg_not(ctx, bts, notif); + if (rc < 0) osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); - } else { + else if (rc == NACC_UTRAN_CELL || rc == NACC_EUTRAN_CELL) { + /* When the proposed call is an UTRAN or EUTRAN cell, we won't provide any system information + * to the UE. Instead we will send the PacketCellChangeContinue message immediately. + * see also: 3GPP TS 48.018, section 8c.6.1. */ + LOGPFSML(ctx->fi, LOGL_NOTICE, + "Target cell is an UTRAN or EUTRAN cell => no system information provided.\n"); + nacc_fsm_state_chg(fi, NACC_ST_TX_CELL_CHG_CONTINUE); + } else nacc_fsm_state_chg(fi, NACC_ST_WAIT_RESOLVE_RAC_CI); - } break; default: OSMO_ASSERT(0); @@ -382,7 +469,6 @@ } /* CGI-PS not in cache, resolve it using BSC Neighbor Resolution CTRL interface */ - LOGPFSML(fi, LOGL_DEBUG, "No CGI-PS found in cache, resolving " NEIGH_CACHE_ENTRY_KEY_FMT "...\n", NEIGH_CACHE_ENTRY_KEY_ARGS(&ctx->neigh_key)); @@ -622,7 +708,8 @@ .in_event_mask = X(NACC_EV_RX_CELL_CHG_NOTIFICATION), .out_state_mask = - X(NACC_ST_WAIT_RESOLVE_RAC_CI), + X(NACC_ST_WAIT_RESOLVE_RAC_CI) | + X(NACC_ST_TX_CELL_CHG_CONTINUE), .name = "INITIAL", .action = st_initial, }, diff --git a/src/nacc_fsm.h b/src/nacc_fsm.h index ec6db2e..e6a9524 100644 --- a/src/nacc_fsm.h +++ b/src/nacc_fsm.h @@ -47,6 +47,7 @@ struct osmo_fsm_inst *fi; struct GprsMs* ms; /* back pointer */ struct neigh_cache_entry_key neigh_key; /* target cell info from MS */ + bool neigh_key_valid; /* target cell info from MS is valid */ struct osmo_cell_global_id_ps cgi_ps; /* target cell info resolved from req_{arfcn+bsic} */ struct si_cache_value si_info; /* SI info resolved from SGSN, to be sent to MS */ size_t si_info_bytes_sent; /* How many bytes out of si_info->si_len were already sent to MS */ diff --git a/src/neigh_cache.h b/src/neigh_cache.h index 76706ab..9d4c63f 100644 --- a/src/neigh_cache.h +++ b/src/neigh_cache.h @@ -65,6 +65,7 @@ struct neigh_cache_entry *neigh_cache_add(struct neigh_cache *cache, const struct neigh_cache_entry_key *key, const struct osmo_cell_global_id_ps *value); +/* TODO: This function seems to be used only in neigh_cache.c, make it static? */ struct neigh_cache_entry *neigh_cache_lookup_entry(struct neigh_cache *cache, const struct neigh_cache_entry_key *key); const struct osmo_cell_global_id_ps *neigh_cache_lookup_value(struct neigh_cache *cache, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96280f0ec5955ed3cb17641bf4118496c929bdac Gerrit-Change-Number: 33538 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ...
  • 248
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.