Commit e8848e07 authored by Joanne Hugé's avatar Joanne Hugé

.

parent 92edc976
...@@ -8,17 +8,18 @@ ...@@ -8,17 +8,18 @@
rf_driver: { rf_driver: {
name: "sdr", name: "sdr",
// RU_0002 1T1R // RU_0002 1T1R
args: "dev0=/dev/sdr0@0", // RU_0004 1T1R
cpri_mapping: "hw", args: "dev0=/dev/sdr0@0,dev1=/dev/sdr0@1",
cpri_mult: "8", cpri_mapping: "hw,hw",
cpri_rx_delay: "25.11", cpri_mult: "8,8",
cpri_tx_delay: "14.71", cpri_rx_delay: "25.11,25.11",
cpri_tx_dbm: "63", cpri_tx_delay: "14.71,14.71",
ifname: "slaptap9", cpri_tx_dbm: "63,63",
ifname: "slaptap9-0,slaptap9-1",
cpri_debug: 2, cpri_debug: 2,
}, },
tx_gain: [0], tx_gain: [0, 0],
rx_gain: [0], rx_gain: [0, 0],
com_addr: "127.0.1.2:9001", com_addr: "127.0.1.2:9001",
// XXX only if slapparameter_dict.get('mme_list') || has LTE cell ? // XXX only if slapparameter_dict.get('mme_list') || has LTE cell ?
...@@ -63,6 +64,577 @@ ...@@ -63,6 +64,577 @@
// Handover XXX same code for both LTE and NR // Handover XXX same code for both LTE and NR
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{
rat: "eutra",
cell_id: 0x1A2D022, // -> CELL4
n_id_cell: 22,
dl_earfcn: 500,
tac: 0x0001,
},
// Inter-ENB HO
],
// Carrier Aggregation // XXX + CA LTE-NR
scell_list: [
{
cell_id: 0x22, // + CELL4
cross_carrier_scheduling: false,
},
],
// tune LTE parameters for the cell
n_rb_dl: 100,
si_coderate: 0.2,
pdsch_dedicated: {
p_a: 0,
p_b: -1,
},
pdcch_format: 2,
prach_config_index: 4,
initial_cqi: 3,
pucch_dedicated: {
n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3,
},
srs_dedicated: {
srs_bandwidth_config: 2,
srs_bandwidth: 3,
srs_subframe_config: 3,
srs_period: 40,
srs_hopping_bandwidth: 0,
},
drb_config:
[
{
qci: 1,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 7,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 5,
},
dl_um: {
sn_FieldLength: 5,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 2,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 9,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 3,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 8,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 4,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 10,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 65,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 7,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 5,
},
dl_um: {
sn_FieldLength: 5,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 5,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 66,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 67,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 6,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 5,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 6,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 6,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 12,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 7,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 13,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 8,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 14,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 9,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
en_dc_split: {
type: "scg",
ul_data_threshold: 0
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 15,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 3,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 69,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 4,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 70,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 11,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
]
},
// CELL4
{
rf_port: 1,
n_antenna_dl: 1,
n_antenna_ul: 1,
cell_id: 0x22,
tac: 0x0001,
n_id_cell: 22,
dl_earfcn: 500,
root_sequence_index: 205,
// Handover XXX same code for both LTE and NR
ncell_list: [
// Intra-ENB HO
{
rat: "eutra",
cell_id: 0x1A2D021, // -> CELL2
n_id_cell: 21,
dl_earfcn: 100,
tac: 0x0001,
},
// Inter-ENB HO // Inter-ENB HO
...@@ -70,6 +642,10 @@ ...@@ -70,6 +642,10 @@
// Carrier Aggregation // XXX + CA LTE-NR // Carrier Aggregation // XXX + CA LTE-NR
scell_list: [ scell_list: [
{
cell_id: 0x21, // + CELL2
cross_carrier_scheduling: false,
},
], ],
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
log_filename: "log/ue.log", log_filename: "log/ue.log",
rue_bind_addr: "::1", // rue_bind_addr: "::1",
com_addr: "[::1]:9002", com_addr: "[::1]:9002",
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
name: "sdr", name: "sdr",
// _UCELL1_ru 1T1R // _UCELL1_ru 1T1R
// _UCELL2_ru 1T1R // _UCELL2_ru 1T1R
args: "dev0=/dev/sdr0,dev1=/dev/sdr2", args: "dev0=/dev/sdr4,dev1=/dev/sdr6",
rx_antenna:"tx_rx", rx_antenna:"tx_rx",
tdd_tx_mod: 1, tdd_tx_mod: 1,
}, },
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
impi: "", impi: "",
imsi: "001010123456789", imsi: "001010123456789",
K: "00112233445566778899aabbccddeeff", K: "00112233445566778899aabbccddeeff",
rue_addr: "host1", // rue_addr: "host1",
ue_category: 12, ue_category: 12,
tun_setup_script: "ue-ifup", tun_setup_script: "ue-ifup",
apn: "internet", apn: "internet",
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
log_filename: "{{ directory['log'] }}/ue.log", log_filename: "{{ directory['log'] }}/ue.log",
rue_bind_addr: "{{ pub_info['rue_bind_addr'] }}", // rue_bind_addr: "{{ pub_info['rue_bind_addr'] }}",
com_addr: "{{ pub_info['com_addr'] }}", com_addr: "{{ pub_info['com_addr'] }}",
{# instantiate radio units #} {# instantiate radio units #}
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
impi: "{{ ue.impi }}", impi: "{{ ue.impi }}",
imsi: "{{ ue.imsi }}", imsi: "{{ ue.imsi }}",
K: "{{ ue.k }}", K: "{{ ue.k }}",
rue_addr: "{{ ue.rue_addr }}", // rue_addr: "{{ ue.rue_addr }}",
{%- if ue.ue_type == 'lte' %} {%- if ue.ue_type == 'lte' %}
ue_category: 12, ue_category: 12,
{%- elif ue.ue_type == 'nr' %} {%- elif ue.ue_type == 'nr' %}
......
...@@ -235,10 +235,8 @@ def iRU2_LOPCOMM_fLTE2(ienb): ...@@ -235,10 +235,8 @@ def iRU2_LOPCOMM_fLTE2(ienb):
# RU_0004['mac_addr'] = 'YYY' # RU_0004['mac_addr'] = 'YYY'
RU_0004['cpri_link']['sfp_port'] = 1 RU_0004['cpri_link']['sfp_port'] = 1
if 1:
ienb.ishared('Radio Unit 2a', '_RU_0002', RU_0002) ienb.ishared('Radio Unit 2a', '_RU_0002', RU_0002)
# ienb.ishared('Radio Unit 2b', '_RU_0004', RU_0004)
#"""
ienb.ishared('Cell 2', '_CELL2', { ienb.ishared('Cell 2', '_CELL2', {
'cell_type': 'lte', 'cell_type': 'lte',
'rf_mode': 'fdd', 'rf_mode': 'fdd',
...@@ -251,9 +249,9 @@ def iRU2_LOPCOMM_fLTE2(ienb): ...@@ -251,9 +249,9 @@ def iRU2_LOPCOMM_fLTE2(ienb):
'ru_ref': 'RU_0002' 'ru_ref': 'RU_0002'
} }
}) })
#"""
""" if 1:
ienb.ishared('Radio Unit 2b', '_RU_0004', RU_0004)
ienb.ishared('Cell 4', '_CELL4', { ienb.ishared('Cell 4', '_CELL4', {
'cell_type': 'lte', 'cell_type': 'lte',
'rf_mode': 'fdd', 'rf_mode': 'fdd',
...@@ -266,7 +264,6 @@ def iRU2_LOPCOMM_fLTE2(ienb): ...@@ -266,7 +264,6 @@ def iRU2_LOPCOMM_fLTE2(ienb):
'ru_ref': 'RU_0004' 'ru_ref': 'RU_0004'
} }
}) })
"""
def do_enb(): def do_enb():
ienb = Instance('enb') ienb = Instance('enb')
...@@ -310,7 +307,7 @@ def do_ue(): ...@@ -310,7 +307,7 @@ def do_ue():
'ru': { 'ru': {
'ru_type': 'sdr', 'ru_type': 'sdr',
'ru_link_type': 'sdr', 'ru_link_type': 'sdr',
'sdr_dev_list': [0], 'sdr_dev_list': [4],
'n_antenna_dl': 1, 'n_antenna_dl': 1,
'n_antenna_ul': 1, 'n_antenna_ul': 1,
'tx_gain': 60, 'tx_gain': 60,
...@@ -325,7 +322,7 @@ def do_ue(): ...@@ -325,7 +322,7 @@ def do_ue():
'ru': { # NOTE contrary to eNB UEsim cannot share one RU in between several cells 'ru': { # NOTE contrary to eNB UEsim cannot share one RU in between several cells
'ru_type': 'sdr', 'ru_type': 'sdr',
'ru_link_type': 'sdr', 'ru_link_type': 'sdr',
'sdr_dev_list': [2], 'sdr_dev_list': [6],
'n_antenna_dl': 1, 'n_antenna_dl': 1,
'n_antenna_ul': 1, 'n_antenna_ul': 1,
'tx_gain': 60, 'tx_gain': 60,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment