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

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If44dd6b578cdc55076c8180707d1c2d69fe5f2a8 </div>
<div style="display:none"> Gerrit-Change-Number: 15216 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>