enb: Support cells from different ENBs in ncell_list
Change-Id: I1242c56ff42caea06e7f96317def82064fd11325
diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py
index f258b52..cdf9505 100644
--- a/src/osmo_gsm_tester/obj/enb.py
+++ b/src/osmo_gsm_tester/obj/enb.py
@@ -60,7 +60,10 @@
'cell_list[].cell_id': schema.UINT,
'cell_list[].rf_port': schema.UINT,
'cell_list[].pci': schema.UINT,
- 'cell_list[].ncell_list[]': schema.UINT,
+ 'cell_list[].ncell_list[].enb_id': schema.UINT,
+ 'cell_list[].ncell_list[].cell_id': schema.UINT,
+ 'cell_list[].ncell_list[].pci': schema.UINT,
+ 'cell_list[].ncell_list[].dl_earfcn': schema.UINT,
'cell_list[].scell_list[]': schema.UINT,
'cell_list[].dl_earfcn': schema.UINT,
'cell_list[].root_seq_idx': schema.UINT,
diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
index a0f22ff..4c7aa33 100644
--- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
@@ -77,10 +77,8 @@
root_sequence_index: ${loop.index * 10 + 204}, /* PRACH root sequence index */
ncell_list: [
-%for ncell in enb.cell_list:
-%if ncell.cell_id in cell.ncell_list:
- { n_id_cell: ${ncell.pci}, dl_earfcn: ${ncell.dl_earfcn}, cell_id: ${ncell.cell_id}, tac: 1 },
-%endif
+%for ncell in cell.ncell_list:
+ { n_id_cell: ${ncell.pci}, dl_earfcn: ${ncell.dl_earfcn}, cell_id: ${ncell.cell_id}, tac: 7 },
%endfor
],
diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl
index ff51bfd..a906df7 100644
--- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl
@@ -82,17 +82,13 @@
// Cells available for handover
meas_cell_list =
(
-%for ncell in enb.cell_list:
- <% loop.my_num_items = 0 if loop.index == 0 else loop.my_num_items %>
-%if ncell.cell_id in cell.ncell_list:
- ${',' if loop.my_num_items != 0 else ''}
- <% loop.my_num_items += 1 %>
+%for ncell in cell.ncell_list:
+ ${',' if loop.index != 0 else ''}
{
- eci = ${hex((int(enb.id)<<8) + int(ncell.cell_id))};
+ eci = ${hex((int(ncell.enb_id)<<8) + int(ncell.cell_id))};
dl_earfcn = ${ncell.dl_earfcn};
pci = ${ncell.pci};
}
-%endif
%endfor
);
diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf
index 98852aa..a9015f7 100644
--- a/sysmocom/defaults.conf
+++ b/sysmocom/defaults.conf
@@ -137,7 +137,7 @@
tac: 0x0007
root_seq_idx: 204
scell_list: []
- ncell_list: [0x02]
+ ncell_list: []
- cell_id: 0x02
pci: 0x02
dl_earfcn: 2850
@@ -145,7 +145,7 @@
tac: 0x0007
root_seq_idx: 205
scell_list: []
- ncell_list: [0x01]
+ ncell_list: []
srsenb:
num_prb: 100
diff --git a/sysmocom/scenarios/mod-enb-cells-2ca.conf b/sysmocom/scenarios/mod-enb-cells-2ca.conf
index 1dbea73..4727340 100644
--- a/sysmocom/scenarios/mod-enb-cells-2ca.conf
+++ b/sysmocom/scenarios/mod-enb-cells-2ca.conf
@@ -1,16 +1,25 @@
# CA and HO config, two cells different EARFCN, cell IDs match CC index of eNB
modifiers:
enb:
- - cell_list:
+ - id: 0x19B
+ cell_list:
- cell_id: 0x00
pci: 0x01
dl_earfcn: 2850
rf_port: 0
scell_list: [0x01]
- ncell_list: [0x01]
+ ncell_list:
+ - enb_id: 0x19B
+ cell_id: 0x01
+ pci: 0x02
+ dl_earfcn: 3050
- cell_id: 0x01
pci: 0x02
dl_earfcn: 3050
rf_port: 1
scell_list: [0x00]
- ncell_list: [0x00]
+ ncell_list:
+ - enb_id: 0x19B
+ cell_id: 0x00
+ pci: 0x01
+ dl_earfcn: 2850
diff --git a/sysmocom/scenarios/mod-enb-cells-intra-freq-ho-sameport.conf b/sysmocom/scenarios/mod-enb-cells-intra-freq-ho-sameport.conf
index 4a0a6b4..899ec4b 100644
--- a/sysmocom/scenarios/mod-enb-cells-intra-freq-ho-sameport.conf
+++ b/sysmocom/scenarios/mod-enb-cells-intra-freq-ho-sameport.conf
@@ -1,16 +1,25 @@
# HO config for intra-frequency HO between two cells (same EARFCN) on the same RF port (Amarisoft eNB)
modifiers:
enb:
- - cell_list:
+ - id: 0x19B
+ cell_list:
- cell_id: 0x01
pci: 0x01
dl_earfcn: 2850
rf_port: 0
scell_list: []
- ncell_list: [0x02]
+ ncell_list:
+ - enb_id: 0x19B
+ cell_id: 0x02
+ pci: 0x02
+ dl_earfcn: 2850
- cell_id: 0x02
pci: 0x02
dl_earfcn: 2850
rf_port: 0
scell_list: []
- ncell_list: [0x01]
+ ncell_list:
+ - enb_id: 0x19B
+ cell_id: 0x01
+ pci: 0x01
+ dl_earfcn: 2850
diff --git a/sysmocom/scenarios/mod-enb-cells-intra-freq-ho.conf b/sysmocom/scenarios/mod-enb-cells-intra-freq-ho.conf
index 7884a33..0dc337c 100644
--- a/sysmocom/scenarios/mod-enb-cells-intra-freq-ho.conf
+++ b/sysmocom/scenarios/mod-enb-cells-intra-freq-ho.conf
@@ -7,10 +7,18 @@
dl_earfcn: 2850
rf_port: 0
scell_list: []
- ncell_list: [0x02]
+ ncell_list:
+ - enb_id: 0x19B
+ cell_id: 0x02
+ pci: 0x02
+ dl_earfcn: 2850
- cell_id: 0x02
pci: 0x02
dl_earfcn: 2850
rf_port: 1
scell_list: []
- ncell_list: [0x01]
+ ncell_list:
+ - enb_id: 0x19B
+ cell_id: 0x01
+ pci: 0x01
+ dl_earfcn: 2850