Commit 050e86e0 authored by Joanne Hugé's avatar Joanne Hugé

software/ors-amarisoft: allow eNB to connect to external MME

parent db151f29
......@@ -16,7 +16,7 @@
[template]
filename = instance.cfg
md5sum = b65347ea7c1936c2926ef11258cea602
md5sum = 24a04378744c27ecec51cf718bdff50b
[template-lte-enb-epc]
_update_hash_filename_ = instance-enb-epc.jinja2.cfg
......@@ -24,7 +24,7 @@ md5sum = 0883225f978255ecd343416759c1c5a4
[template-lte-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = b97de2b1f60059e2a1b394597123672d
md5sum = 4789d011c4ecd1dcc774d8153cfb0039
[template-lte-gnb-epc]
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
......@@ -32,7 +32,7 @@ md5sum = 5f8a4d85b26a7181fc8b16e588b88e1e
[template-lte-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum = 535a41b726c132dcf0135150e5470660
md5sum = cb12ba4b25f32f1db31495e6380e1f64
[template-lte-epc]
_update_hash_filename_ = instance-epc.jinja2.cfg
......@@ -44,11 +44,11 @@ md5sum = d33163012d6c98efc59161974c649557
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum = d841debc51d9f12555a47d1556a6a3c1
md5sum = d4150f695058ae5103b5f2758bf34dbc
[gnb.jinja2.cfg]
filename = config/gnb.jinja2.cfg
md5sum = da64ea9c5003f40987a8bba3f18e8839
md5sum = bc9b853100abf60869b689c8ba7766b3
[ltelogs.jinja2.sh]
filename = ltelogs.jinja2.sh
......
......@@ -56,15 +56,15 @@
{
/* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */
mme_addr: "127.0.1.100"
mme_addr: "{{ slapparameter_dict.get('mme_addr', '127.0.1.100') }}"
},
],
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "{{ slapparameter_dict.get('gtp_addr', '127.0.1.1') }}",
gtp_addr: "{{ gtp_addr }}",
/* high 20 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D0,
enb_id: {{ slapparameter_dict.get('enb_id', '0x1A2D0') }},
/* list of cells */
cell_list: [
......@@ -275,4 +275,11 @@
/* DRB configuration */
drb_config: "{{ directory['software'] }}/enb/config/drb.cfg",
},
{% if slapparameter_dict.get('x2_peers', None) %}
x2_peers: [
{%- for p in slapparameter_dict['x2_peers'].split(',') %}
"{{ p }}",
{%- endfor -%}
]
{% endif %}
}
......@@ -37,15 +37,15 @@
amf_list: [
{
/* address of AMF for NGAP connection. Must be modified if the AMF runs on a different host. */
amf_addr: "127.0.1.100",
amf_addr: "{{ slapparameter_dict.get('amf_addr', '127.0.1.100') }}",
},
],
/* GTP bind address (=address of the ethernet interface connected to
the AMF). Must be modified if the AMF runs on a different host. */
gtp_addr: "{{ slapparameter_dict.get('gtp_addr', '127.0.1.1') }}",
gtp_addr: "{{ gtp_addr }}",
gnb_id_bits: 28,
gnb_id: 0x12345,
gnb_id: {{ slapparameter_dict.get('gnb_id', '0x12345') }},
nr_support: true,
......@@ -620,5 +620,12 @@
drb_config: "{{ directory['software'] }}/enb/config/drb_nr.cfg",
},
{% if slapparameter_dict.get('xn_peers', None) %}
xn_peers: [
{%- for p in slapparameter_dict['xn_peers'].split(',') %}
"{{ p }}",
{%- endfor -%}
]
{% endif %}
}
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": {{ default_lte_n_rb_dl }}
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
......@@ -66,6 +66,7 @@ rendered = ${directory:bin}/${:_buildout_section_name_}
mode = 0700
template =
inline:#!/bin/sh
sudo /opt/amarisoft/rm-tmp-lte | true;
{{ enb }}/lteenb ${directory:etc}/enb.cfg >> ${directory:log}/enb-output.cfg 2>> ${directory:log}/enb-output.cfg
### eNodeB (enb)
......@@ -92,6 +93,7 @@ context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
raw gtp_addr {{ local_ipv4 }}
import netaddr netaddr
[lte-enb-config]
......@@ -100,12 +102,20 @@ template = {{ enb_template }}
rendered = ${directory:etc}/enb.cfg
[publish-connection-information]
recipe = slapos.cookbook:publish.serialised
{% if slapparameter_dict.get("name", None) == None %}
<= monitor-publish
{% endif %}
recipe = slapos.cookbook:publish
monitor-base-url = ${monitor-instance-parameter:monitor-base-url}
{% if slapparameter_dict.get("name", None) == None %}
ipv4 = {{ local_ipv4 }}
{% endif %}
{% if slapparameter_dict.get("name", None) %}
[monitor-instance-parameter]
monitor-title = {{ slapparameter_dict['name'] | string }}
password = {{ slapparameter_dict['monitor-password'] | string }}
{% endif %}
# Add custom promise to check if /dev/sdr0 is busy
[sdr-busy-promise]
......
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": {{ default_nr_bandwidth }}
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
......@@ -66,6 +66,7 @@ rendered = ${directory:bin}/${:_buildout_section_name_}
mode = 0700
template =
inline:#!/bin/sh
sudo /opt/amarisoft/rm-tmp-lte | true;
{{ enb }}/lteenb ${directory:etc}/gnb.cfg >> ${directory:log}/gnb-output.cfg 2>> ${directory:log}/gnb-output.cfg
### eNodeB (enb)
......@@ -92,6 +93,7 @@ context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
raw gtp_addr {{ local_ipv4 }}
import netaddr netaddr
[lte-gnb-config]
......@@ -100,12 +102,20 @@ template = {{ gnb_template }}
rendered = ${directory:etc}/gnb.cfg
[publish-connection-information]
recipe = slapos.cookbook:publish.serialised
{% if slapparameter_dict.get("name", None) == None %}
<= monitor-publish
{% endif %}
recipe = slapos.cookbook:publish
monitor-base-url = ${monitor-instance-parameter:monitor-base-url}
{% if slapparameter_dict.get("name", None) == None %}
ipv4 = {{ local_ipv4 }}
{% endif %}
{% if slapparameter_dict.get("name", None) %}
[monitor-instance-parameter]
monitor-title = {{ slapparameter_dict['name'] | string }}
password = {{ slapparameter_dict['monitor-password'] | string }}
{% endif %}
# Add custom promise to check if /dev/sdr0 is busy
[sdr-busy-promise]
......
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -26,6 +26,27 @@
"description": "number of DL resource blocks",
"type": "number",
"default": 100
},
"mme_addr": {
"title": "MME Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"enb_id": {
"title": "eNB ID",
"description": "eNB ID",
"type": "string",
"default": "0x1A2D0"
},
"x2_peers": {
"title": "X2 peers",
"description": "X2 peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -32,6 +32,27 @@
"description": "Downlink Bandwidth (in MHz)",
"type": "number",
"default": 40
},
"amf_addr": {
"title": "AMF Address",
"description": "IPv4 of the core network",
"type": "string",
"default": "127.0.0.100"
},
"gnb_id": {
"title": "gNB ID",
"description": "gNB ID",
"type": "string",
"default": "0x12345"
},
"xn_peers": {
"title": "XN peers",
"description": "XN peers IP addresses, separated by a comma",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
}
\ No newline at end of file
......@@ -36,6 +36,20 @@ gnb = dynamic-template-lte-gnb:rendered
epc = dynamic-template-lte-epc:rendered
RootSoftwareInstance = $${:enb-epc}
[local-ipv4-address]
recipe = slapos.recipe.build
init =
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(('1.1.1.1', 1))
ip = s.getsockname()[0]
except Exception:
ip = '127.0.0.1'
finally:
s.close()
options['local-ipv4'] = ip
[dynamic-template-lte-enb-epc]
< = jinja2-template-base
template = ${template-lte-enb-epc:target}
......@@ -43,6 +57,7 @@ filename = instance-lte-enb-epc.cfg
extensions = jinja2.ext.do
extra-context =
raw monitor_template ${monitor2-template:rendered}
key local_ipv4 local-ipv4-address:local-ipv4
[dynamic-template-lte-gnb-epc]
< = jinja2-template-base
......@@ -51,6 +66,7 @@ filename = instance-lte-gnb-epc.cfg
extensions = jinja2.ext.do
extra-context =
raw monitor_template ${monitor2-template:rendered}
key local_ipv4 local-ipv4-address:local-ipv4
[dynamic-template-lte-enb]
< = jinja2-template-base
......@@ -72,6 +88,7 @@ extra-context =
raw default_lte_rx_gain ${enb:default-lte-rx-gain}
raw min_frequency ${enb:min-frequency}
raw max_frequency ${enb:max-frequency}
key local_ipv4 local-ipv4-address:local-ipv4
[dynamic-template-lte-gnb]
< = jinja2-template-base
......@@ -93,6 +110,7 @@ extra-context =
raw default_nr_rx_gain ${enb:default-nr-rx-gain}
raw min_frequency ${enb:min-frequency}
raw max_frequency ${enb:max-frequency}
key local_ipv4 local-ipv4-address:local-ipv4
[dynamic-template-lte-epc]
< = jinja2-template-base
......
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