Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
105
Merge Requests
105
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
05bd12e9
Commit
05bd12e9
authored
Dec 03, 2024
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
simpleran: add PDN list parameter and add more default parameters
parent
30d97cf5
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
597 additions
and
60 deletions
+597
-60
software/simpleran/buildout.hash.cfg
software/simpleran/buildout.hash.cfg
+6
-6
software/simpleran/config/enb.jinja2.cfg
software/simpleran/config/enb.jinja2.cfg
+30
-30
software/simpleran/config/ims.jinja2.cfg
software/simpleran/config/ims.jinja2.cfg
+2
-2
software/simpleran/config/mme.jinja2.cfg
software/simpleran/config/mme.jinja2.cfg
+9
-6
software/simpleran/instance-core-network-input-schema.json
software/simpleran/instance-core-network-input-schema.json
+34
-0
software/simpleran/instance-core-network.jinja2.cfg
software/simpleran/instance-core-network.jinja2.cfg
+23
-4
software/simpleran/instance-enb-input-schema.json
software/simpleran/instance-enb-input-schema.json
+435
-0
software/simpleran/instance-enb.jinja2.cfg
software/simpleran/instance-enb.jinja2.cfg
+28
-0
software/simpleran/instance-ors-enb-input-schema.json
software/simpleran/instance-ors-enb-input-schema.json
+4
-4
software/simpleran/instance-ors-enb.jinja2.cfg
software/simpleran/instance-ors-enb.jinja2.cfg
+22
-4
software/simpleran/instance-ors-gnb-input-schema.json
software/simpleran/instance-ors-gnb-input-schema.json
+4
-4
No files found.
software/simpleran/buildout.hash.cfg
View file @
05bd12e9
...
...
@@ -60,11 +60,11 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
915af421eb59f36f7145c404c88b24b0
md5sum =
e89ee67dcee89923aace67759b3a7867
[template-ors-enb]
_update_hash_filename_ = instance-ors-enb.jinja2.cfg
md5sum =
f4221fa9088546a40449845dcfb15447
md5sum =
8ed4dcc068950078daadfa7dd63b67fe
[template-ors-ue]
_update_hash_filename_ = instance-ors-ue.jinja2.cfg
...
...
@@ -72,7 +72,7 @@ md5sum = f4389a92fb111447e7976e452db78607
[template-core-network]
_update_hash_filename_ = instance-core-network.jinja2.cfg
md5sum =
7b653b5bfd62e91d0c423ee9387ca04
5
md5sum =
92fd8377819ae6e844f77937cecfa60
5
[template-ue]
_update_hash_filename_ = instance-ue.jinja2.cfg
...
...
@@ -88,7 +88,7 @@ md5sum = dd50b4e4780830ddbde28b84af118f18
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum =
5f5441444d442e87526b6ced33265656
md5sum =
d19d631a0181a5449be8859274d4fade
[drb_lte.jinja2.cfg]
filename = config/drb_lte.jinja2.cfg
...
...
@@ -108,7 +108,7 @@ md5sum = 9dbd93036c15c87c6de74b88b34062b6
[mme.jinja2.cfg]
filename = config/mme.jinja2.cfg
md5sum =
d1df6c004ca74330699969818aec3252
md5sum =
eff3bd1b191cfab251a602ad99a8316e
[dnsmasq-core-network.jinja2.cfg]
filename = config/dnsmasq-core-network.jinja2.cfg
...
...
@@ -120,7 +120,7 @@ md5sum = 95f4f8fb85e0480eb3e9059b9db26540
[ims.jinja2.cfg]
filename = config/ims.jinja2.cfg
md5sum =
f07c85916bcb7e4002c8edc3d087c1be
md5sum =
8379c4edcccc03db94acceca77e3cd07
[ue.jinja2.cfg]
filename = config/ue.jinja2.cfg
...
...
software/simpleran/config/enb.jinja2.cfg
View file @
05bd12e9
...
...
@@ -451,32 +451,32 @@
a2_hysteresis: {{ slapparameter_dict.handover_a2_hysteresis }},
a2_time_to_trigger: {{ slapparameter_dict.handover_a2_time_to_trigger }},
eutra_handover: {
{%- if 'a3_rsrp' in slapparameter_dict.eutra_handover.event %}
{%- if 'a3_rsrp' in slapparameter_dict.eutra_
eutra_
handover.event %}
a3_report_type: "rsrp",
a3_offset: {{ slapparameter_dict.eutra_handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.eutra_handover.event %}
a3_offset: {{ slapparameter_dict.eutra_
eutra_
handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.eutra_
eutra_
handover.event %}
a4_report_type: "rsrp",
a4_threshold_rsrp: {{ slapparameter_dict.eutra_handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.eutra_handover.event %}
a4_threshold_rsrp: {{ slapparameter_dict.eutra_
eutra_
handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.eutra_
eutra_
handover.event %}
a5_report_type: "rsrp",
a5_threshold1_rsrp: {{ slapparameter_dict.eutra_handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.eutra_handover.event.a5_threshold2_rsrp }},
a5_threshold1_rsrp: {{ slapparameter_dict.eutra_
eutra_
handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.eutra_
eutra_
handover.event.a5_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.eutra_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.eutra_handover.time_to_trigger }}
hysteresis: {{ slapparameter_dict.eutra_
eutra_
handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.eutra_
eutra_
handover.time_to_trigger }}
{%- if len(list(ipeercell_dict|dictsort | selectattr('1._.cell_type', '==', 'nr'))) > 0 %}
},
nr_handover: {
{%- if 'b1_rsrp' in slapparameter_dict.nr_handover.event %}
{%- if 'b1_rsrp' in slapparameter_dict.
eutra_
nr_handover.event %}
b1_report_type: "rsrp",
b1_threshold_rsrp: {{ slapparameter_dict.nr_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.nr_handover.event %}
b1_threshold_rsrp: {{ slapparameter_dict.
eutra_
nr_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.
eutra_
nr_handover.event %}
b2_report_type: "rsrp",
b2_threshold1_rsrp: {{ slapparameter_dict.nr_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.nr_handover.event.b2_threshold2_rsrp }},
b2_threshold1_rsrp: {{ slapparameter_dict.
eutra_
nr_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.
eutra_
nr_handover.event.b2_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.nr_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.nr_handover.time_to_trigger }}
hysteresis: {{ slapparameter_dict.
eutra_
nr_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.
eutra_
nr_handover.time_to_trigger }}
},
{%- else %}
}
...
...
@@ -829,28 +829,28 @@
a2_hysteresis: {{ slapparameter_dict.handover_a2_hysteresis }},
a2_time_to_trigger: {{ slapparameter_dict.handover_a2_time_to_trigger }},
nr_handover: {
{%- if 'a3_rsrp' in slapparameter_dict.nr_handover.event %}
{%- if 'a3_rsrp' in slapparameter_dict.nr_
nr_
handover.event %}
a3_report_type: "rsrp",
a3_offset: {{ slapparameter_dict.nr_handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.nr_handover.event %}
a4_threshold_rsrp: {{ slapparameter_dict.nr_handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.nr_handover.event %}
a5_threshold1_rsrp: {{ slapparameter_dict.nr_handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.nr_handover.event.a5_threshold2_rsrp }},
a3_offset: {{ slapparameter_dict.nr_
nr_
handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.nr_
nr_
handover.event %}
a4_threshold_rsrp: {{ slapparameter_dict.nr_
nr_
handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.nr_
nr_
handover.event %}
a5_threshold1_rsrp: {{ slapparameter_dict.nr_
nr_
handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.nr_
nr_
handover.event.a5_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.nr_nr_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.nr_nr_handover.time_to_trigger }}
},
{%- if len(list(ipeercell_dict|dictsort | selectattr('1._.cell_type', '==', 'lte'))) > 0 %}
eutra_handover: {
{%- if 'b1_rsrp' in slapparameter_dict.eutra_handover.event %}
b1_threshold_rsrp: {{ slapparameter_dict.eutra_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.eutra_handover.event %}
b2_threshold1_rsrp: {{ slapparameter_dict.eutra_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.eutra_handover.event.b2_threshold2_rsrp }},
{%- if 'b1_rsrp' in slapparameter_dict.
nr_
eutra_handover.event %}
b1_threshold_rsrp: {{ slapparameter_dict.
nr_
eutra_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.
nr_
eutra_handover.event %}
b2_threshold1_rsrp: {{ slapparameter_dict.
nr_
eutra_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.
nr_
eutra_handover.event.b2_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.eutra_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.eutra_handover.time_to_trigger }}
hysteresis: {{ slapparameter_dict.
nr_
eutra_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.
nr_
eutra_handover.time_to_trigger }}
},
{%- endif %}
ssb_rsrq_filter_coeff: 3,
...
...
software/simpleran/config/ims.jinja2.cfg
View file @
05bd12e9
...
...
@@ -22,11 +22,11 @@
],
mms_server_bind_addr: "{{ internet_ipv4 }}:1111",
sctp_addr: "{{ slap
_configuration['configuration.ims_addr']
}}",
sctp_addr: "{{ slap
parameter_dict.ims_addr
}}",
cx_server_addr: "127.0.1.100",
cx_bind_addr: "{{ slap
_configuration['configuration.ims_addr']
}}",
cx_bind_addr: "{{ slap
parameter_dict.ims_addr
}}",
rx_server_addr: "127.0.1.100",
...
...
software/simpleran/config/mme.jinja2.cfg
View file @
05bd12e9
...
...
@@ -30,7 +30,7 @@
gtp_addr: "{{ gtp_addr_v6 }}",
{%- endif %}
{%- else %}
gtp_addr: "{{ slap
_configuration['configuration.gtp_addr']
}}",
gtp_addr: "{{ slap
parameter_dict.gtp_addr
}}",
{%- endif %}
plmn: "{{ slapparameter_dict.get('core_network_plmn', "00101") }}",
...
...
@@ -70,14 +70,18 @@
ims_list: [
{
ims_addr: "{{ slap
_configuration['configuration.ims_addr']
}}",
bind_addr: "{{ slap
_configuration['configuration.ims_bind']
}}",
ims_addr: "{{ slap
parameter_dict.ims_addr
}}",
bind_addr: "{{ slap
parameter_dict.ims_bind
}}",
}
],
pdn_list: [
{
access_point_name: ["default", "internet", "sos"],
access_point_name: [
{%- for _, pdn in slapparameter_dict.pdn_list |dictsort -%}
"{{ pdn.name }}",
{%- endfor -%}
],
pdn_type: "ipv4v6",
tun_ifname: "{{ tun_name }}",
first_ip_addr: "{{ internet_ipv4_start }}",
...
...
@@ -89,10 +93,9 @@
{%- else %}
dns_addr: ["8.8.8.8", "2001:4860:4860::8888"],
{%- endif %}
erabs: [
{
qci:
9
,
qci:
{{ slapparameter_dict.qci }}
,
priority_level: 15,
pre_emption_capability: "shall_not_trigger_pre_emption",
pre_emption_vulnerability: "not_pre_emptable",
...
...
software/simpleran/instance-core-network-input-schema.json
View file @
05bd12e9
...
...
@@ -51,6 +51,40 @@
"description"
:
"Set to true to force a static IPv4 for each UE. If true, the number of UE is limited."
,
"type"
:
"boolean"
},
"pdn_list"
:
{
"title"
:
"PDN list"
,
"description"
:
"Configure the available EPS Packet Data Networks and 5GS Data Network Names."
,
"default"
:
{
"internet"
:
{
"name"
:
"internet"
},
"default"
:
{
"name"
:
"default"
},
"sos"
:
{
"name"
:
"sos"
}
},
"patternProperties"
:
{
".*"
:
{
"properties"
:
{
"name"
:
{
"title"
:
"APN name"
,
"description"
:
"APN name"
,
"type"
:
"string"
}
},
"type"
:
"object"
}
},
"type"
:
"object"
},
"qci"
:
{
"default"
:
9
,
"title"
:
"QCI of default E-RAB"
,
"description"
:
"QoS Class Identifier of the default E-RAB"
,
"type"
:
"number"
},
"eps_5gs_interworking"
:
{
"title"
:
"EPS 5GS Interworking"
,
"type"
:
"string"
,
...
...
software/simpleran/instance-core-network.jinja2.cfg
View file @
05bd12e9
{#- defaults for global core network parameters.
TODO automatically load enb defaults from JSON schema #}
{%- set mme_defaults = {
'gtp_addr': '127.0.1.100',
'ims_addr': '127.0.0.1',
'ims_bind': '127.0.0.2',
'qci': 9,
'pdn_list': {
'internet': {'name': 'internet'},
'default': {'name': 'default'},
'sos': {'name': 'sos'}
}
} %}
{%- for k,v in mme_defaults|dictsort %}
{%- do slapparameter_dict.setdefault(k, v) %}
{%- endfor %}
{%- set dns_slave_instance_list = [] %}
{%- set sim_slave_instance_list = [] %}
{%- set fixed_ip = slapparameter_dict.get("fixed_ips", False) %}
...
...
@@ -93,6 +109,12 @@ eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
[myslap]
# NOTE we don't query slapos.cookbook:slapconfiguration the second time because
# slapparameter_dict is potentially modified with defaults.
parameter_dict = {{ dumps(slapparameter_dict) }}
configuration = {{ dumps(slap_configuration) }}
[slap-configuration]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = {{ slap_connection['computer-id'] }}
...
...
@@ -100,9 +122,6 @@ partition = {{ slap_connection['partition-id'] }}
url = {{ slap_connection['server-url'] }}
key = {{ slap_connection['key-file'] }}
cert = {{ slap_connection['cert-file'] }}
configuration.gtp_addr = 127.0.1.100
configuration.ims_addr = 127.0.0.1
configuration.ims_bind = 127.0.0.2
ue_db_path = ${ue-db-config:output}
{%- if fixed_ip %}
sim_list = ${sim-ip-configuration:sim-with-ip-list}
...
...
@@ -227,7 +246,7 @@ extra-context =
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict
slap-configuration:configuration
key slapparameter_dict
myslap:parameter_dict
raw gtp_addr_v6 {{ my_ipv6 }}
raw gtp_addr_v4 {{ lan_ipv4 }}
import netaddr netaddr
...
...
software/simpleran/instance-enb-input-schema.json
View file @
05bd12e9
This diff is collapsed.
Click to expand it.
software/simpleran/instance-enb.jinja2.cfg
View file @
05bd12e9
...
...
@@ -17,6 +17,34 @@
'xlog_forwarding_enabled': True,
'wendelin_telecom_software_release_url': 'wendelin-telecom-enb-shared-instance',
'xlog_fluentbit_forward_port': 24224,
'nr_nr_handover': {
'event': {
'a3_rsrp': 6
},
'hysteresis': 0,
'time_to_trigger': 480
},
'nr_eutra_handover': {
'event': {
'b1_rsrp': -80
},
'hysteresis': 0,
'time_to_trigger': 100
},
'eutra_eutra_handover': {
'event': {
'a3_rsrp': 6
},
'hysteresis': 0,
'time_to_trigger': 480
},
'eutra_nr_handover': {
'event': {
'b1_rsrp': -80
},
'hysteresis': 0,
'time_to_trigger': 100
}
} %}
{%- set gtp_addr_lo = '127.0.1.1' %}
{%- for k,v in enb_defaults|dictsort %}
...
...
software/simpleran/instance-ors-enb-input-schema.json
View file @
05bd12e9
...
...
@@ -79,7 +79,7 @@
"mme_list"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/mme_list"
,
"default"
:
{
"
1
"
:
{
"
Local core-network
"
:
{
"mme_addr"
:
"127.0.1.100"
}
}
...
...
@@ -88,7 +88,7 @@
"$ref"
:
"instance-enb-input-schema.json#/properties/plmn_list"
,
"description"
:
"List of PLMNs broadcasted by the eNodeB, at most 6 (default: 00101)"
,
"default"
:
{
"
1
"
:
{
"
Test PLMN
"
:
{
"plmn"
:
"00101"
}
}
...
...
@@ -165,7 +165,7 @@
],
"default"
:
640
},
"eutra_handover"
:
{
"eutra_
eutra_
handover"
:
{
"title"
:
"EUTRA Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
@@ -260,7 +260,7 @@
}
}
},
"nr_handover"
:
{
"
eutra_
nr_handover"
:
{
"title"
:
"NR Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
software/simpleran/instance-ors-enb.jinja2.cfg
View file @
05bd12e9
...
...
@@ -17,8 +17,17 @@
"tac": "0x0001",
"root_sequence_index": 204,
"enb_id": "0x1A2D0",
"mme_list": {'1': {'mme_addr': '127.0.1.100'}},
"plmn_list": {"1": {'plmn': '00101'}},
'mme_list': {
'Local Core Network': {
'mme_addr': '127.0.1.100'
}
},
'plmn_list': {
'Test PLNM': {
'plmn': '00101',
'tac': 100
}
},
"ncell_list": {},
"x2_peers": {},
"inactivity_timer": 10000,
...
...
@@ -35,8 +44,17 @@
"cell_id": "0x01",
"gnb_id": "0x12345",
"gnb_id_bits": 28,
"amf_list": {'1': {'amf_addr': '127.0.1.100'}},
"plmn_list": {'1': {'plmn': '00101', 'tac': 100}},
'amf_list': {
'Local Core Network': {
'amf_addr': '127.0.1.100'
}
},
'plmn_list': {
'Test PLNM': {
'plmn': '00101',
'tac': 100
}
},
"ncell_list": {},
"xn_peers": {},
"inactivity_timer": 10000,
...
...
software/simpleran/instance-ors-gnb-input-schema.json
View file @
05bd12e9
...
...
@@ -60,7 +60,7 @@
"amf_list"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/amf_list"
,
"default"
:
{
"
1
"
:
{
"
Local core-network
"
:
{
"amf_addr"
:
"127.0.1.100"
}
}
...
...
@@ -69,7 +69,7 @@
"$ref"
:
"instance-enb-input-schema.json#/properties/plmn_list_5g"
,
"description"
:
"List of PLMNs broadcasted by the gNodeB, at most 12 (default: 00101)"
,
"default"
:
{
"
1
"
:
{
"
Test PLMN
"
:
{
"plmn"
:
"00101"
,
"tac"
:
100
}
...
...
@@ -150,7 +150,7 @@
],
"default"
:
640
},
"nr_handover"
:
{
"nr_
nr_
handover"
:
{
"title"
:
"NR Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
@@ -245,7 +245,7 @@
}
}
},
"eutra_handover"
:
{
"
nr_
eutra_handover"
:
{
"title"
:
"EUTRA Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment