neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15216
Change subject: fix TC_ho_int; make neighbor config more robust ...................................................................... fix TC_ho_int; make neighbor config more robust Since osmo-bsc commit "neighbor config: allow re-using ARFCN+BSIC pairs" (I29bca59ab232eddc74e0d4698efb9c9992443983), osmo-bsc considers only those cells as neighbors that are explicitly listed, or all local cells if none are listed. This lead to breaking TC_ho_int, because the osmo-bsc.cfg has only one remote-cell neighbor for bts 0, and hence a handover to local cell bts 1 is now regarded as invalid. The remote-cell neighbor is needed for inter-BSC handover tests; also consider that the TC_ho_neighbor_config_* tests each place individual neighbor configuration by live VTY interaction. Hence make all of these tests more robust: remove the neighbor config from the osmo-bsc.cfg file, and instead include VTY interaction for each test case that sets the particularly needed neighbor configuration at runtime. An analogous osmo-bsc.cfg change in docker-playground is in change If44dd6b578cdc55076c8180707d1c2d69fe5f2a8. (It is not actually harmful to leave the neighbor config in osmo-bsc.cfg, but remove that since it is also not needed anymore.) Change-Id: If44dd6b578cdc55076c8180707d1c2d69fe5f2a8 --- M bsc/BSC_Tests.ttcn M bsc/BSC_Tests_LCLS.ttcn M bsc/osmo-bsc.cfg 3 files changed, 5 insertions(+), 157 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/15216/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 4497a2e..e286905 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2863,6 +2863,7 @@ ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); f_establish_fully(ass_cmd, exp_compl); + f_bts_0_cfg({"neighbor bts 1"}); var HandoverState hs := { rr_ho_cmpl_seen := false, @@ -2944,6 +2945,7 @@ var template PDU_BSSAP exp_compl := f_gen_exp_compl(); f_establish_fully(ass_req, exp_compl); + f_bts_0_cfg({"neighbor lac 99 arfcn 123 bsic any"}); f_vty_transceive(BSCVTY, "handover any to arfcn 123 bsic any"); BSSAP.receive(tr_BSSMAP_HandoverRequired); @@ -3010,6 +3012,7 @@ var template PDU_BSSAP exp_compl := f_gen_exp_compl(); f_establish_fully(ass_req, exp_compl); + f_bts_0_cfg({"neighbor lac 99 arfcn 123 bsic any"}); f_vty_transceive(BSCVTY, "handover any to arfcn 123 bsic any"); BSSAP.receive(tr_BSSMAP_HandoverRequired); @@ -3056,6 +3059,7 @@ var template PDU_BSSAP exp_compl := f_gen_exp_compl(); f_establish_fully(ass_req, exp_compl); + f_bts_0_cfg({"neighbor lac 99 arfcn 123 bsic any"}); f_vty_transceive(BSCVTY, "handover any to arfcn 123 bsic any"); BSSAP.receive(tr_BSSMAP_HandoverRequired); @@ -3140,6 +3144,7 @@ var template PDU_BSSAP exp_compl := f_gen_exp_compl(); f_establish_fully(ass_req, exp_compl); + f_bts_0_cfg({"neighbor lac 99 arfcn 123 bsic any"}); f_vty_transceive(BSCVTY, "handover any to arfcn 123 bsic any"); BSSAP.receive(tr_BSSMAP_HandoverRequired); @@ -4357,131 +4362,6 @@ */ control { - /* CTRL interface testing */ - execute( TC_ctrl_msc_connection_status() ); - execute( TC_ctrl_msc0_connection_status() ); - execute( TC_ctrl() ); - if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) { - execute( TC_ctrl_location() ); - } - - /* RSL DCHAN Channel ACtivation / Deactivation */ - execute( TC_chan_act_noreply() ); - execute( TC_chan_act_counter() ); - execute( TC_chan_act_ack_noest() ); - execute( TC_chan_act_ack_est_ind_noreply() ); - execute( TC_chan_act_ack_est_ind_refused() ); - execute( TC_chan_act_nack() ); - execute( TC_chan_exhaustion() ); - execute( TC_chan_deact_silence() ); - execute( TC_chan_rel_rll_rel_ind() ); - execute( TC_chan_rel_conn_fail() ); - execute( TC_chan_rel_hard_clear() ); - execute( TC_chan_rel_hard_clear_csfb() ); - execute( TC_chan_rel_hard_rlsd() ); - execute( TC_chan_rel_hard_rlsd_ms_dead() ); - execute( TC_chan_rel_a_reset() ); - - execute( TC_outbound_connect() ); - - /* Assignment related */ - execute( TC_assignment_cic_only() ); - execute( TC_assignment_csd() ); - execute( TC_assignment_ctm() ); - execute( TC_assignment_sign() ); - execute( TC_assignment_fr_a5_0() ); - execute( TC_assignment_fr_a5_1() ); - if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { - execute( TC_assignment_fr_a5_1_codec_missing() ); - } - execute( TC_assignment_fr_a5_3() ); - execute( TC_assignment_fr_a5_4() ); - execute( TC_ciph_mode_a5_0() ); - execute( TC_ciph_mode_a5_1() ); - execute( TC_ciph_mode_a5_3() ); - - execute( TC_assignment_codec_fr() ); - execute( TC_assignment_codec_hr() ); - execute( TC_assignment_codec_efr() ); - execute( TC_assignment_codec_amr_f() ); - execute( TC_assignment_codec_amr_h() ); - - if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { - execute( TC_assignment_codec_amr_f_S1() ); - execute( TC_assignment_codec_amr_h_S1() ); - execute( TC_assignment_codec_amr_f_S124() ); - execute( TC_assignment_codec_amr_h_S124() ); - execute( TC_assignment_codec_amr_f_S0() ); - execute( TC_assignment_codec_amr_f_S02() ); - execute( TC_assignment_codec_amr_f_S024() ); - execute( TC_assignment_codec_amr_f_S0247() ); - execute( TC_assignment_codec_amr_h_S0() ); - execute( TC_assignment_codec_amr_h_S02() ); - execute( TC_assignment_codec_amr_h_S024() ); - execute( TC_assignment_codec_amr_h_S0247() ); - execute( TC_assignment_codec_amr_f_S01234567() ); - execute( TC_assignment_codec_amr_f_S0234567() ); - execute( TC_assignment_codec_amr_f_zero() ); - execute( TC_assignment_codec_amr_f_unsupp() ); - execute( TC_assignment_codec_amr_h_S7() ); - } - - execute( TC_assignment_codec_fr_exhausted_req_hr() ); - execute( TC_assignment_codec_fr_exhausted_req_fr() ); - execute( TC_assignment_codec_fr_exhausted_req_fr_hr() ); - execute( TC_assignment_codec_fr_exhausted_req_hr_fr() ); - execute( TC_assignment_codec_hr_exhausted_req_fr() ); - execute( TC_assignment_codec_hr_exhausted_req_hr() ); - execute( TC_assignment_codec_hr_exhausted_req_hr_fr() ); - execute( TC_assignment_codec_hr_exhausted_req_fr_hr() ); - execute( TC_assignment_codec_req_hr_fr() ); - execute( TC_assignment_codec_req_fr_hr() ); - - if (mp_enable_osmux_test) { - execute( TC_assignment_osmux() ); - } - - /* RLL Establish Indication on inactive DCHAN / SAPI */ - execute( TC_rll_est_ind_inact_lchan() ); - execute( TC_rll_est_ind_inval_sapi1() ); - execute( TC_rll_est_ind_inval_sapi3() ); - execute( TC_rll_est_ind_inval_sacch() ); - - /* Paging related tests */ - execute( TC_paging_imsi_nochan() ); - execute( TC_paging_tmsi_nochan() ); - execute( TC_paging_tmsi_any() ); - execute( TC_paging_tmsi_sdcch() ); - execute( TC_paging_tmsi_tch_f() ); - execute( TC_paging_tmsi_tch_hf() ); - execute( TC_paging_imsi_nochan_cgi() ); - execute( TC_paging_imsi_nochan_lac_ci() ); - execute( TC_paging_imsi_nochan_ci() ); - execute( TC_paging_imsi_nochan_lai() ); - execute( TC_paging_imsi_nochan_lac() ); - execute( TC_paging_imsi_nochan_all() ); - execute( TC_paging_imsi_nochan_plmn_lac_rnc() ); - execute( TC_paging_imsi_nochan_rnc() ); - execute( TC_paging_imsi_nochan_lac_rnc() ); - execute( TC_paging_imsi_nochan_lacs() ); - execute( TC_paging_imsi_nochan_lacs_empty() ); - execute( TC_paging_imsi_nochan_cgi_unknown_cid() ); - execute( TC_paging_imsi_a_reset() ); - execute( TC_paging_imsi_load() ); - execute( TC_paging_counter() ); - execute( TC_paging_resp_unsol() ); - - execute( TC_rsl_drop_counter() ); - execute( TC_rsl_unknown_unit_id() ); - - execute( TC_oml_unknown_unit_id() ); - - execute( TC_classmark() ); - execute( TC_unsol_ass_fail() ); - execute( TC_unsol_ass_compl() ); - execute( TC_unsol_ho_fail() ); - execute( TC_err_82_short_msg() ); - execute( TC_err_84_unknown_msg() ); execute( TC_ho_int() ); @@ -4504,21 +4384,6 @@ execute( TC_ho_neighbor_config_6() ); execute( TC_ho_neighbor_config_7() ); - execute( TC_bssap_rlsd_does_not_cause_bssmap_reset() ); - execute( TC_bssmap_clear_does_not_cause_bssmap_reset() ); - execute( TC_ms_rel_ind_does_not_cause_bssmap_reset() ); - - execute( TC_dyn_pdch_ipa_act_deact() ); - execute( TC_dyn_pdch_ipa_act_nack() ); - execute( TC_dyn_pdch_osmo_act_deact() ); - execute( TC_dyn_pdch_osmo_act_nack() ); - - execute( TC_chopped_ipa_ping() ); - execute( TC_chopped_ipa_payload() ); - - /* at bottom as they might crash OsmoBSC before OS#3182 is fixed */ - execute( TC_early_conn_fail() ); - execute( TC_late_conn_fail() ); } diff --git a/bsc/BSC_Tests_LCLS.ttcn b/bsc/BSC_Tests_LCLS.ttcn index 6087133..c57cbfa 100644 --- a/bsc/BSC_Tests_LCLS.ttcn +++ b/bsc/BSC_Tests_LCLS.ttcn @@ -739,21 +739,6 @@ control { - execute( TC_lcls_gcr_only() ); - execute( TC_lcls_gcr_bway_connect() ); - execute( TC_lcls_gcr_bway_connect_hr() ); - execute( TC_lcls_gcr_bway_codec_mismatch() ); - execute( TC_lcls_gcr_nomatch_bway_connect() ); - execute( TC_lcls_gcr_bway_dont_connect() ); - execute( TC_lcls_gcr_unsuppported_cfg() ); - execute( TC_lcls_gcr_unsuppported_csc() ); - execute( TC_lcls_gcr_bway_dont_connect_csc() ); - execute( TC_lcls_connect_break() ); - execute( TC_lcls_connect_clear() ); - - execute( TC_lcls_bts_gcr_bway_connect() ); - execute( TC_lcls_bts_gcr_bway_connect_hr() ); - execute( TC_lcls_bts_connect_break() ); } diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 9384491..74fe255 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -88,8 +88,6 @@ early-classmark-sending forbidden ip.access unit_id 1234 0 oml ip.access stream_id 255 line 0 - # remote-BSS neighbor: - neighbor lac 99 arfcn 123 bsic any neighbor-list mode manual-si5 neighbor-list add arfcn 100 neighbor-list add arfcn 200 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15216 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: If44dd6b578cdc55076c8180707d1c2d69fe5f2a8 Gerrit-Change-Number: 15216 Gerrit-PatchSet: 1 Gerrit-Owner: neels <nhofm...@sysmocom.de> Gerrit-MessageType: newchange