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
103
Merge Requests
103
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
921175fa
Commit
921175fa
authored
Dec 26, 2023
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
99688182
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
14 deletions
+55
-14
software/ors-amarisoft/config/enb.jinja2.cfg
software/ors-amarisoft/config/enb.jinja2.cfg
+4
-4
software/ors-amarisoft/config/out/enb.cfg
software/ors-amarisoft/config/out/enb.cfg
+4
-4
software/ors-amarisoft/slaplte.jinja2
software/ors-amarisoft/slaplte.jinja2
+22
-0
software/ors-amarisoft/slapos-render-config.py
software/ors-amarisoft/slapos-render-config.py
+25
-6
No files found.
software/ors-amarisoft/config/enb.jinja2.cfg
View file @
921175fa
...
@@ -153,11 +153,11 @@
...
@@ -153,11 +153,11 @@
TODO: add info about peers as shared instances - one instance per peer *ENB*.
TODO: add info about peers as shared instances - one instance per peer *ENB*.
then query SlapOS Master about cells configured on that peer ENB and
then query SlapOS Master about cells configured on that peer ENB and
depending on whether LTE and/or NR cells are there add X2 and/or Xn peers #}
depending on whether LTE and/or NR cells are there add X2 and/or Xn peers #}
x2_peers: {{
slapparameter_dict.get('x2_peers', {}) | dictsort
x2_peers: {{
ipeer_dict|dictsort | selectattr('1._.peer_type', '==', 'lte')
| map(attribute='1.x2_addr')
| map(attribute='1.
_.
x2_addr')
| list | tojson }},
| list | tojson }},
xn_peers: {{
slapparameter_dict.get('xn_peers', {}) | dictsort
xn_peers: {{
ipeer_dict|dictsort | selectattr('1._.peer_type', '==', 'nr')
| map(attribute='1.xn_addr')
| map(attribute='1.
_.
xn_addr')
| list | tojson }},
| list | tojson }},
{% if slapparameter_dict.get('mme_list', '') or slapparameter_dict.get('amf_list', '') %}
{% if slapparameter_dict.get('mme_list', '') or slapparameter_dict.get('amf_list', '') %}
...
...
software/ors-amarisoft/config/out/enb.cfg
View file @
921175fa
...
@@ -74,7 +74,7 @@
...
@@ -74,7 +74,7 @@
// Inter-ENB HO
// Inter-ENB HO
{
{
rat: "eutra",
rat: "eutra",
cell_id: 0x12345, // -> PEER1
cell_id: 0x12345, // -> PEER
CELL
1
n_id_cell: 35,
n_id_cell: 35,
dl_earfcn: 700,
dl_earfcn: 700,
tac: 123,
tac: 123,
...
@@ -83,7 +83,7 @@
...
@@ -83,7 +83,7 @@
},
},
{
{
rat: "nr",
rat: "nr",
nr_cell_id: 0x77712, // -> PEER2
nr_cell_id: 0x77712, // -> PEER
CELL
2
gnb_id_bits: 22,
gnb_id_bits: 22,
n_id_cell: 75,
n_id_cell: 75,
dl_nr_arfcn: 520000,
dl_nr_arfcn: 520000,
...
@@ -280,7 +280,7 @@
...
@@ -280,7 +280,7 @@
// Inter-ENB HO
// Inter-ENB HO
{
{
rat: "eutra",
rat: "eutra",
cell_id: 0x12345, // -> PEER1
cell_id: 0x12345, // -> PEER
CELL
1
n_id_cell: 35,
n_id_cell: 35,
dl_earfcn: 700,
dl_earfcn: 700,
tac: 123,
tac: 123,
...
@@ -289,7 +289,7 @@
...
@@ -289,7 +289,7 @@
},
},
{
{
rat: "nr",
rat: "nr",
nr_cell_id: 0x77712, // -> PEER2
nr_cell_id: 0x77712, // -> PEER
CELL
2
gnb_id_bits: 22,
gnb_id_bits: 22,
n_id_cell: 75,
n_id_cell: 75,
dl_nr_arfcn: 520000,
dl_nr_arfcn: 520000,
...
...
software/ors-amarisoft/slaplte.jinja2
View file @
921175fa
...
@@ -317,6 +317,28 @@
...
@@ -317,6 +317,28 @@
{%- endmacro %}
{%- endmacro %}
{#- load_ipeer initializes peer registry.
ipeer_dict keeps peer shared instances: reference -> ipeer
#}
{%- macro load_ipeer(ipeer_dict) %}
{%- set qother = [] %}
{%- for ishared in qshared_instance_list %}
{%- set ref = J(jref_of_shared(ishared)) %}
{%- set _ = ishared['_'] %}
{%- if 'peer_type' in _ %}
{%- set ipeer = ishared %}
{%- do assert(_.peer_type in ('lte', 'nr')) %}
{%- do ipeer_dict.update({ref: ipeer}) %}
{%- else %}
{%- do qother.append(ishared) %}
{%- endif %}
{%- endfor %}
{%- do qshared_instance_list.clear() %}
{%- do qshared_instance_list.extend(qother) %}
{%- endmacro %}
{#- load_ipeercell initializes peer-cell registry.
{#- load_ipeercell initializes peer-cell registry.
ipeercell_dict keeps peer cell shared instances: reference -> ipeercell
ipeercell_dict keeps peer cell shared instances: reference -> ipeercell
...
...
software/ors-amarisoft/slapos-render-config.py
View file @
921175fa
...
@@ -349,9 +349,28 @@ def do_enb():
...
@@ -349,9 +349,28 @@ def do_enb():
#iRU1_SDR1_fLTE2(ienb)
#iRU1_SDR1_fLTE2(ienb)
#iRU2_LOPCOMM_fLTE2(ienb)
#iRU2_LOPCOMM_fLTE2(ienb)
# add 4 peer nodes
if
1
:
ienb
.
ishared
(
'PEER11'
,
{
'peer_type'
:
'lte'
,
'x2_addr'
:
'44.1.1.1'
,
})
ienb
.
ishared
(
'PEER12'
,
{
'peer_type'
:
'lte'
,
'x2_addr'
:
'44.1.1.2'
,
})
ienb
.
ishared
(
'PEER21'
,
{
'peer_type'
:
'nr'
,
'xn_addr'
:
'55.1.1.1'
,
})
ienb
.
ishared
(
'PEER22'
,
{
'peer_type'
:
'nr'
,
'xn_addr'
:
'55.1.1.2'
,
})
# add 2 peer cells
# add 2 peer cells
if
1
:
if
1
:
ienb
.
ishared
(
'PEER1'
,
{
ienb
.
ishared
(
'PEER
CELL
1'
,
{
'cell_type'
:
'lte'
,
'cell_type'
:
'lte'
,
'cell_kind'
:
'enb_peer'
,
'cell_kind'
:
'enb_peer'
,
'e_cell_id'
:
'0x12345'
,
'e_cell_id'
:
'0x12345'
,
...
@@ -360,7 +379,7 @@ def do_enb():
...
@@ -360,7 +379,7 @@ def do_enb():
'bandwidth'
:
'10 MHz'
,
'bandwidth'
:
'10 MHz'
,
'tac'
:
123
,
'tac'
:
123
,
})
})
ienb
.
ishared
(
'PEER2'
,
{
ienb
.
ishared
(
'PEER
CELL
2'
,
{
'cell_type'
:
'nr'
,
'cell_type'
:
'nr'
,
'cell_kind'
:
'enb_peer'
,
'cell_kind'
:
'enb_peer'
,
'nr_cell_id'
:
'0x77712'
,
'nr_cell_id'
:
'0x77712'
,
...
@@ -389,10 +408,7 @@ def do_enb():
...
@@ -389,10 +408,7 @@ def do_enb():
"etc": "etc",
"etc": "etc",
"var": "var"
"var": "var"
},
},
"slapparameter_dict": {
"slapparameter_dict": {}
"x2_peers": {"1": {"x2_addr": "44.1.1.1"}, "2": {"x2_addr": "44.1.1.2"}},
"xn_peers": {"1": {"xn_addr": "55.1.1.1"}, "2": {"xn_addr": "55.1.1.2"}}
}
}"""
%
locals
()
}"""
%
locals
()
j2render
(
'enb.jinja2.cfg'
,
'enb.cfg'
,
json_params
)
j2render
(
'enb.jinja2.cfg'
,
'enb.cfg'
,
json_params
)
...
@@ -400,6 +416,7 @@ def do_enb():
...
@@ -400,6 +416,7 @@ def do_enb():
# drb.cfg + sib.asn for all cells
# drb.cfg + sib.asn for all cells
iru_dict
=
{}
iru_dict
=
{}
icell_dict
=
{}
icell_dict
=
{}
ipeer_dict
=
{}
ipeercell_dict
=
{}
ipeercell_dict
=
{}
for
ishared
in
ienb
.
shared_instance_list
:
for
ishared
in
ienb
.
shared_instance_list
:
ref
=
ref_of_shared
(
ishared
)
ref
=
ref_of_shared
(
ishared
)
...
@@ -410,6 +427,8 @@ def do_enb():
...
@@ -410,6 +427,8 @@ def do_enb():
elif
'cell_type'
in
_
and
_
.
get
(
'cell_kind'
)
in
{
'enb'
,
'enb_peer'
}:
elif
'cell_type'
in
_
and
_
.
get
(
'cell_kind'
)
in
{
'enb'
,
'enb_peer'
}:
idict
=
{
'enb'
:
icell_dict
,
'enb_peer'
:
ipeercell_dict
}
[
_
[
'cell_kind'
]]
idict
=
{
'enb'
:
icell_dict
,
'enb_peer'
:
ipeercell_dict
}
[
_
[
'cell_kind'
]]
idict
[
ref
]
=
ishared
idict
[
ref
]
=
ishared
elif
'peer_type'
in
_
:
ipeer_dict
[
ref
]
=
ishared
else
:
else
:
raise
AssertionError
(
'enb: unknown shared instance %r'
%
(
ishared
,))
raise
AssertionError
(
'enb: unknown shared instance %r'
%
(
ishared
,))
...
...
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