<p>neels <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/22263">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">show bug: add test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty<br><br>Related: SYS#5297<br>Change-Id: I3002797dea02dd0c10cfdd091ce73834a753e3a6<br>---<br>M tests/handover/handover_tests.ok<br>A tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty<br>2 files changed, 59 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok</span><br><span>index d0c1c00..f9adca9 100644</span><br><span>--- a/tests/handover/handover_tests.ok</span><br><span>+++ b/tests/handover/handover_tests.ok</span><br><span>@@ -17,6 +17,7 @@</span><br><span> pass test_congestion_no_oscillation2.ho_vty</span><br><span> pass test_disabled_ho_and_as.ho_vty</span><br><span> pass test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty</span><br><span style="color: hsl(120, 100%, 40%);">+pass test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty</span><br><span> pass test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty</span><br><span> pass test_dyn_ts_favor_moving_half_used_tch_h.ho_vty</span><br><span> pass test_ho_to_better_cell.ho_vty</span><br><span>diff --git a/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty b/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty</span><br><span>new file mode 100644</span><br><span>index 0000000..1273d75</span><br><span>--- /dev/null</span><br><span>+++ b/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty</span><br><span>@@ -0,0 +1,58 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# If a handover from one TCH kind to the other occupies a dynamic timeslot,</span><br><span style="color: hsl(120, 100%, 40%);">+# also adhere to congestion constraints of the other TCH kind, since taking up</span><br><span style="color: hsl(120, 100%, 40%);">+# a dyn TS may reduce the available slot count for both kinds of TCH.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F dyn dyn dyn PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F dyn dyn dyn PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# A TCH/F has better rxlev at a neighbor, and the neighbor's TCH/F slots would</span><br><span style="color: hsl(120, 100%, 40%);">+# not become congested. But taking up a neighbor's dynamic timeslot for TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+# would reduce the TCH/H availability to cause congestion on TCH/H. No HO.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ handover2 min-free-slots tch/f 0</span><br><span style="color: hsl(120, 100%, 40%);">+ handover2 min-free-slots tch/h 4</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+set-ts-use trx 0 0 states * TCH/F - - pdch pdch pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/HH pdch pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30</span><br><span style="color: hsl(120, 100%, 40%);">+expect-no-chan</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 40</span><br><span style="color: hsl(120, 100%, 40%);">+# FAIL: should not handover because that results in congestion on TCH/H in bts 1</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ho from lchan 0 0 1 0 to lchan 1 0 5 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 0 0 states * - - - pdch pdch pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/HH TCH/F pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+congestion-check</span><br><span style="color: hsl(120, 100%, 40%);">+# FAIL: really weird: handover one TCH/H to the same cell to TCH/F, taking up another dyn TS.</span><br><span style="color: hsl(120, 100%, 40%);">+# TCH/H congestion hence actually gets worse.</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ho from lchan 1 0 4 1 to lchan 1 0 6 0</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 0 0 states * - - - pdch pdch pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/H- TCH/F TCH/F *</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+congestion-check</span><br><span style="color: hsl(120, 100%, 40%);">+# more FAIL: TCH/H moves to worse bts 0 due to congestion</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ho from lchan 1 0 4 0 to lchan 0 0 4 0</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 0 0 states * - - - TCH/H- pdch pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F pdch TCH/F TCH/F *</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+congestion-check</span><br><span style="color: hsl(120, 100%, 40%);">+expect-no-chan</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30</span><br><span style="color: hsl(120, 100%, 40%);">+expect-no-chan</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 * * * rxlev 30 rxqual 0 ta 0 neighbors 40</span><br><span style="color: hsl(120, 100%, 40%);">+# FAIL: back to bts 1 because of rxlev, plus moving TCH/H to TCH/F!?</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ho from lchan 0 0 4 0 to lchan 1 0 4 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 0 0 states * - - - pdch pdch pdch *</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F *</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+congestion-check</span><br><span style="color: hsl(120, 100%, 40%);">+expect-no-chan</span><br><span style="color: hsl(120, 100%, 40%);">+# Stable situation now only because TCH/F has min-free-slots set to 0</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/22263">change 22263</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-bsc/+/22263"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3002797dea02dd0c10cfdd091ce73834a753e3a6 </div>
<div style="display:none"> Gerrit-Change-Number: 22263 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>