Commit 1f5bb9a0 authored by Lu Xu's avatar Lu Xu 👀

software/ors-amarisoft: add dnsmasq and more parameters for RU

parent 6513d4d7
......@@ -16,7 +16,7 @@
[template]
filename = instance.cfg
md5sum = a0c646cb609946b3535ee1383c401e01
md5sum = 972db83abdb868e242a2ece1a052f800
[amarisoft-stats.jinja2.py]
_update_hash_filename_ = amarisoft-stats.jinja2.py
......@@ -28,15 +28,15 @@ md5sum = c930c28365c685a6066f382c9b5d8893
[lopcomm-rrh-stats.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-stats.jinja2.py
md5sum = 6339dd6c5dcbef95b58ed52a9fadc9a4
md5sum = 6d6cc0c311ff4fe807e919ce3cb3d0d8
[lopcomm-rrh-config.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-config.jinja2.py
md5sum = e0b68a87238282568e0e04c792ec7288
md5sum = b34fe47a73890097fbc6ea6374aeb38d
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = 8fc0bff45b68c89928f0623188470ded
md5sum = 040d9317773ff6e653a4edb9a8e484d2
[template-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
......@@ -64,7 +64,7 @@ md5sum = dcaac06553a3222b14c0013a13f4a149
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum = e4b31e8ced0e2ffa08a877e59b8a9793
md5sum = fa71282e06c0f097b67578e6c7578037
[sib23.asn]
filename = config/sib23.asn
......@@ -84,7 +84,7 @@ md5sum = 48b577daa5b53c2cf7fe2d30ea9c0235
[dnsmasq.jinja2.cfg]
filename = config/dnsmasq.jinja2.cfg
md5sum = 1eb5703c1c60bddea65f3a49f2391173
md5sum = 5f67c7f750e7c7bd9b9839c527a06853
[ims.jinja2.cfg]
filename = config/ims.jinja2.cfg
......@@ -104,7 +104,7 @@ md5sum = e435990eb0a0d4be41efa9bd16dce09b
[cu_config.jinja2.xml]
filename = netconf/cu_config.jinja2.xml
md5sum = 50b8f86cf4ed87be179f6a62284c56d7
md5sum = edd54bb35c13526291924de8d1d3b795
[software.cfg.html]
_update_hash_filename_ = gadget/software.cfg.html
......
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
dhcp-leasefile={{ directory['etc'] }}/dnsmasq.leases
port=5354
dhcp-range=::1,::1,constructor:{{ slap_configuration.get('tap-name', '') }},ra-names,64,12h
dhcp-host={{ slapparameter_dict.get('rrh_mac_addr', '00:0a:00:00:10:20') }},[{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}]
dhcp-option=option6:dns-server,[{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) + 1 }}],[{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) + 2 }}]
dhcp-option=option6:domain-search,bbu.local
enable-ra
ra-param=adv-send-advert
ra-param=adv-managed-flag
ra-param=adv-other-config-flag
ra-param=adv-autonomous
{% else %}
interface={{ slap_configuration.get('tun-name', '') }}
port=5353
{%- set filtered_slave_instance_list = [] %}
{%- for slave_instance in slap_configuration.get('slave-instance-list', []) %}
{%- if slave_instance.get('_', '') != '' %}
......@@ -16,3 +28,4 @@ port=5353
{% for i, slave in enumerate(filtered_slave_instance_list) -%}
address=/{{ slave['subdomain'] }}.{{ slap_configuration['configuration'].get('local_domain', '') }}/{{ slave.get('ip', '') }}
{% endfor -%}
{% endif %}
{% if rf_mode == 'tdd' %}
#define TDD 1
{% else %}
#define TDD 0
{% endif %}
#define N_RB_DL {{ slapparameter_dict.get('n_rb_dl', slap_configuration['configuration.default_lte_n_rb_dl']) }}
#define N_ANTENNA_DL {{ slapparameter_dict.get('n_antenna_dl', slap_configuration['configuration.default_n_antenna_dl']) }}
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', slap_configuration['configuration.default_n_antenna_ul']) }}
......@@ -99,13 +104,10 @@
cell_default: {
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL,
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
// uldl_config: 2,
// sp_config: 7,
{% else %}
#if TDD == 1
uldl_config: 2,
sp_config: 7,
{% endif %}
#endif
n_rb_dl: N_RB_DL,
cyclic_prefix: "normal",
......@@ -160,11 +162,9 @@
pucch_dedicated: {
n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1,
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
// tdd_ack_nack_feedback_mode: "multiplexing",
{% else %}
tdd_ack_nack_feedback_mode: "multiplexing",
{% endif %}
#if TDD == 1
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
#endif
},
pusch_dedicated: {
......@@ -251,7 +251,11 @@
}
],
#if defined(TDD) && TDD == 1
#define T_REORDERING 65
#else
#define T_REORDERING 35
#endif
drb_config: [
{
......
......@@ -3,7 +3,7 @@
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Input Parameters",
"properties": {
{%- if rf_mode == 'tdd' %}
{%- if rf_mode == 'fdd' %}
"rrh": {
"title": "RRH",
"description": "RRH",
......@@ -14,11 +14,47 @@
"Lopcomm ORAN"
]
},
"cpri_mult": {
"title": "cpri_mult",
"description": "Select the CPRI line bit rate in terms of multiple of option 1 (614.4 Mbps). E.g set 4 for option 3, 8 for option 5 and 16 for option 7.",
"type": "number",
"default": 16
},
"cpri_rx_delay": {
"title": "cpri_rx_delay",
"description": "Delay between TX and RX position in CPRI frame. This should be set to the value of (T2a + T3a - Toffset) provided by the RRH specification.",
"type": "number",
"default": 0
},
"cpri_tx_delay": {
"title": "cpri_tx_delay",
"description": "Advance Start of Frame relative to PPS to compensate for delays in transmit line and RRH. This should be set to T12 + T2a.",
"type": "number",
"default": 0
},
"cpri_tx_dbm": {
"title": "cpri_tx_dbm",
"description": "Optional floating point value in dBm (default 0). Needed by ENB/GNB to have a notion of actual output power. Computed from maximum power output of the RRH for a 0dBFS input signal (full scale). ",
"type": "number",
"default": 0
},
"dnsmasq": {
"default": false,
"title": "dnsmasq",
"description": "dnsmasq",
"type": "boolean"
},
"rrh_mac_addr": {
"default": "00:0a:00:00:10:20",
"title": "RRH MAC address",
"description": "RRH MAC address used for DNSMASQ",
"type": "string"
},
"txa0cc00_active": {
"title": "Lopcomm ORAN TX array carriers (TXA0CC00)",
"description": "Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)",
"type": "string",
"default": "ACTIVE",
"default": "INACTIVE",
"enum": [
"ACTIVE",
"INACTIVE"
......@@ -28,12 +64,48 @@
"title": "Lopcomm ORAN RX array carriers (RXA0CC00)",
"description": "Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)",
"type": "string",
"default": "ACTIVE",
"default": "INACTIVE",
"enum": [
"ACTIVE",
"INACTIVE"
]
},
"txa0cc00_center_frequency_earfcn": {
"title": "Lopcomm ORAN Center Frequency EARFCN (TXA0CC00)",
"description": "Lopcomm ORAN Center Frequency EARFCN (TXA0CC00)",
"type": "number",
"default": 300
},
"txa0cc00_center_frequency": {
"title": "Lopcomm ORAN Center Frequency in Hz (TXA0CC00)",
"description": "Lopcomm ORAN Center Frequency in Hz (TXA0CC00)",
"type": "number",
"default": 2140000000
},
"txa0cc00_bandwidth": {
"title": "Lopcomm ORAN bandwidth in Hz (TXA0CC00)",
"description": "Lopcomm ORAN bandwidth in Hz (TXA0CC00)",
"type": "number",
"default": 20000000
},
"rxa0cc00_center_frequency_earfcn": {
"title": "Lopcomm ORAN Center Frequency EARFCN (RXA0CC00)",
"description": "Lopcomm ORAN Center Frequency EARFCN (RXA0CC00)",
"type": "number",
"default": 18300
},
"rxa0cc00_center_frequency": {
"title": "Lopcomm ORAN Center Frequency in Hz (RXA0CC00)",
"description": "Lopcomm ORAN Center Frequency in Hz (RXA0CC00)",
"type": "number",
"default": 1950000000
},
"rxa0cc00_bandwidth": {
"title": "Lopcomm ORAN bandwidth in Hz (RXA0CC00)",
"description": "Lopcomm ORAN bandwidth in Hz (RXA0CC00)",
"type": "number",
"default": 20000000
},
{%- endif %}
"log_phy_debug": {
"title": "Physical layer log debug",
......
......@@ -12,9 +12,16 @@ parts =
lopcomm-rrh-config-template
lopcomm-cu-config
check-lopcomm-vswr.py
check-lopcomm-pa-current.py
check-lopcomm-lof.py
check-lopcomm-rssi.py
check-lopcomm-sync.py
check-lopcomm-config-log.py
check-lopcomm-stats-log.py
check-cpri-lock.py
{% endif %}
{% if slapparameter_dict.get("dnsmasq", None) %}
dnsmasq-service
{% endif %}
check-sdr-busy.py
check-baseband-latency.py
......@@ -73,7 +80,6 @@ configuration.default_n_antenna_ul = {{ default_n_antenna_ul }}
recipe = slapos.cookbook:mkdirectory
software = {{ buildout_directory }}
home = ${buildout:directory}
etc = ${:home}/etc
var = ${:home}/var
etc = ${:home}/etc
bin = ${:home}/bin
......@@ -131,6 +137,25 @@ environment =
LD_LIBRARY_PATH={{ openssl_location }}/lib
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
{% if slapparameter_dict.get("dnsmasq", None) %}
[dnsmasq-service]
recipe = slapos.cookbook:wrapper
port = 5353
ip = ${slap-configuration:tun-ipv4-addr}
command-line = {{ dnsmasq_location }}/sbin/dnsmasq --conf-file={{ dnsmasq_config_path }} -x ${directory:run}/dnsmasq.pid --local-service --keep-in-foreground
wrapper-path = ${directory:service}/dnsmasq
mode = 0775
hash-files =
{{ dnsmasq_config_path }}
#[dnsmasq-listen-promise]
#<= monitor-promise-base
#promise = check_socket_listening
#name = dnsmasq-port-listening.py
#config-host = ${dnsmasq-service:ip}
#config-port = ${dnsmasq-service:port}
{% endif %}
[xamari-xlog-script]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
......@@ -194,12 +219,14 @@ json-log-output = ${directory:var}/log/lopcomm-rrh-stats.json.log
cfg-json-log-output = ${directory:var}/log/lopcomm-rrh-config.json.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key json_log_file :json-log-output
key cfg_json_log_file :cfg-json-log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_stats_template }}
output = ${directory:bin}/lopcomm-rrh-stats.py
......@@ -215,12 +242,14 @@ extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-config.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw CreateProcessingEle_template {{ CreateProcessingEle_template }}
key cu_config_template lopcomm-cu-config:output
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_config_template }}
output = ${directory:script}/lopcomm-rrh-config.py
......@@ -252,6 +281,7 @@ hash-files =
[config-base]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
extra-context =
context =
section directory directory
section slap_configuration slap-configuration
......@@ -260,6 +290,7 @@ context =
raw gtp_addr_v4 {{ lan_ipv4 }}
raw sib23 {{ sib23 }}
import netaddr netaddr
${:extra-context}
[enb-config]
<= config-base
......@@ -269,6 +300,8 @@ url = ${enb-config-dl:target}
url = {{ enb_template }}
{% endif %}
output = ${directory:etc}/enb.cfg
extra-context =
raw rf_mode rf_mode
[publish-connection-information]
<= monitor-publish
......@@ -325,6 +358,20 @@ config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-pa-current.py]
<= macro.promise
promise = check_lopcomm_pa_current
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-sync.py]
<= macro.promise
promise = check_lopcomm_sync
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-lof.py]
<= macro.promise
promise = check_lopcomm_lof
......@@ -332,6 +379,20 @@ config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-stats-log.py]
<= macro.promise
promise = check_lopcomm_stats_log
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-stats-log = ${lopcomm-rrh-stats-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-config-log.py]
<= macro.promise
promise = check_lopcomm_config_log
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-config-log = ${lopcomm-rrh-config-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-cpri-lock.py]
<= macro.promise
promise = check_cpri_lock
......
......@@ -3,36 +3,6 @@
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Input Parameters",
"properties": {
"rrh": {
"title": "RRH",
"description": "RRH",
"type": "string",
"default": "SDR",
"enum": [
"SDR",
"Lopcomm ORAN"
]
},
"txa0cc00_active": {
"title": "Lopcomm ORAN TX array carriers (TXA0CC00)",
"description": "Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)",
"type": "string",
"default": "ACTIVE",
"enum": [
"ACTIVE",
"INACTIVE"
]
},
"rxa0cc00_active": {
"title": "Lopcomm ORAN RX array carriers (RXA0CC00)",
"description": "Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)",
"type": "string",
"default": "ACTIVE",
"enum": [
"ACTIVE",
"INACTIVE"
]
},
"log_phy_debug": {
"title": "Physical layer log debug",
"description": "Enable debug mode for physical layer logs",
......
......@@ -116,6 +116,10 @@ extra-context =
raw default_n_antenna_ul ${default-params:default-n-antenna-ul}
raw min_frequency ${default-params:min-frequency}
raw max_frequency ${default-params:max-frequency}
raw rf_mode ${rf-mode:rf-mode}
raw dnsmasq_template ${dnsmasq.jinja2.cfg:target}
raw dnsmasq_location ${dnsmasq:location}
key dnsmasq_config_path dnsmasq-config:output
[dynamic-template-gnb]
< = jinja2-template-base
......@@ -228,4 +232,8 @@ extensions = jinja2.ext.do
output = $${directory:etc}/$${:filename}
context =
import json_module json
import netaddr netaddr
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
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