aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-06-06 01:43:28 +0600
committerfixeria <vyanitskiy@sysmocom.de>2022-06-30 16:36:41 +0000
commitc2928ac269a55d2ea1a6ae7984ba9065f8c41db0 (patch)
tree6b51e4a323ab6083589934f399063dd4e22c088f /tests
parentff9d3a64dc8fec465140c244a816db22eea97b6b (diff)
lchan_select: allow different alloc order for assignment and handover
A follow-up patch implements a special channel allocation mode, which is only working for assignment (basically TCH selection for a voice call). This mode cannot be employed for initial CHANNEL REQUEST or handover due to the absence of an already established lchan. Adding this mode to the existing VTY command syntax would be confusing: channel allocator (ascending|desscending|dynamic) ^^^^^^^ so this patch extends the VTY syntax in a way that it becomes possible to configure different channel allocator modes for different cases: OsmoBSC(config-net-bts)# channel allocator mode ? set-all Set a single mode for all variants chan-req Channel allocation for CHANNEL REQUEST (RACH) assignment Channel allocation for assignment handover Channel allocation for handover The old command syntax, which is basically 'set-all', is kept for backwards compatibility, but marked as deprecated. Change-Id: I3ae73b36ee9433cc768376b56f0765e5f416162f Related: SYS#5460
Diffstat (limited to 'tests')
-rw-r--r--tests/ctrl/osmo-bsc-apply-config-file.cfg2
-rw-r--r--tests/ctrl/osmo-bsc-neigh-test.cfg4
-rw-r--r--tests/handover/handover_test.c3
-rw-r--r--tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty2
-rw-r--r--tests/osmo-bsc.vty13
5 files changed, 17 insertions, 7 deletions
diff --git a/tests/ctrl/osmo-bsc-apply-config-file.cfg b/tests/ctrl/osmo-bsc-apply-config-file.cfg
index 1a069ce75..0094cd70d 100644
--- a/tests/ctrl/osmo-bsc-apply-config-file.cfg
+++ b/tests/ctrl/osmo-bsc-apply-config-file.cfg
@@ -9,7 +9,7 @@ network
cell reselection hysteresis 4
rxlev access min 0
radio-link-timeout 32
- channel allocator ascending
+ channel allocator mode set-all ascending
rach tx integer 9
rach max transmission 7
channel-description attach 1
diff --git a/tests/ctrl/osmo-bsc-neigh-test.cfg b/tests/ctrl/osmo-bsc-neigh-test.cfg
index 93d7fca83..8c04db6d6 100644
--- a/tests/ctrl/osmo-bsc-neigh-test.cfg
+++ b/tests/ctrl/osmo-bsc-neigh-test.cfg
@@ -35,7 +35,7 @@ network
cell reselection hysteresis 4
rxlev access min 0
radio-link-timeout 32
- channel allocator ascending
+ channel allocator mode set-all ascending
rach tx integer 9
rach max transmission 7
channel-description attach 1
@@ -92,7 +92,7 @@ network
cell reselection hysteresis 4
rxlev access min 0
radio-link-timeout 32
- channel allocator ascending
+ channel allocator mode set-all ascending
rach tx integer 9
rach max transmission 7
channel-description attach 1
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index d82ba9f90..77fa3712e 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -488,7 +488,8 @@ struct gsm_lchan *create_lchan(struct gsm_bts *bts, int full_rate, const char *c
{
struct gsm_lchan *lchan;
- lchan = lchan_select_by_type(bts, (full_rate) ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H);
+ lchan = lchan_select_by_type(bts, (full_rate) ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H,
+ SELECT_FOR_HANDOVER);
if (!lchan) {
fprintf(stderr, "No resource for lchan\n");
exit(EXIT_FAILURE);
diff --git a/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty b/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty
index c50b00705..0c55a2c97 100644
--- a/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty
+++ b/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty
@@ -3,7 +3,7 @@ create-bts trx-count 1 timeslots c+s4 dyn TCH/H dyn TCH/H dyn TCH/H
network
bts 0
- channel allocator ascending
+ channel allocator mode set-all ascending
set-ts-use trx 0 0 states * TCH/-H TCH/-H TCH/-H TCH/-H TCH/-H TCH/-H *
diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty
index f2af32bca..e0b9bdc18 100644
--- a/tests/osmo-bsc.vty
+++ b/tests/osmo-bsc.vty
@@ -166,11 +166,20 @@ OsmoBSC(config-net-bts)# channel ?
allocator Channel Allocator
OsmoBSC(config-net-bts)# channel allocator ?
- ascending Allocate Timeslots and Transceivers in ascending order
- descending Allocate Timeslots and Transceivers in descending order
+ mode Channel allocation mode
avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation
tch-signalling-policy Configure when TCH/H or TCH/F channels can be used to serve signalling if SDCCHs are exhausted
+OsmoBSC(config-net-bts)# channel allocator mode ?
+ set-all Set a single mode for all variants
+ chan-req Channel allocation for CHANNEL REQUEST (RACH)
+ assignment Channel allocation for assignment
+ handover Channel allocation for handover
+
+OsmoBSC(config-net-bts)# channel allocator mode set-all ?
+ ascending Allocate Timeslots and Transceivers in ascending order
+ descending Allocate Timeslots and Transceivers in descending order
+
OsmoBSC(config-net-bts)# channel allocator avoid-interference ?
0 Ignore interference levels (default). Always assign lchans in a deterministic order.
1 In channel allocation, prefer lchans with less interference.