diff --git a/configs/310014.yaml.in b/configs/310014.yaml.in
index c424df939..475fc9fff 100644
--- a/configs/310014.yaml.in
+++ b/configs/310014.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -106,14 +106,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -170,14 +170,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -188,14 +188,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/csfb.yaml.in b/configs/csfb.yaml.in
index bd279a4d5..90fe516f7 100644
--- a/configs/csfb.yaml.in
+++ b/configs/csfb.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -140,14 +140,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -204,14 +204,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -222,14 +222,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/meson.build b/configs/meson.build
index f5fdcfdcc..ce78ca9b4 100644
--- a/configs/meson.build
+++ b/configs/meson.build
@@ -22,13 +22,13 @@ conf_data.set('sysconfdir', sysconfdir)
conf_data.set('libdir', libdir)
conf_data.set('localstatedir', localstatedir)
-open5gs_builddir = meson.build_root()
-conf_data.set('open5gs_builddir', open5gs_builddir)
+build_configs_dir = join_paths(open5gs_build_dir, 'configs')
+conf_data.set('build_configs_dir', build_configs_dir)
-freediameter_extensions_builddir = join_paths(
- meson.build_root(), 'subprojects', 'freeDiameter', 'extensions')
-conf_data.set('freediameter_extensions_builddir',
- freediameter_extensions_builddir)
+build_subprojects_freeDiameter_extensions_dir = join_paths(
+ open5gs_build_dir, 'subprojects', 'freeDiameter', 'extensions')
+conf_data.set('build_subprojects_freeDiameter_extensions_dir',
+ build_subprojects_freeDiameter_extensions_dir)
example_conf = '''
sample.yaml
diff --git a/configs/non3gpp.yaml.in b/configs/non3gpp.yaml.in
index f8f6bd9b6..3408f8142 100644
--- a/configs/non3gpp.yaml.in
+++ b/configs/non3gpp.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -106,14 +106,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -172,14 +172,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -192,14 +192,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/open5gs/amf.yaml.in b/configs/open5gs/amf.yaml.in
index 0a69f3bd0..f84ed59b8 100644
--- a/configs/open5gs/amf.yaml.in
+++ b/configs/open5gs/amf.yaml.in
@@ -344,7 +344,7 @@ amf:
ngap:
- addr: 127.0.0.5
metrics:
- addr: 127.0.0.5
+ - addr: 127.0.0.5
port: 9090
guami:
- plmn_id:
diff --git a/configs/open5gs/mme.yaml.in b/configs/open5gs/mme.yaml.in
index 384d8f885..5ae432983 100644
--- a/configs/open5gs/mme.yaml.in
+++ b/configs/open5gs/mme.yaml.in
@@ -255,8 +255,8 @@ mme:
gtpc:
- addr: 127.0.0.2
metrics:
- addr: 127.0.0.2
- port: 9090
+ - addr: 127.0.0.2
+ port: 9090
gummei:
plmn_id:
mcc: 999
diff --git a/configs/open5gs/smf.yaml.in b/configs/open5gs/smf.yaml.in
index 9b7ad5083..8cf27a438 100644
--- a/configs/open5gs/smf.yaml.in
+++ b/configs/open5gs/smf.yaml.in
@@ -517,7 +517,7 @@ smf:
- addr: 127.0.0.4
- addr: ::1
metrics:
- addr: 127.0.0.4
+ - addr: 127.0.0.4
port: 9090
subnet:
- addr: 10.45.0.1/16
diff --git a/configs/sample.yaml.in b/configs/sample.yaml.in
index 05ee07579..6b679b745 100644
--- a/configs/sample.yaml.in
+++ b/configs/sample.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -55,6 +55,9 @@ mme:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
+ metrics:
+ addr: 127.0.0.2
+ port: 9090
gummei:
plmn_id:
mcc: 999
@@ -91,6 +94,9 @@ smf:
gtpu:
- addr: 127.0.0.4
- addr: ::1
+ metrics:
+ addr: 127.0.0.4
+ port: 9090
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
@@ -106,14 +112,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -148,6 +154,9 @@ amf:
port: 7777
ngap:
- addr: 127.0.0.5
+ metrics:
+ addr: 127.0.0.5
+ port: 9090
guami:
- plmn_id:
mcc: 999
@@ -195,14 +204,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -213,14 +222,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/slice.yaml.in b/configs/slice.yaml.in
index 11edcd7fb..bbb299902 100644
--- a/configs/slice.yaml.in
+++ b/configs/slice.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -106,14 +106,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -174,14 +174,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -192,14 +192,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/srslte.yaml.in b/configs/srslte.yaml.in
index 5bcf471f8..d622da78b 100644
--- a/configs/srslte.yaml.in
+++ b/configs/srslte.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -106,14 +106,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -170,14 +170,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -188,14 +188,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/volte.yaml.in b/configs/volte.yaml.in
index c408ff6ab..1fdaa3cc2 100644
--- a/configs/volte.yaml.in
+++ b/configs/volte.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -109,14 +109,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -173,14 +173,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -193,14 +193,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/configs/vonr.yaml.in b/configs/vonr.yaml.in
index de859b7cc..a40fbe18c 100644
--- a/configs/vonr.yaml.in
+++ b/configs/vonr.yaml.in
@@ -5,13 +5,13 @@ logger:
tls:
enabled: no
server:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testserver.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testserver.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testserver.key
+ cert: @build_configs_dir@/open5gs/tls/testserver.crt
client:
- cacert: @open5gs_builddir@/configs/open5gs/tls/ca.crt
- key: @open5gs_builddir@/configs/open5gs/tls/testclient.key
- cert: @open5gs_builddir@/configs/open5gs/tls/testclient.crt
+ cacert: @build_configs_dir@/open5gs/tls/ca.crt
+ key: @build_configs_dir@/open5gs/tls/testclient.key
+ cert: @build_configs_dir@/open5gs/tls/testclient.crt
parameter:
# no_nrf: true
@@ -39,14 +39,14 @@ mme:
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
@@ -109,14 +109,14 @@ smf:
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
@@ -173,14 +173,14 @@ hss:
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
@@ -191,14 +191,14 @@ pcrf:
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- - module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- - module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- - module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- - module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- - module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca.fdx
- - module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
+ - module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
diff --git a/debian/control b/debian/control
index 271c2c361..395737437 100644
--- a/debian/control
+++ b/debian/control
@@ -7,6 +7,7 @@ Build-Depends: debhelper (>= 11),
git,
pkg-config,
meson (>= 0.43.0),
+ cmake,
flex,
bison,
libgnutls28-dev,
diff --git a/docker/README.md b/docker/README.md
index 4b7793495..082834ad4 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -98,7 +98,7 @@ export DEBEMAIL='acetcom@gmail.com'
```
$ dch -i
- $ meson subprojects download freeDiameter
+ $ meson subprojects download freeDiameter prometheus-client-c
$ debuild -S -uc -us -d
$ osc co home:acetcom:open5gs latest
$ cd home\:acetcom\:open5gs/latest/
@@ -110,7 +110,7 @@ export DEBEMAIL='acetcom@gmail.com'
```
$ dch -i
- $ meson subprojects download freeDiameter
+ $ meson subprojects download freeDiameter prometheus-client-c
$ debuild -S -d
$ dput ppa:open5gs/latest *.source.changes
```
diff --git a/docker/alpine/latest/base/Dockerfile b/docker/alpine/latest/base/Dockerfile
index 9bda898bc..69c43e86c 100644
--- a/docker/alpine/latest/base/Dockerfile
+++ b/docker/alpine/latest/base/Dockerfile
@@ -10,6 +10,7 @@ RUN apk update && \
bison \
flex \
git \
+ cmake \
meson \
bash \
linux-headers \
diff --git a/docker/debian/latest/base/Dockerfile b/docker/debian/latest/base/Dockerfile
index c7de86eb2..072628d16 100644
--- a/docker/debian/latest/base/Dockerfile
+++ b/docker/debian/latest/base/Dockerfile
@@ -16,6 +16,7 @@ RUN apt-get update && \
flex \
bison \
git \
+ cmake \
meson \
libsctp-dev \
libgnutls28-dev \
diff --git a/docker/debian/stretch b/docker/debian/stretch
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/debian/stretch
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/fedora/29 b/docker/fedora/29
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/fedora/29
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/fedora/30 b/docker/fedora/30
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/fedora/30
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/fedora/31 b/docker/fedora/31
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/fedora/31
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/fedora/32 b/docker/fedora/32
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/fedora/32
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/fedora/33 b/docker/fedora/33
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/fedora/33
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/fedora/latest/base/Dockerfile b/docker/fedora/latest/base/Dockerfile
index d85a5ae05..a018aea81 100644
--- a/docker/fedora/latest/base/Dockerfile
+++ b/docker/fedora/latest/base/Dockerfile
@@ -12,6 +12,7 @@ RUN dnf -y install \
flex \
bison \
git \
+ cmake \
lksctp-tools-devel \
libidn-devel \
gnutls-devel \
diff --git a/docker/ubuntu/groovy b/docker/ubuntu/groovy
deleted file mode 120000
index fdbdcf25e..000000000
--- a/docker/ubuntu/groovy
+++ /dev/null
@@ -1 +0,0 @@
-../debian/latest
\ No newline at end of file
diff --git a/docker/ubuntu/hirsute b/docker/ubuntu/hirsute
deleted file mode 120000
index b9bc2fdcb..000000000
--- a/docker/ubuntu/hirsute
+++ /dev/null
@@ -1 +0,0 @@
-latest
\ No newline at end of file
diff --git a/docker/debian/buster b/docker/ubuntu/jammy
similarity index 100%
rename from docker/debian/buster
rename to docker/ubuntu/jammy
diff --git a/docker/debian/sid b/docker/ubuntu/kinetic
similarity index 100%
rename from docker/debian/sid
rename to docker/ubuntu/kinetic
diff --git a/docker/ubuntu/latest/base/Dockerfile b/docker/ubuntu/latest/base/Dockerfile
index c7de86eb2..072628d16 100644
--- a/docker/ubuntu/latest/base/Dockerfile
+++ b/docker/ubuntu/latest/base/Dockerfile
@@ -16,6 +16,7 @@ RUN apt-get update && \
flex \
bison \
git \
+ cmake \
meson \
libsctp-dev \
libgnutls28-dev \
diff --git a/docs/_docs/guide/02-building-open5gs-from-sources.md b/docs/_docs/guide/02-building-open5gs-from-sources.md
index a98fb8af8..226ee8276 100644
--- a/docs/_docs/guide/02-building-open5gs-from-sources.md
+++ b/docs/_docs/guide/02-building-open5gs-from-sources.md
@@ -60,7 +60,7 @@ $ sudo ip link set ogstun up
Install the dependencies for building the source code.
```bash
-$ sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev libtalloc-dev meson
+$ sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git cmake libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev libtalloc-dev meson
```
Git clone.
diff --git a/docs/_docs/platform/02-centos.md b/docs/_docs/platform/02-centos.md
index 42ea78eae..414cf2f23 100644
--- a/docs/_docs/platform/02-centos.md
+++ b/docs/_docs/platform/02-centos.md
@@ -86,13 +86,13 @@ $ sudo dnf config-manager --set-enabled elrepo-testing
Create a repository file to install the MongoDB packages:
```bash
-$ sudo sh -c 'cat << EOF > /etc/yum.repos.d/mongodb-org-3.6.repo
-[mongodb-org-3.6]
+$ sudo sh -c 'cat << EOF > /etc/yum.repos.d/mongodb-org-6.0.repo
+[mongodb-org-6.0]
name=MongoDB Repository
-baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/
+baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
-gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
+gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF'
```
@@ -109,7 +109,7 @@ a base CentOS Stream 8 installation.
```bash
-$ sudo dnf install python3 meson ninja-build gcc gcc-c++ flex bison git lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel libnghttp2-devel libtalloc-devel
+$ sudo dnf install python3 meson cmake ninja-build gcc gcc-c++ flex bison git cmake lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel libnghttp2-devel libtalloc-devel
```
### Install iproute IP interface tools.
@@ -341,6 +341,7 @@ open5gs-hssd open5gs-pcfd open5gs-sgwud open5gs-upfd
Install Node.js:
```bash
+$ curl -sL https://rpm.nodesource.com/setup_18.x | sudo -E bash -
$ sudo dnf install nodejs
```
@@ -354,5 +355,5 @@ $ npm ci
The WebUI runs as an [npm](https://www.npmjs.com/) script.
```bash
-$ npm run dev
+$ DB_URI=mongodb://127.0.0.1/open5gs HOSTNAME=0.0.0.0 npm run dev
```
diff --git a/docs/_docs/platform/03-fedora.md b/docs/_docs/platform/03-fedora.md
index 526b159a4..0f218b3f2 100644
--- a/docs/_docs/platform/03-fedora.md
+++ b/docs/_docs/platform/03-fedora.md
@@ -70,7 +70,7 @@ $ ip link show
Install the depedencies for building the source code.
```bash
-$ sudo dnf install python3 ninja-build gcc gcc-c++ flex bison git lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel libnghttp2-devel libtalloc-devel iproute
+$ sudo dnf install python3 ninja-build gcc gcc-c++ flex bison git cmake lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel libnghttp2-devel libtalloc-devel iproute
```
Install Meson
diff --git a/docs/_docs/platform/05-macosx-apple-silicon.md b/docs/_docs/platform/05-macosx-apple-silicon.md
index b22e00c9b..126c1e4fa 100644
--- a/docs/_docs/platform/05-macosx-apple-silicon.md
+++ b/docs/_docs/platform/05-macosx-apple-silicon.md
@@ -90,13 +90,13 @@ $ sudo pfctl -e -f /etc/pf.anchors/org.open5gs
Install the depedencies for building the source code.
```bash
-$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 pkg-config bison libusrsctp libtins talloc
+$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 pkg-config bison libusrsctp libtins talloc cmake
```
Configure Homebrew PATH
```bash
$ export PATH="/opt/homebrew/opt/bison/bin:/opt/homebrew/bin:$PATH"
-$ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH"
+$ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
$ export LIBRARY_PATH=/opt/homebrew/lib
$ export C_INCLUDE_PATH=/opt/homebrew/include
$ export CPLUS_INCLUDE_PATH=/opt/homebrew/include
diff --git a/docs/_docs/platform/06-macosx-intel.md b/docs/_docs/platform/06-macosx-intel.md
index f29b30ee4..a006d9d5a 100644
--- a/docs/_docs/platform/06-macosx-intel.md
+++ b/docs/_docs/platform/06-macosx-intel.md
@@ -90,7 +90,7 @@ $ sudo pfctl -e -f /etc/pf.anchors/org.open5gs
Install the depedencies for building the source code.
```bash
-$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 pkg-config libusrsctp libtins talloc
+$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 pkg-config libusrsctp libtins talloc cmake
```
Install Bison PATH
@@ -101,7 +101,7 @@ $ export PATH="/usr/local/opt/bison/bin:$PATH"
Configure OpenSSL PKG_CONFIG_PATH
```bash
-$ export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH"
+$ export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
```
Install Meson using Homebrew.
diff --git a/docs/_docs/platform/07-freebsd.md b/docs/_docs/platform/07-freebsd.md
index 6a872c118..0ee173496 100644
--- a/docs/_docs/platform/07-freebsd.md
+++ b/docs/_docs/platform/07-freebsd.md
@@ -3,10 +3,10 @@ title: FreeBSD
head_inline: ""
---
-This guide is based on **FreeBSD-11.4-STABLE**.
+This guide is based on **FreeBSD-13.1-STABLE**.
{: .blue}
-## Install **FreeBSD-11.4-STABLE** from Vagrant box (optional)
+## Install **FreeBSD-13.1-STABLE** from Vagrant box (optional)
---
Vagrant provides a simple way to create and deploy Virtual Machines from
pre-built images using VirtualBox, libvirt, or VMWare as a hypervisor engine.
@@ -20,13 +20,13 @@ The instructions to install Vagrant are provided at
[vagrantup.com](https://www.vagrantup.com/).
-### Create a FreeBSD-11.4-STABLE Virtual Machine using Vagrant
+### Create a FreeBSD-13.1-STABLE Virtual Machine using Vagrant
---
Use the supplied `Vagrantfile` in the `vagrant` directory to create the
virtual machine.
-Note that this Vagrantfile is identical to the base FreeBSD 11 box, with
+Note that this Vagrantfile is identical to the base FreeBSD 13 box, with
the exception that the amount of virtual memory has been increased to 1GB:
```bash
@@ -37,7 +37,7 @@ vagrant up --provider virtualbox
### Log into the newly created FreeBSD VM
---
-Use SSH to log into the FreeBSD 11 VM:
+Use SSH to log into the FreeBSD 13 VM:
```bash
vagrant ssh
@@ -45,17 +45,17 @@ vagrant ssh
Note that the Open5GS source is *not* copied into the VM. The instructions
below provide the step by step instructions for setting up Open5GS for
-either a bare metal or virtual FreeBSD 11 system.
+either a bare metal or virtual FreeBSD 13 system.
The rest of the commands below are performed inside the FreeBSD VM as the
-user 'vagrant', or on your bare metal FreeBSD 11 system as any normal user.
+user 'vagrant', or on your bare metal FreeBSD 13 system as any normal user.
### Getting MongoDB
---
Install MongoDB with package manager.
```bash
-$ sudo pkg install mongodb44
+$ sudo pkg install mongodb50
```
Run MongoDB server.
@@ -102,12 +102,37 @@ $ sudo sysctl -w net.inet6.ip6.forwarding=1
`$ sudo ./misc/netconf.sh`
{: .notice--info}
+### Load the SCTP kernel module
+---
+
+Update `/etc/rc.conf` to load the SCTP kernel module.
+
+```diff
+$ diff -u /etc/rc.conf.old /etc/rc.conf.new
+--- /etc/rc.conf.old 2022-11-19 12:35:07.718151000 +0000
++++ /etc/rc.conf.new 2022-11-19 12:34:59.160560000 +0000
+@@ -11,3 +11,4 @@
+ sendmail_submit_enable="NO"
+ sendmail_outbound_enable="NO"
+ sendmail_msp_queue_enable="NO"
++kld_list="sctp"
+```
+
+This is important that you must reboot as shown below.
+
+```bash
+[host] $ vagrant halt
+[host] $ vagrant up --provider virtualbox
+[host] $ # ssh back into the VM after it reboots...
+[host] $ vagrant ssh
+```
+
### Building Open5GS
---
Install the depedencies for building the source code.
```bash
-$ sudo pkg install meson ninja gcc bison gsed pkgconf git mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 talloc
+$ sudo pkg install meson cmake ninja gcc bison gsed pkgconf git cmake mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 talloc
```
Configure gcc PATH
@@ -136,7 +161,7 @@ $ meson build --prefix=`pwd`/install
$ ninja -C build
```
-**Note:** No source code changes are required for FreeBSD 11.x version. However, in FreeBSD 12.x version, we'll getting a crash with segmentation fault when calling basename(3). To avoid this, you need to change the freeDiameter source code as below.
+**Note:** No source code changes are required for FreeBSD 11.x version. However, in FreeBSD 12.x/13.x version, we'll getting a crash with segmentation fault when calling basename(3). To avoid this, you need to change the freeDiameter source code as below.
{: .blue}
```diff
@@ -200,7 +225,7 @@ $ cd ../
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
```bash
-$ sudo pkg install node
+$ sudo pkg install npm
```
Install the dependencies to run WebUI
diff --git a/docs/_docs/platform/08-alpine.md b/docs/_docs/platform/08-alpine.md
index 09b691ff5..bb05e4d53 100644
--- a/docs/_docs/platform/08-alpine.md
+++ b/docs/_docs/platform/08-alpine.md
@@ -53,7 +53,7 @@ $ ip link show
Install the depedencies for building the source code.
```bash
-$ sudo apk add alpine-sdk bison flex git meson bash sudo linux-headers bsd-compat-headers yaml-dev lksctp-tools-dev gnutls-dev libgcrypt-dev libidn-dev mongo-c-driver-dev libmicrohttpd-dev curl-dev nghttp2-dev talloc-dev
+$ sudo apk add alpine-sdk bison flex git cmake meson bash sudo linux-headers bsd-compat-headers yaml-dev lksctp-tools-dev gnutls-dev libgcrypt-dev libidn-dev mongo-c-driver-dev libmicrohttpd-dev curl-dev nghttp2-dev talloc-dev
```
Git clone.
diff --git a/docs/_docs/tutorial/04-metrics-prometheus.md b/docs/_docs/tutorial/04-metrics-prometheus.md
index 8e36bb14b..72b314c44 100644
--- a/docs/_docs/tutorial/04-metrics-prometheus.md
+++ b/docs/_docs/tutorial/04-metrics-prometheus.md
@@ -12,25 +12,14 @@ When this method is used, any open5gs program exporting metrics becomes a
Prometheus server, which is basically an HTTP server serving Prometheus data to
the Prometheus scrapper.
-Note: Only open5gs-smfd supports exporting metrics so far, though other may
+Note: AMF, MME and SMF support exporting metrics so far, though other may
hopefully follow soon.
#### 1. Enable Prometheus support during build
Open5GS programs use a generic internal API available in libogsmetrics. This
library implements the API based on configuration passed during open5gs build
-time. By default, the library will be built using the `void` implementation,
-which is basically a NO-OP implementation.
-
-In order to use the Prometheus, the `prometheus` metrics implementation needs to
-be selected at build time:
-
-```
-meson configure -Dmetrics_impl=prometheus build
-```
-
-This will enable building the implementation under lib/metrics/prometheus/,
-which uses:
+time. By default, the library will be built under lib/metrics/prometheus/, which uses:
* prometheus-client-c project (libprom): To generate the Prometheus expected
output format of the metrics
@@ -45,9 +34,8 @@ building the prometheus libmetrics implementation.
#### 2. Configuring for runtime
-By default the created Prometheus HTTP server will be listening on `0.0.0.0`
-port `9090`.
-This can be configured under the following config file options:
+A Prometheus HTTP server can be created from the following config file options.
+A HTTP server is not created if 'metrics' is not defined.
```
#
@@ -57,12 +45,18 @@ This can be configured under the following config file options:
#
# o Metrics Server(http://:9090)
# metrics:
-# addr: 0.0.0.0
-# port: 9090
+# - addr: 0.0.0.0
+# port: 9090
#
-metrics:
- addr: 0.0.0.0
- port: 9090
+# o Metrics Server(127.0.0.5:9090, [::1]:9090)
+# metrics:
+# - addr: 127.0.0.5
+# - addr: ::1
+#
+amf:
+ metrics:
+ - addr: 127.0.0.5
+ port: 9090
```
Note: You may want to change the default IP address or port if you are running
diff --git a/lib/core/meson.build b/lib/core/meson.build
index d84b6a5c7..af64a7fee 100644
--- a/lib/core/meson.build
+++ b/lib/core/meson.build
@@ -155,7 +155,12 @@ else
endif
# Check for /dev/urandom
-if run_command('[', '-c', '/dev/urandom', ']').returncode() == 0
+if meson.version().version_compare('>=0.47.0')
+ dev_urandom = run_command('[', '-c', '/dev/urandom', ']', check: false)
+else
+ dev_urandom = run_command('[', '-c', '/dev/urandom', ']')
+endif
+if dev_urandom.returncode() == 0
libcore_conf.set_quoted('OGS_DEV_RANDOM', '/dev/urandom',
description: 'a suitable file to read random data from')
endif
diff --git a/lib/metrics/context.h b/lib/metrics/context.h
index 072104a06..3de2446bc 100644
--- a/lib/metrics/context.h
+++ b/lib/metrics/context.h
@@ -28,6 +28,8 @@
extern "C" {
#endif
+typedef struct ogs_metrics_server_s ogs_metrics_server_t;
+
typedef enum ogs_metrics_metric_type_s {
OGS_METRICS_METRIC_TYPE_COUNTER,
OGS_METRICS_METRIC_TYPE_GAUGE,
@@ -41,6 +43,11 @@ void ogs_metrics_context_final(void);
ogs_metrics_context_t *ogs_metrics_self(void);
int ogs_metrics_context_parse_config(const char *local);
+ogs_metrics_server_t *ogs_metrics_server_add(
+ ogs_sockaddr_t *addr, ogs_sockopt_t *option);
+void ogs_metrics_server_remove(ogs_metrics_server_t *server);
+void ogs_metrics_server_remove_all(void);
+
typedef struct ogs_metrics_spec_s ogs_metrics_spec_t;
ogs_metrics_spec_t *ogs_metrics_spec_new(
ogs_metrics_context_t *ctx, ogs_metrics_metric_type_t type,
diff --git a/lib/metrics/meson.build b/lib/metrics/meson.build
index fbb8fd93f..ff11e34bd 100644
--- a/lib/metrics/meson.build
+++ b/lib/metrics/meson.build
@@ -23,29 +23,55 @@ libmetrics_file_list = '''
libmetrics_dependencies = [libapp_dep]
-metrics_impl_optval = get_option('metrics_impl')
+#metrics_impl_optval = get_option('metrics_impl')
-if metrics_impl_optval == 'prometheus'
- # Note: This requires meson >= 0.51.0:
- # 0.47.0: {'check arg in run_command'}
- # 0.50.0: {'CMake Module'}
- # 0.51.0: {'subproject'}
+#if metrics_impl_optval == 'prometheus'
+if meson.version().version_compare('>=0.51.0')
+# Note: This requires meson >= 0.51.0:
+# 0.47.0: {'check arg in run_command'}
+# 0.50.0: {'CMake Module'}
+# 0.51.0: {'subproject'}
libmicrohttpd_dep = dependency('libmicrohttpd', version: '>=0.9.40')
cmake = import('cmake')
+# Ubuntu Bionic cannot parse meson's dictionary
+# because the meson version is less than v0.47.0.
+#
+# We will change to using meson's dictionary
+# after April 2023 when Ubuntu bionic is deprecated.
+#
+# if meson.version().version_compare('>=0.55.0')
+# opt_var = cmake.subproject_options()
+# opt_var.add_cmake_defines({'CMAKE_INSTALL_LIBDIR': libdir})
+# prometheus_client_c_proj = cmake.subproject(
+# 'prometheus-client-c', options: opt_var)
+# else
+# prometheus_client_c_proj = cmake.subproject('prometheus-client-c')
+# endif
prometheus_client_c_proj = cmake.subproject('prometheus-client-c')
- # generated cmake subproject seems to include
- # open5gs/subprojects/prometheus-client-c/__CMake_build as include, which
- # doesn't exist and fail:
- missing_include_dir = join_paths(meson.current_source_dir(), '../../subprojects/prometheus-client-c/__CMake_build')
- run_command('mkdir', '-p', missing_include_dir, check: true)
+
+#
+# @acetcom
+# We removed -Werror=missing-include-dirs in possible_cc_flags
+#
+# @pepsin
+# generated cmake subproject seems to include
+# open5gs/subprojects/prometheus-client-c/__CMake_build as include, which
+# doesn't exist and fail:
+#
+# missing_include_dir = join_paths(meson.current_source_dir(), '../../subprojects/prometheus-client-c/__CMake_build')
+# if meson.version().version_compare('>=0.47.0')
+# run_command('mkdir', '-p', missing_include_dir, check: true)
+# else
+# run_command('mkdir', '-p', missing_include_dir)
+# endif
libprom_dep = prometheus_client_c_proj.dependency('prom')
libmetrics_dependencies = libmetrics_dependencies + [libprom_dep, libmicrohttpd_dep]
libmetrics_file_list = libmetrics_file_list + ' prometheus/context.c'
else
- libmetrics_file_list = libmetrics_file_list + ' void/context.c'
+ libmetrics_file_list = libmetrics_file_list + ' void/context.c'
endif
libmetrics_sources = files(libmetrics_file_list.split())
@@ -58,6 +84,7 @@ libmetrics = library('ogsmetrics',
c_args : '-DOGS_METRICS_COMPILATION',
include_directories : [libmetrics_inc, libinc],
dependencies : libmetrics_dependencies,
+ install_rpath: libdir,
install : true)
libmetrics_dep = declare_dependency(
diff --git a/lib/metrics/prometheus/context.c b/lib/metrics/prometheus/context.c
index d72640f01..0029b69a3 100644
--- a/lib/metrics/prometheus/context.c
+++ b/lib/metrics/prometheus/context.c
@@ -27,15 +27,17 @@
#define MAX_LABELS 8
typedef struct ogs_metrics_context_s {
- //uint32_t port; /* METRICS local port */
-
- //ogs_sock_t *metricsc_sock; /* METRICS IPv4 Socket */
- ogs_socknode_t node;
-
+ ogs_list_t server_list;
ogs_list_t spec_list;
- struct MHD_Daemon *mhd_server;
+
+ uint16_t metrics_port;
} ogs_metrics_context_t;
+typedef struct ogs_metrics_server_s {
+ ogs_socknode_t node;
+ struct MHD_Daemon *mhd;
+} ogs_metrics_server_t;
+
typedef struct ogs_metrics_spec_s {
ogs_metrics_context_t *ctx; /* backpointer */
ogs_list_t entry; /* included in ogs_metrics_context_t */
@@ -59,6 +61,7 @@ typedef struct ogs_metrics_inst_s {
static ogs_metrics_context_t self;
static int context_initialized = 0;
static OGS_POOL(metrics_spec_pool, ogs_metrics_spec_t);
+static OGS_POOL(metrics_server_pool, ogs_metrics_server_t);
void ogs_metrics_context_init(void)
{
@@ -73,6 +76,9 @@ void ogs_metrics_context_init(void)
ogs_list_init(&self.spec_list);
prom_collector_registry_default_init();
+ ogs_list_init(&self.server_list);
+ ogs_pool_init(&metrics_server_pool, ogs_app()->pool.nf);
+
context_initialized = 1;
}
@@ -81,20 +87,15 @@ void ogs_metrics_context_final(void)
ogs_metrics_spec_t *spec = NULL, *next = NULL;
ogs_assert(context_initialized == 1);
- if (self.mhd_server)
- ogs_metrics_context_close(&self);
-
ogs_list_for_each_entry_safe(&self.spec_list, next, spec, entry) {
ogs_metrics_spec_free(spec);
}
prom_collector_registry_destroy(PROM_COLLECTOR_REGISTRY_DEFAULT);
- if (self.node.addr) {
- ogs_freeaddrinfo(self.node.addr);
- self.node.addr = NULL;
- }
+ ogs_metrics_server_remove_all();
ogs_pool_final(&metrics_spec_pool);
+ ogs_pool_final(&metrics_server_pool);
context_initialized = 0;
}
@@ -104,19 +105,25 @@ ogs_metrics_context_t *ogs_metrics_self(void)
return &self;
}
+static int ogs_metrics_context_prepare(void)
+{
+ self.metrics_port = DEFAULT_PROMETHEUS_HTTP_PORT;
+
+ return OGS_OK;
+}
+
int ogs_metrics_context_parse_config(const char *local)
{
- int family = AF_UNSPEC;
- const char *hostname = NULL;
- uint16_t port = DEFAULT_PROMETHEUS_HTTP_PORT;
- ogs_sockaddr_t *addr = NULL;
+ int rv;
yaml_document_t *document = NULL;
ogs_yaml_iter_t root_iter;
- const char *v;
document = ogs_app()->document;
ogs_assert(document);
+ rv = ogs_metrics_context_prepare();
+ if (rv != OGS_OK) return rv;
+
ogs_yaml_iter_init(&root_iter, document);
while (ogs_yaml_iter_next(&root_iter)) {
const char *root_key = ogs_yaml_iter_key(&root_iter);
@@ -128,32 +135,212 @@ int ogs_metrics_context_parse_config(const char *local)
const char *local_key = ogs_yaml_iter_key(&local_iter);
ogs_assert(local_key);
if (!strcmp(local_key, "metrics")) {
- ogs_yaml_iter_t metrics_iter;
- ogs_yaml_iter_recurse(&local_iter, &metrics_iter);
- while (ogs_yaml_iter_next(&metrics_iter)) {
- const char *metrics_key = ogs_yaml_iter_key(&metrics_iter);
- ogs_assert(metrics_key);
- if (!strcmp(metrics_key, "addr")) {
- if ((v = ogs_yaml_iter_value(&metrics_iter)))
- hostname = v;
- } else if (!strcmp(metrics_key, "port")) {
- if ((v = ogs_yaml_iter_value(&metrics_iter)))
- port = atoi(v);
+ ogs_list_t list, list6;
+ ogs_socknode_t *node = NULL, *node6 = NULL;
+
+ ogs_yaml_iter_t metrics_array, metrics_iter;
+ ogs_yaml_iter_recurse(&local_iter, &metrics_array);
+ do {
+ int i, family = AF_UNSPEC;
+ int num = 0;
+ const char *hostname[OGS_MAX_NUM_OF_HOSTNAME];
+
+ uint16_t port = self.metrics_port;
+ const char *dev = NULL;
+ ogs_sockaddr_t *addr = NULL;
+
+ ogs_sockopt_t option;
+ bool is_option = false;
+
+ if (ogs_yaml_iter_type(&metrics_array) ==
+ YAML_MAPPING_NODE) {
+ memcpy(&metrics_iter, &metrics_array,
+ sizeof(ogs_yaml_iter_t));
+ } else if (ogs_yaml_iter_type(&metrics_array) ==
+ YAML_SEQUENCE_NODE) {
+ if (!ogs_yaml_iter_next(&metrics_array))
+ break;
+ ogs_yaml_iter_recurse(
+ &metrics_array, &metrics_iter);
+ } else if (ogs_yaml_iter_type(&metrics_array) ==
+ YAML_SCALAR_NODE) {
+ break;
+ } else
+ ogs_assert_if_reached();
+
+ while (ogs_yaml_iter_next(&metrics_iter)) {
+ const char *metrics_key =
+ ogs_yaml_iter_key(&metrics_iter);
+ ogs_assert(metrics_key);
+ if (!strcmp(metrics_key, "family")) {
+ const char *v = ogs_yaml_iter_value(
+ &metrics_iter);
+ if (v) family = atoi(v);
+ if (family != AF_UNSPEC &&
+ family != AF_INET && family != AF_INET6) {
+ ogs_warn("Ignore family(%d) : "
+ "AF_UNSPEC(%d), "
+ "AF_INET(%d), AF_INET6(%d) ",
+ family, AF_UNSPEC, AF_INET, AF_INET6);
+ family = AF_UNSPEC;
+ }
+ } else if (!strcmp(metrics_key, "addr") ||
+ !strcmp(metrics_key, "name")) {
+ ogs_yaml_iter_t hostname_iter;
+ ogs_yaml_iter_recurse(&metrics_iter,
+ &hostname_iter);
+ ogs_assert(ogs_yaml_iter_type(&hostname_iter) !=
+ YAML_MAPPING_NODE);
+
+ do {
+ if (ogs_yaml_iter_type(&hostname_iter) ==
+ YAML_SEQUENCE_NODE) {
+ if (!ogs_yaml_iter_next(
+ &hostname_iter))
+ break;
+ }
+
+ ogs_assert(num < OGS_MAX_NUM_OF_HOSTNAME);
+ hostname[num++] =
+ ogs_yaml_iter_value(&hostname_iter);
+ } while (
+ ogs_yaml_iter_type(&hostname_iter) ==
+ YAML_SEQUENCE_NODE);
+ } else if (!strcmp(metrics_key, "port")) {
+ const char *v = ogs_yaml_iter_value(
+ &metrics_iter);
+ if (v)
+ port = atoi(v);
+ } else if (!strcmp(metrics_key, "dev")) {
+ dev = ogs_yaml_iter_value(&metrics_iter);
+ } else if (!strcmp(metrics_key, "option")) {
+ rv = ogs_app_config_parse_sockopt(
+ &metrics_iter, &option);
+ if (rv != OGS_OK) return rv;
+ is_option = true;
+ } else
+ ogs_warn("unknown key `%s`", metrics_key);
}
+
+ addr = NULL;
+ for (i = 0; i < num; i++) {
+ rv = ogs_addaddrinfo(&addr,
+ family, hostname[i], port, 0);
+ ogs_assert(rv == OGS_OK);
+ }
+
+ ogs_list_init(&list);
+ ogs_list_init(&list6);
+
+ if (addr) {
+ if (ogs_app()->parameter.no_ipv4 == 0)
+ ogs_socknode_add(
+ &list, AF_INET, addr, NULL);
+ if (ogs_app()->parameter.no_ipv6 == 0)
+ ogs_socknode_add(
+ &list6, AF_INET6, addr, NULL);
+ ogs_freeaddrinfo(addr);
+ }
+
+ if (dev) {
+ rv = ogs_socknode_probe(
+ ogs_app()->parameter.no_ipv4 ? NULL : &list,
+ ogs_app()->parameter.no_ipv6 ? NULL : &list6,
+ dev, port, NULL);
+ ogs_assert(rv == OGS_OK);
+ }
+
+ node = ogs_list_first(&list);
+ if (node) {
+ ogs_metrics_server_t *server =
+ ogs_metrics_server_add(
+ node->addr, is_option ? &option : NULL);
+ ogs_assert(server);
+ }
+ node6 = ogs_list_first(&list6);
+ if (node6) {
+ ogs_metrics_server_t *server =
+ ogs_metrics_server_add(
+ node6->addr, is_option ? &option : NULL);
+ ogs_assert(server);
+ }
+
+ ogs_socknode_remove_all(&list);
+ ogs_socknode_remove_all(&list6);
+
+ } while (ogs_yaml_iter_type(&metrics_array) ==
+ YAML_SEQUENCE_NODE);
+
+ if (ogs_list_first(&self.server_list) == 0) {
+ ogs_list_init(&list);
+ ogs_list_init(&list6);
+
+ rv = ogs_socknode_probe(
+ ogs_app()->parameter.no_ipv4 ? NULL : &list,
+ ogs_app()->parameter.no_ipv6 ? NULL : &list6,
+ NULL, self.metrics_port, NULL);
+ ogs_assert(rv == OGS_OK);
+
+ node = ogs_list_first(&list);
+ if (node) ogs_metrics_server_add(node->addr, NULL);
+ node6 = ogs_list_first(&list6);
+ if (node6) ogs_metrics_server_add(node6->addr, NULL);
+
+ ogs_socknode_remove_all(&list);
+ ogs_socknode_remove_all(&list6);
}
}
}
}
}
- ogs_assert(OGS_OK ==
- ogs_addaddrinfo(&addr, family, hostname, port, AI_PASSIVE));
- if (self.node.addr)
- ogs_freeaddrinfo(self.node.addr);
- ogs_assert(OGS_OK == ogs_copyaddrinfo(&self.node.addr, addr));
- ogs_freeaddrinfo(addr);
+
return OGS_OK;
}
+ogs_metrics_server_t *ogs_metrics_server_add(
+ ogs_sockaddr_t *addr, ogs_sockopt_t *option)
+{
+ ogs_metrics_server_t *server = NULL;
+
+ ogs_assert(addr);
+
+ ogs_pool_alloc(&metrics_server_pool, &server);
+ ogs_assert(server);
+ memset(server, 0, sizeof(ogs_metrics_server_t));
+
+ ogs_assert(OGS_OK == ogs_copyaddrinfo(&server->node.addr, addr));
+ if (option)
+ server->node.option = ogs_memdup(option, sizeof *option);
+
+ ogs_list_add(&ogs_metrics_self()->server_list, server);
+
+ return server;
+}
+
+void ogs_metrics_server_remove(ogs_metrics_server_t *server)
+{
+ ogs_assert(server);
+
+ ogs_list_remove(&ogs_metrics_self()->server_list, server);
+
+ ogs_assert(server->node.addr);
+ ogs_freeaddrinfo(server->node.addr);
+ if (server->node.option)
+ ogs_free(server->node.option);
+
+ ogs_pool_free(&metrics_server_pool, server);
+}
+
+void ogs_metrics_server_remove_all(void)
+{
+ ogs_metrics_server_t *server = NULL, *next_server = NULL;
+
+ ogs_list_for_each_safe(
+ &ogs_metrics_self()->server_list, next_server, server) {
+ ogs_metrics_server_remove(server);
+ }
+}
+
static void mhd_server_run(short when, ogs_socket_t fd, void *data)
{
struct MHD_Daemon *mhd_daemon = data;
@@ -244,16 +431,18 @@ static _MHD_Result mhd_server_access_handler(void *cls, struct MHD_Connection *c
return ret;
}
-static int ogs_metrics_context_mhd_server_start(ogs_metrics_context_t *ctx)
+static int ogs_metrics_context_server_start(ogs_metrics_server_t *server)
{
#define MAX_NUM_OF_MHD_OPTION_ITEM 8
struct MHD_OptionItem mhd_ops[MAX_NUM_OF_MHD_OPTION_ITEM];
const union MHD_DaemonInfo *mhd_info = NULL;
int index = 0;
char buf[OGS_ADDRSTRLEN];
- ogs_sockaddr_t *addr = ctx->node.addr;
+ ogs_sockaddr_t *addr = NULL;
char *hostname = NULL;
+ ogs_assert(server);
+ addr = server->node.addr;
ogs_assert(addr);
#if MHD_VERSION >= 0x00095300
@@ -288,59 +477,68 @@ static int ogs_metrics_context_mhd_server_start(ogs_metrics_context_t *ctx)
mhd_ops[index].ptr_value = NULL;
index++;
- if (ctx->mhd_server) {
+ if (server->mhd) {
ogs_error("Prometheus HTTP server is already opened!");
return OGS_ERROR;
}
- ctx->mhd_server = MHD_start_daemon(
+ server->mhd = MHD_start_daemon(
mhd_flags,
0,
NULL, NULL,
- mhd_server_access_handler, ctx,
+ mhd_server_access_handler, server,
MHD_OPTION_ARRAY, mhd_ops,
MHD_OPTION_END);
- if (!ctx->mhd_server) {
+ if (!server->mhd) {
ogs_error("Cannot start Prometheus HTTP server");
return OGS_ERROR;
}
/* Setup poll for server listening socket */
- mhd_info = MHD_get_daemon_info(ctx->mhd_server, MHD_DAEMON_INFO_LISTEN_FD);
+ mhd_info = MHD_get_daemon_info(server->mhd, MHD_DAEMON_INFO_LISTEN_FD);
ogs_assert(mhd_info);
- ctx->node.poll = ogs_pollset_add(ogs_app()->pollset,
- OGS_POLLIN, mhd_info->listen_fd, mhd_server_run, ctx->mhd_server);
- ogs_assert(ctx->node.poll);
+ server->node.poll = ogs_pollset_add(ogs_app()->pollset,
+ OGS_POLLIN, mhd_info->listen_fd, mhd_server_run, server->mhd);
+ ogs_assert(server->node.poll);
hostname = ogs_gethostname(addr);
if (hostname)
- ogs_info("Prometheus mhd_server() [%s]:%d", hostname, OGS_PORT(addr));
+ ogs_info("metrics_server() [http://%s]:%d",
+ hostname, OGS_PORT(addr));
else
- ogs_info("Prometheus mhd_server() [%s]:%d", OGS_ADDR(addr, buf), OGS_PORT(addr));
+ ogs_info("metrics_server() [http://%s]:%d",
+ OGS_ADDR(addr, buf), OGS_PORT(addr));
+
return OGS_OK;
}
void ogs_metrics_context_open(ogs_metrics_context_t *ctx)
{
- ogs_assert(ogs_metrics_context_mhd_server_start(ctx) == OGS_OK);
+ ogs_metrics_server_t *server = NULL;
+
+ ogs_list_for_each(&ctx->server_list, server)
+ ogs_metrics_context_server_start(server);
}
-static int ogs_metrics_context_mhd_server_stop(ogs_metrics_context_t *ctx)
+static int ogs_metrics_context_server_stop(ogs_metrics_server_t *server)
{
- ogs_assert(ctx);
+ ogs_assert(server);
- if (ctx->node.poll)
- ogs_pollset_remove(ctx->node.poll);
+ if (server->node.poll)
+ ogs_pollset_remove(server->node.poll);
- if (ctx->mhd_server) {
- MHD_stop_daemon(ctx->mhd_server);
- ctx->mhd_server = NULL;
+ if (server->mhd) {
+ MHD_stop_daemon(server->mhd);
+ server->mhd = NULL;
}
return OGS_OK;
}
void ogs_metrics_context_close(ogs_metrics_context_t *ctx)
{
- ogs_assert(ogs_metrics_context_mhd_server_stop(ctx) == OGS_OK);
+ ogs_metrics_server_t *server = NULL, *next = NULL;
+
+ ogs_list_for_each_safe(&ctx->server_list, next, server)
+ ogs_metrics_context_server_stop(server);
}
ogs_metrics_spec_t *ogs_metrics_spec_new(
@@ -394,7 +592,7 @@ void ogs_metrics_spec_free(ogs_metrics_spec_t *spec)
ogs_metrics_inst_t *inst = NULL, *next = NULL;
unsigned int i;
- ogs_list_remove(&spec->ctx->spec_list, spec);
+ ogs_list_remove(&spec->ctx->spec_list, &spec->entry);
ogs_list_for_each_entry_safe(&spec->inst_list, next, inst, entry) {
ogs_metrics_inst_free(inst);
diff --git a/lib/sbi/context.h b/lib/sbi/context.h
index 40db75ff5..6aba80529 100644
--- a/lib/sbi/context.h
+++ b/lib/sbi/context.h
@@ -49,7 +49,7 @@ typedef struct ogs_sbi_discovery_config_s {
typedef struct ogs_sbi_context_s {
ogs_sbi_discovery_config_t discovery_config; /* SCP Discovery Delegated */
- uint32_t sbi_port; /* SBI local port */
+ uint16_t sbi_port; /* SBI local port */
ogs_list_t server_list;
ogs_list_t client_list;
diff --git a/meson.build b/meson.build
index 8540c3119..1b59f4525 100644
--- a/meson.build
+++ b/meson.build
@@ -20,6 +20,7 @@ project('open5gs', 'c', 'cpp',
license : 'AGPL-3.0-or-later',
meson_version : '>= 0.43.0',
default_options : [
+ 'warning_level=1',
'c_std=gnu89',
],
)
@@ -32,6 +33,8 @@ libdir = join_paths(prefix, get_option('libdir'))
sysconfdir = join_paths(prefix, get_option('sysconfdir'))
localstatedir = join_paths(prefix, get_option('localstatedir'))
+open5gs_build_dir = meson.current_build_dir()
+
cc = meson.get_compiler('c')
host_system = host_machine.system()
@@ -39,8 +42,13 @@ git = find_program('git', required: false)
#python = import('python')
#python3 = python.find_installation('python3')
python3 = find_program('python3', 'python')
+if meson.version().version_compare('>=0.55.0')
+python3_exe = join_paths(python3.full_path())
+else
python3_exe = join_paths(python3.path())
+endif
mkdir_p = 'import os; os.makedirs("@0@", exist_ok=True) if not os.environ.get("DESTDIR") else False;'
+symlink = 'import os; os.symlink("@0@", "@1@") if not os.environ.get("DESTDIR") and not os.path.islink("@1@") else False;'
install_conf = 'import os; import shutil; shutil.copy("@0@", "@1@") if not os.environ.get("DESTDIR") and not os.path.isfile(os.path.join("@1@", os.path.split("@0@")[1])) else False;'
cppcheck = find_program('cppcheck', required: false)
clangtidy = find_program('run-clang-tidy', required: false) # requires clang-tools package
@@ -48,7 +56,6 @@ if clangtidy.found() != true
clangtidy = find_program('clang-tidy', required: false)
endif
-
meson.add_install_script(python3_exe, '-c',
mkdir_p.format(join_paths(localstatedir, 'log', 'open5gs')))
@@ -57,7 +64,6 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang'
possible_cc_flags = [
'-Wextra',
'-Wlogical-op',
- '-Werror=missing-include-dirs',
'-Werror=pointer-arith',
'-Werror=init-self',
'-Wfloat-equal',
@@ -132,7 +138,8 @@ message('\n'.join([
' bindir: ' + bindir,
' sysconfdir: ' + sysconfdir,
' localstatedir: ' + localstatedir,
- ' source code location: ' + meson.source_root(),
+ ' build location: ' + meson.current_build_dir(),
+ ' source location: ' + meson.current_source_dir(),
' compiler: ' + cc.get_id(),
' debugging support: ' + get_option('buildtype'),
'',
@@ -142,9 +149,10 @@ message('\n'.join([
if cppcheck.found()
run_target('analyze-cppcheck',
command : [ 'misc/static_code_analyze.sh',
- cppcheck.path(),
- meson.build_root(),
- meson.source_root()
+ meson.version().version_compare('>=0.55.0') ?
+ cppcheck.full_path() : cppcheck.path(),
+ meson.current_build_dir(),
+ meson.current_source_dir()
]
)
endif
@@ -152,9 +160,10 @@ endif
if clangtidy.found()
run_target('analyze-clang-tidy',
command : [ 'misc/static_code_analyze.sh',
- clangtidy.path(),
- meson.build_root(),
- meson.source_root()
+ meson.version().version_compare('>=0.55.0') ?
+ clangtidy.full_path() : clangtidy.path(),
+ meson.current_build_dir(),
+ meson.current_source_dir()
]
)
endif
diff --git a/meson_options.txt b/meson_options.txt
deleted file mode 100644
index 9350a6b8f..000000000
--- a/meson_options.txt
+++ /dev/null
@@ -1 +0,0 @@
-option('metrics_impl', type : 'combo', choices : ['void', 'prometheus'], value : 'void', description : 'libogsmetrics implementation')
diff --git a/src/amf/metrics.c b/src/amf/metrics.c
index a3181291f..cf4af120e 100644
--- a/src/amf/metrics.c
+++ b/src/amf/metrics.c
@@ -65,12 +65,12 @@ amf_metrics_spec_def_t amf_metrics_spec_def_global[_AMF_METR_GLOB_MAX] = {
.description = "gNodeBs",
},
};
-static int amf_metrics_init_inst_global(void)
+int amf_metrics_init_inst_global(void)
{
return amf_metrics_init_inst(amf_metrics_inst_global, amf_metrics_spec_global,
_AMF_METR_GLOB_MAX, 0, NULL);
}
-static int amf_metrics_free_inst_global(void)
+int amf_metrics_free_inst_global(void)
{
return amf_metrics_free_inst(amf_metrics_inst_global, _AMF_METR_GLOB_MAX);
}
@@ -90,7 +90,6 @@ int amf_metrics_open(void)
int amf_metrics_close(void)
{
ogs_metrics_context_t *ctx = ogs_metrics_self();
- amf_metrics_free_inst_global();
ogs_metrics_context_close(ctx);
return OGS_OK;
-}
\ No newline at end of file
+}
diff --git a/src/amf/metrics.h b/src/amf/metrics.h
index 291b65845..fd9ef735e 100644
--- a/src/amf/metrics.h
+++ b/src/amf/metrics.h
@@ -15,6 +15,9 @@ typedef enum amf_metric_type_global_s {
} amf_metric_type_global_t;
extern ogs_metrics_inst_t *amf_metrics_inst_global[_AMF_METR_GLOB_MAX];
+int amf_metrics_init_inst_global(void);
+int amf_metrics_free_inst_global(void);
+
static inline void amf_metrics_inst_global_set(amf_metric_type_global_t t, int val)
{ ogs_metrics_inst_set(amf_metrics_inst_global[t], val); }
static inline void amf_metrics_inst_global_add(amf_metric_type_global_t t, int val)
diff --git a/src/meson.build b/src/meson.build
index d53fce06b..d313b6932 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -19,7 +19,11 @@ srcinc = include_directories('.')
package_version = 'v' + meson.project_version()
if git.found()
- git_version = run_command('git', ['describe', '--abbrev=7', '--dirty=+'])
+ if meson.version().version_compare('>=0.47.0')
+ git_version = run_command('git', ['describe', '--abbrev=7', '--dirty=+'], check: false)
+ else
+ git_version = run_command('git', ['describe', '--abbrev=7', '--dirty=+'])
+ endif
if git_version.returncode() == 0
package_version = git_version.stdout().strip()
endif
diff --git a/src/mme/metrics.c b/src/mme/metrics.c
index 76c336407..e6a3f5f90 100644
--- a/src/mme/metrics.c
+++ b/src/mme/metrics.c
@@ -65,12 +65,12 @@ mme_metrics_spec_def_t mme_metrics_spec_def_global[_MME_METR_GLOB_MAX] = {
.description = "eNodeBs",
},
};
-static int mme_metrics_init_inst_global(void)
+int mme_metrics_init_inst_global(void)
{
return mme_metrics_init_inst(mme_metrics_inst_global, mme_metrics_spec_global,
_MME_METR_GLOB_MAX, 0, NULL);
}
-static int mme_metrics_free_inst_global(void)
+int mme_metrics_free_inst_global(void)
{
return mme_metrics_free_inst(mme_metrics_inst_global, _MME_METR_GLOB_MAX);
}
@@ -90,7 +90,6 @@ int mme_metrics_open(void)
int mme_metrics_close(void)
{
ogs_metrics_context_t *ctx = ogs_metrics_self();
- mme_metrics_free_inst_global();
ogs_metrics_context_close(ctx);
return OGS_OK;
}
diff --git a/src/mme/metrics.h b/src/mme/metrics.h
index 3fdcaa1e3..580315c45 100644
--- a/src/mme/metrics.h
+++ b/src/mme/metrics.h
@@ -16,6 +16,9 @@ typedef enum mme_metric_type_global_s {
} mme_metric_type_global_t;
extern ogs_metrics_inst_t *mme_metrics_inst_global[_MME_METR_GLOB_MAX];
+int mme_metrics_init_inst_global(void);
+int mme_metrics_free_inst_global(void);
+
static inline void mme_metrics_inst_global_set(mme_metric_type_global_t t, int val)
{ ogs_metrics_inst_set(mme_metrics_inst_global[t], val); }
static inline void mme_metrics_inst_global_add(mme_metric_type_global_t t, int val)
diff --git a/src/mme/s1ap-handler.c b/src/mme/s1ap-handler.c
index 530126f4d..0eaa3d1dd 100644
--- a/src/mme/s1ap-handler.c
+++ b/src/mme/s1ap-handler.c
@@ -1264,18 +1264,13 @@ void s1ap_handle_e_rab_setup_response(
CriticalityDiagnostics->triggeringMessage;
S1AP_Criticality_t *procedureCriticality =
CriticalityDiagnostics->procedureCriticality;
- if (procedureCode) {
- ogs_debug("procedureCode: %lld",
- (long long)procedureCode);
- }
- if (triggeringMessage) {
- ogs_debug("triggeringMessage: %lld",
- (long long)triggeringMessage);
- }
- if (procedureCriticality) {
+ if (procedureCode)
+ ogs_debug("procedureCode: %lld", (long long)*procedureCode);
+ if (triggeringMessage)
+ ogs_debug("triggeringMessage: %lld", (long long)*triggeringMessage);
+ if (procedureCriticality)
ogs_debug("procedureCriticality: %lld",
- (long long)procedureCriticality);
- }
+ (long long)*procedureCriticality);
}
}
diff --git a/src/smf/metrics.c b/src/smf/metrics.c
index 2a85ef036..0604ad6c5 100644
--- a/src/smf/metrics.c
+++ b/src/smf/metrics.c
@@ -116,12 +116,12 @@ smf_metrics_spec_def_t smf_metrics_spec_def_global[_SMF_METR_GLOB_MAX] = {
.description = "Active GTP peers",
},
};
-static int smf_metrics_init_inst_global(void)
+int smf_metrics_init_inst_global(void)
{
return smf_metrics_init_inst(smf_metrics_inst_global, smf_metrics_spec_global,
_SMF_METR_GLOB_MAX, 0, NULL);
}
-static int smf_metrics_free_inst_global(void)
+int smf_metrics_free_inst_global(void)
{
return smf_metrics_free_inst(smf_metrics_inst_global, _SMF_METR_GLOB_MAX);
}
@@ -195,7 +195,6 @@ int smf_metrics_open(void)
int smf_metrics_close(void)
{
ogs_metrics_context_t *ctx = ogs_metrics_self();
- smf_metrics_free_inst_global();
ogs_metrics_context_close(ctx);
return OGS_OK;
}
diff --git a/src/smf/metrics.h b/src/smf/metrics.h
index c1971ba7a..94f75810d 100644
--- a/src/smf/metrics.h
+++ b/src/smf/metrics.h
@@ -25,6 +25,8 @@ typedef enum smf_metric_type_global_s {
_SMF_METR_GLOB_MAX,
} smf_metric_type_global_t;
extern ogs_metrics_inst_t *smf_metrics_inst_global[_SMF_METR_GLOB_MAX];
+int smf_metrics_init_inst_global(void);
+int smf_metrics_free_inst_global(void);
static inline void smf_metrics_inst_global_set(smf_metric_type_global_t t, int val)
{ ogs_metrics_inst_set(smf_metrics_inst_global[t], val); }
diff --git a/subprojects/prometheus-client-c.wrap b/subprojects/prometheus-client-c.wrap
index 6627c0e45..2ee80f25d 100644
--- a/subprojects/prometheus-client-c.wrap
+++ b/subprojects/prometheus-client-c.wrap
@@ -1,7 +1,7 @@
[wrap-git]
directory = prometheus-client-c
url = https://github.com/open5gs/prometheus-client-c.git
-revision = open5gs
+revision = next
[provide]
dependency_names = libprom
diff --git a/tests/app/meson.build b/tests/app/meson.build
index bee11824e..30a7e6419 100644
--- a/tests/app/meson.build
+++ b/tests/app/meson.build
@@ -18,7 +18,7 @@
libtestapp_inc = include_directories('.')
-libtestepc_cc_args = '-DDEFAULT_CONFIG_FILENAME="@0@/configs/sample.yaml"'.format(meson.build_root())
+libtestepc_cc_args = '-DDEFAULT_CONFIG_FILENAME="@0@/configs/sample.yaml"'.format(open5gs_build_dir)
libtestepc_sources = files('''
epc-init.c
@@ -46,7 +46,7 @@ executable('epc',
include_directories : srcinc,
dependencies : libtestepc_dep)
-libtest5gc_cc_args = '-DDEFAULT_CONFIG_FILENAME="@0@/configs/sample.yaml"'.format(meson.build_root())
+libtest5gc_cc_args = '-DDEFAULT_CONFIG_FILENAME="@0@/configs/sample.yaml"'.format(open5gs_build_dir)
libtest5gc_sources = files('''
5gc-init.c
@@ -74,7 +74,7 @@ executable('5gc',
include_directories : srcinc,
dependencies : libtest5gc_dep)
-libtestapp_cc_args = '-DDEFAULT_CONFIG_FILENAME="@0@/configs/sample.yaml"'.format(meson.build_root())
+libtestapp_cc_args = '-DDEFAULT_CONFIG_FILENAME="@0@/configs/sample.yaml"'.format(open5gs_build_dir)
libtestapp_sources = files('''
app-init.c
diff --git a/tests/common/meson.build b/tests/common/meson.build
index b670aff25..39ed57639 100644
--- a/tests/common/meson.build
+++ b/tests/common/meson.build
@@ -16,7 +16,7 @@
# along with this program. If not, see .
libtestcommon_conf = configuration_data()
-libtestcommon_conf.set_quoted('MESON_BUILD_ROOT', meson.build_root())
+libtestcommon_conf.set_quoted('MESON_BUILD_ROOT', open5gs_build_dir)
configure_file(output : 'test-config-private.h',
configuration : libtestcommon_conf)
diff --git a/tests/non3gpp/meson.build b/tests/non3gpp/meson.build
index e58e63753..cc7946c82 100644
--- a/tests/non3gpp/meson.build
+++ b/tests/non3gpp/meson.build
@@ -32,7 +32,7 @@ testapp_non3gpp_sources = files('''
testapp_non3gpp_exe = executable('non3gpp',
sources : testapp_non3gpp_sources,
c_args : [testunit_core_cc_flags,
- '-DFD_EXT_DIR="@0@"'.format(freediameter_extensions_builddir)],
+ '-DFD_EXT_DIR="@0@"'.format(build_subprojects_freeDiameter_extensions_dir)],
dependencies : libtestepc_dep)
test('non3gpp', testapp_non3gpp_exe, is_parallel : false, suite: 'epc')
diff --git a/tests/volte/meson.build b/tests/volte/meson.build
index c7b19168a..5b218d180 100644
--- a/tests/volte/meson.build
+++ b/tests/volte/meson.build
@@ -33,7 +33,7 @@ testapp_volte_sources = files('''
testapp_volte_exe = executable('volte',
sources : testapp_volte_sources,
c_args : [testunit_core_cc_flags,
- '-DFD_EXT_DIR="@0@"'.format(freediameter_extensions_builddir)],
+ '-DFD_EXT_DIR="@0@"'.format(build_subprojects_freeDiameter_extensions_dir)],
dependencies : libtestepc_dep)
test('volte', testapp_volte_exe, is_parallel : false, suite: 'epc')
diff --git a/vagrant/freebsd/Vagrantfile b/vagrant/freebsd/Vagrantfile
index d8540390e..cd6beca8c 100644
--- a/vagrant/freebsd/Vagrantfile
+++ b/vagrant/freebsd/Vagrantfile
@@ -12,7 +12,7 @@ Vagrant.configure("2") do |config|
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
- config.vm.box = "freebsd/FreeBSD-11.4-STABLE"
+ config.vm.box = "freebsd/FreeBSD-13.1-STABLE"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs