<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>EMAIL_NOTIFICATIONS</name><value>jenkins-notifications@lists.osmocom.org laforge@gnumonks.org</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>95115</buildingDurationMillis><executingTimeMillis>95115</executingTimeMillis><executorUtilization>1.0</executorUtilization><queuingDurationMillis>8346</queuingDurationMillis><queuingTimeMillis>8346</queuingTimeMillis><subTaskCount>0</subTaskCount><totalDurationMillis>103461</totalDurationMillis><waitingDurationMillis>8344</waitingDurationMillis><waitingTimeMillis>8344</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>750</buildNumber><marked><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><branch><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><name>origin/master</name></branch></marked><revision><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><branch><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><name>origin/master</name></branch></revision></originmaster></buildsByBranchName><lastBuiltRevision><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><branch><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/erlang/osmo-s1gw</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-osmo-s1gw/750/artifact</artifactsUrl><changesUrl>https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-osmo-s1gw/changes</changesUrl><displayUrl>https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-osmo-s1gw/750/</displayUrl><testsUrl>https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-osmo-s1gw/750/testReport</testsUrl></action><building>false</building><displayName>#750</displayName><duration>95115</duration><estimatedDuration>122295</estimatedDuration><fullDisplayName>master-osmo-s1gw #750</fullDisplayName><id>750</id><inProgress>false</inProgress><keepLog>false</keepLog><number>750</number><queueId>65314</queueId><result>SUCCESS</result><timestamp>1773945369251</timestamp><url>https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-osmo-s1gw/750/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/osmo-s1gw-cli.md</affectedPath><affectedPath>doc/manuals/chapters/configuration.adoc</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><affectedPath>doc/manuals/chapters/running.adoc</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>doc/manuals/osmo-s1gw-usermanual.adoc</affectedPath><affectedPath>README.md</affectedPath><commitId>1d0434c91ff06363df581e2b84618da2b6e00804</commitId><timestamp>1773839630000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>doc/manuals: merge doc/osmo-s1gw-cli.md

Change-Id: Ic2556f6add9c6a24f6da03f4388d7f86dde0c5dc
Related: OS#6671, SYS#7066
</comment><date>2026-03-18 20:13:50 +0700</date><id>1d0434c91ff06363df581e2b84618da2b6e00804</id><msg>doc/manuals: merge doc/osmo-s1gw-cli.md</msg><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path><path><editType>add</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>delete</editType><file>doc/osmo-s1gw-cli.md</file></path><path><editType>edit</editType><file>doc/manuals/chapters/running.adoc</file></path><path><editType>edit</editType><file>doc/manuals/osmo-s1gw-usermanual.adoc</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>doc/manuals/chapters/configuration.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><commitId>2564ea73b7b581ff1d8bc069307ca50afe4e40e1</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>doc/manuals: update MmeItem related info

The osmo-s1gw-cli documentation was not properly updated in 63ce2c9:

* default local/bind address for an MME is "any", not "::"
* allowed TACs (--tac) was missing in help and examples

Change-Id: I0b8115fe6342a80bf1eb99bd6ad210492a013947
Fixes: 63ce2c9 ("[REST] Add MmeList, MmeAdd, MmeInfo, MmeDelete")
Related: OS#6671, SYS#7066, SYS#7052
</comment><date>2026-03-18 20:13:55 +0700</date><id>2564ea73b7b581ff1d8bc069307ca50afe4e40e1</id><msg>doc/manuals: update MmeItem related info</msg><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>contrib/jenkins_manuals.sh</affectedPath><commitId>229ddcf488d7b3b4c2437fb2aea6dd6c9304d44f</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>contrib: add jenkins_manuals.sh

Change-Id: I54f0774575534519a2c40e0588f136c8a5e706f8
Related: osmo-ci.git Id62d806a648c8f3480cb4f162adf65f77c552848
Related: OS#6671
</comment><date>2026-03-18 20:13:55 +0700</date><id>229ddcf488d7b3b4c2437fb2aea6dd6c9304d44f</id><msg>contrib: add jenkins_manuals.sh</msg><path><editType>add</editType><file>contrib/jenkins_manuals.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>rebar.config</affectedPath><affectedPath>rebar.lock</affectedPath><commitId>0bbd55db7a224491566a139bd845d3b9fdc17be6</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>rebar.lock: bump exometer_report_statsd version

The new version is using ETS instead of dict for counter lookups.
This significantly reduces performance impact when multiple eNBs
are registered, since the ETS provides O(1) average-case hash
lookups and in-place mutation.

Change-Id: I931321a831215012aa8186d851d9a8d38908a4bf
</comment><date>2026-03-18 20:13:55 +0700</date><id>0bbd55db7a224491566a139bd845d3b9fdc17be6</id><msg>rebar.lock: bump exometer_report_statsd version</msg><path><editType>edit</editType><file>rebar.lock</file></path><path><editType>edit</editType><file>rebar.config</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>config/sys.config</affectedPath><affectedPath>doc/manuals/chapters/configuration.adoc</affectedPath><commitId>d6fc3187199c2c88f79c288dd828af30244ce4d0</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>config/sys.config: increase StatsD reporter interval to 10s

When running ttcn3-s1gw-test locally, I noticed OsmoS1GW consuming
30-40% of a CPU core while idle (not serving any eNBs).  Profiling
with etop pointed to `exometer_report_statsd` as the culprit: with
~1720 metrics registered, it was sending ~1720 datagrams per second.

A 1-second reporting interval causes noticeable CPU overhead as the
number of active metrics grows.  With per-eNB and per-MME counters,
the metric set scales with the number of connected eNBs/MMEs.

Increase the default StatsD reporting interval from 1s to 10s to
reduce that overhead.  Update the documentation accordingly.

Change-Id: Icd5e1a43d1df4a4909fe742aec67cc51a01bb857
</comment><date>2026-03-18 20:13:55 +0700</date><id>d6fc3187199c2c88f79c288dd828af30244ce4d0</id><msg>config/sys.config: increase StatsD reporter interval to 10s</msg><path><editType>edit</editType><file>config/sys.config</file></path><path><editType>edit</editType><file>doc/manuals/chapters/configuration.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/pfcp_peer.erl</affectedPath><commitId>218ccce0506fb6d330f77f96d24aae81e451d10d</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>pfcp_peer: define ?PFCP_ASSOC_SETUP_TIMEOUT

Change-Id: I0b7299d9f3eaa8c0a3c7e4a4d6331d1ec5a1c779
</comment><date>2026-03-18 20:13:55 +0700</date><id>218ccce0506fb6d330f77f96d24aae81e451d10d</id><msg>pfcp_peer: define ?PFCP_ASSOC_SETUP_TIMEOUT</msg><path><editType>edit</editType><file>src/pfcp_peer.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/enb_registry.erl</affectedPath><affectedPath>src/rest_server.erl</affectedPath><affectedPath>src/enb_proxy.erl</affectedPath><commitId>9dffb9c22018eed816fd471a67c79a28d09c4e64</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>enb_proxy: signal mme_info() to the enb_registry

When an MME is selected from the pool, pass the mme_registry:mme_info()
to the enb_registry via notify_mme_connecting/2 (replacing /1).  This
makes all MME configuration details (name, address, port, TAC list)
available to consumers such as the REST server, without having to
look them up separately from the mme_registry.

Change-Id: I22e705b8196c9dcf436ed3c4d91c5c5a912e7282
Related: SYS#7052
</comment><date>2026-03-18 20:13:55 +0700</date><id>9dffb9c22018eed816fd471a67c79a28d09c4e64</id><msg>enb_proxy: signal mme_info() to the enb_registry</msg><path><editType>edit</editType><file>src/enb_proxy.erl</file></path><path><editType>edit</editType><file>src/enb_registry.erl</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/enb_proxy.erl</affectedPath><affectedPath>src/osmo_s1gw_sup.erl</affectedPath><commitId>d8965e175b2fd1b9988eb1d3304f0293f7c91804</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>enb_proxy: obtain sctp_client sockopts from the env directly

Instead of passing the MmeConnCfg (sctp_client:cfg()) all the way
from osmo_s1gw_sup through sctp_server (as priv) into enb_proxy
(as state), read the sctp_client configuration in-place via
osmo_s1gw:get_env/2 when it is actually needed (connecting/enter).

This works because osmo_s1gw_sup already normalizes and writes back
the complete sctp_client config to the application env (set_env/2)
before starting the supervision tree.

As a result, mme_conn_cfg is removed from enb_proxy's state record,
start_link/2 no longer uses its Priv argument, and server_cfg/1 is
simplified to server_cfg/0.

Change-Id: Ic77d3eb3351c8981c87fa4b6febcdeb814b9187b
</comment><date>2026-03-18 20:13:55 +0700</date><id>d8965e175b2fd1b9988eb1d3304f0293f7c91804</id><msg>enb_proxy: obtain sctp_client sockopts from the env directly</msg><path><editType>edit</editType><file>src/enb_proxy.erl</file></path><path><editType>edit</editType><file>src/osmo_s1gw_sup.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>priv/openapi.json</affectedPath><affectedPath>include/osmo_s1gw.hrl</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><affectedPath>src/rest_server.erl</affectedPath><affectedPath>src/osmo_s1gw_sup.erl</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>contrib/openapi.yaml</affectedPath><commitId>eee27f79224cd06fdab9f2e1675b672ba05d16eb</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] Add GET /config endpoint (ConfigRead)

This endpoint returns the effective runtime configuration that
OsmoS1GW is currently using, with all defaults applied.  This
reflects the values read via `osmo_s1gw:get_env/2` at startup.

Change-Id: Ic6c9562a541e4a0728257538887537aac6b99b97
Related: SYS#7066
</comment><date>2026-03-18 20:13:55 +0700</date><id>eee27f79224cd06fdab9f2e1675b672ba05d16eb</id><msg>[REST] Add GET /config endpoint (ConfigRead)</msg><path><editType>edit</editType><file>contrib/openapi.yaml</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>src/osmo_s1gw_sup.erl</file></path><path><editType>add</editType><file>include/osmo_s1gw.hrl</file></path><path><editType>edit</editType><file>priv/openapi.json</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>priv/openapi.json</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>contrib/openapi.yaml</affectedPath><affectedPath>src/rest_server.erl</affectedPath><commitId>c1001d5b493483502ba2df813be2cdd98498b54c</commitId><timestamp>1773842253000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] Implement eNB/MME selection by addr-port

Add support for selecting an MME or eNB by remote address and port
in the REST API and CLI.  The selector format is `addr:IP:PORT` for
MMEs and `enb-conn:IP:PORT` for eNBs, where IP can be an IPv4 or
IPv6 address.  The colon is used as the address/port separator.

Change-Id: If02c8de1e1b7214bba868eee35233a79d0704dc5
Related: SYS#7066
</comment><date>2026-03-18 20:57:33 +0700</date><id>c1001d5b493483502ba2df813be2cdd98498b54c</id><msg>[REST] Implement eNB/MME selection by addr-port</msg><path><editType>edit</editType><file>priv/openapi.json</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>contrib/openapi.yaml</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>src/pfcp_peer.erl</affectedPath><affectedPath>src/rest_server.erl</affectedPath><commitId>82e567823e275985a3ec5dba8a1732790c676334</commitId><timestamp>1773842351000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] Implement PfcpAssoc{Setup,Release}

Change-Id: I2e24544563e4c4d23bb3d8a4a7b5434191b482d8
Related: SYS#7066
</comment><date>2026-03-18 20:59:11 +0700</date><id>82e567823e275985a3ec5dba8a1732790c676334</id><msg>[REST] Implement PfcpAssoc{Setup,Release}</msg><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path><path><editType>edit</editType><file>src/pfcp_peer.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>priv/openapi.json</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><affectedPath>contrib/openapi.yaml</affectedPath><affectedPath>src/rest_server.erl</affectedPath><commitId>45d9eb03d0c8e401817125ce403f5833e36178b9</commitId><timestamp>1773842351000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] EnbItem: expose name of the selected MME

For each eNB connection, include the name of the MME that was selected
from the pool.  Update the OpenAPI spec, CLI (enb_list/enb_info tables),
and user manual accordingly.

Change-Id: I4839275efa5d3545e84d684ad1b8b989214ef76a
Related: SYS#7066, SYS#7052
</comment><date>2026-03-18 20:59:11 +0700</date><id>45d9eb03d0c8e401817125ce403f5833e36178b9</id><msg>[REST] EnbItem: expose name of the selected MME</msg><path><editType>edit</editType><file>priv/openapi.json</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path><path><editType>edit</editType><file>contrib/openapi.yaml</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><description></description><fullName>Vadim Yanitskiy</fullName><id>fixeria</id></culprit><run><action _class='hudson.matrix.MatrixChildParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>EMAIL_NOTIFICATIONS</name><value>jenkins-notifications@lists.osmocom.org laforge@gnumonks.org</value></parameter></action><action></action><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UpstreamCause'><shortDescription>Started by upstream project "master-osmo-s1gw" build number 750</shortDescription><upstreamBuild>750</upstreamBuild><upstreamProject>master-osmo-s1gw</upstreamProject><upstreamUrl>job/master-osmo-s1gw/</upstreamUrl></cause></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>2</buildableDurationMillis><buildableTimeMillis>2</buildableTimeMillis><buildingDurationMillis>92576</buildingDurationMillis><executingTimeMillis>92576</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>0</waitingDurationMillis><waitingTimeMillis>0</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>750</buildNumber><marked><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><branch><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><name>origin/master</name></branch></marked><revision><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><branch><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><name>origin/master</name></branch></revision></originmaster></buildsByBranchName><lastBuiltRevision><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><branch><SHA1>45d9eb03d0c8e401817125ce403f5833e36178b9</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/erlang/osmo-s1gw</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#750</displayName><duration>92576</duration><estimatedDuration>81023</estimatedDuration><fullDisplayName>master-osmo-s1gw » a1=default,default,a3=default,a4=default,osmocom-master #750</fullDisplayName><id>750</id><inProgress>false</inProgress><keepLog>false</keepLog><number>750</number><queueId>65315</queueId><result>SUCCESS</result><timestamp>1773945369251</timestamp><url>https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-osmo-s1gw/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/750/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/manuals/chapters/configuration.adoc</affectedPath><affectedPath>doc/osmo-s1gw-cli.md</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><affectedPath>doc/manuals/chapters/running.adoc</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>doc/manuals/osmo-s1gw-usermanual.adoc</affectedPath><affectedPath>README.md</affectedPath><commitId>1d0434c91ff06363df581e2b84618da2b6e00804</commitId><timestamp>1773839630000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>doc/manuals: merge doc/osmo-s1gw-cli.md

Change-Id: Ic2556f6add9c6a24f6da03f4388d7f86dde0c5dc
Related: OS#6671, SYS#7066
</comment><date>2026-03-18 20:13:50 +0700</date><id>1d0434c91ff06363df581e2b84618da2b6e00804</id><msg>doc/manuals: merge doc/osmo-s1gw-cli.md</msg><path><editType>add</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>doc/manuals/chapters/configuration.adoc</file></path><path><editType>edit</editType><file>doc/manuals/chapters/running.adoc</file></path><path><editType>delete</editType><file>doc/osmo-s1gw-cli.md</file></path><path><editType>edit</editType><file>doc/manuals/osmo-s1gw-usermanual.adoc</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><commitId>2564ea73b7b581ff1d8bc069307ca50afe4e40e1</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>doc/manuals: update MmeItem related info

The osmo-s1gw-cli documentation was not properly updated in 63ce2c9:

* default local/bind address for an MME is "any", not "::"
* allowed TACs (--tac) was missing in help and examples

Change-Id: I0b8115fe6342a80bf1eb99bd6ad210492a013947
Fixes: 63ce2c9 ("[REST] Add MmeList, MmeAdd, MmeInfo, MmeDelete")
Related: OS#6671, SYS#7066, SYS#7052
</comment><date>2026-03-18 20:13:55 +0700</date><id>2564ea73b7b581ff1d8bc069307ca50afe4e40e1</id><msg>doc/manuals: update MmeItem related info</msg><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>contrib/jenkins_manuals.sh</affectedPath><commitId>229ddcf488d7b3b4c2437fb2aea6dd6c9304d44f</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>contrib: add jenkins_manuals.sh

Change-Id: I54f0774575534519a2c40e0588f136c8a5e706f8
Related: osmo-ci.git Id62d806a648c8f3480cb4f162adf65f77c552848
Related: OS#6671
</comment><date>2026-03-18 20:13:55 +0700</date><id>229ddcf488d7b3b4c2437fb2aea6dd6c9304d44f</id><msg>contrib: add jenkins_manuals.sh</msg><path><editType>add</editType><file>contrib/jenkins_manuals.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>rebar.config</affectedPath><affectedPath>rebar.lock</affectedPath><commitId>0bbd55db7a224491566a139bd845d3b9fdc17be6</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>rebar.lock: bump exometer_report_statsd version

The new version is using ETS instead of dict for counter lookups.
This significantly reduces performance impact when multiple eNBs
are registered, since the ETS provides O(1) average-case hash
lookups and in-place mutation.

Change-Id: I931321a831215012aa8186d851d9a8d38908a4bf
</comment><date>2026-03-18 20:13:55 +0700</date><id>0bbd55db7a224491566a139bd845d3b9fdc17be6</id><msg>rebar.lock: bump exometer_report_statsd version</msg><path><editType>edit</editType><file>rebar.config</file></path><path><editType>edit</editType><file>rebar.lock</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>config/sys.config</affectedPath><affectedPath>doc/manuals/chapters/configuration.adoc</affectedPath><commitId>d6fc3187199c2c88f79c288dd828af30244ce4d0</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>config/sys.config: increase StatsD reporter interval to 10s

When running ttcn3-s1gw-test locally, I noticed OsmoS1GW consuming
30-40% of a CPU core while idle (not serving any eNBs).  Profiling
with etop pointed to `exometer_report_statsd` as the culprit: with
~1720 metrics registered, it was sending ~1720 datagrams per second.

A 1-second reporting interval causes noticeable CPU overhead as the
number of active metrics grows.  With per-eNB and per-MME counters,
the metric set scales with the number of connected eNBs/MMEs.

Increase the default StatsD reporting interval from 1s to 10s to
reduce that overhead.  Update the documentation accordingly.

Change-Id: Icd5e1a43d1df4a4909fe742aec67cc51a01bb857
</comment><date>2026-03-18 20:13:55 +0700</date><id>d6fc3187199c2c88f79c288dd828af30244ce4d0</id><msg>config/sys.config: increase StatsD reporter interval to 10s</msg><path><editType>edit</editType><file>config/sys.config</file></path><path><editType>edit</editType><file>doc/manuals/chapters/configuration.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/pfcp_peer.erl</affectedPath><commitId>218ccce0506fb6d330f77f96d24aae81e451d10d</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>pfcp_peer: define ?PFCP_ASSOC_SETUP_TIMEOUT

Change-Id: I0b7299d9f3eaa8c0a3c7e4a4d6331d1ec5a1c779
</comment><date>2026-03-18 20:13:55 +0700</date><id>218ccce0506fb6d330f77f96d24aae81e451d10d</id><msg>pfcp_peer: define ?PFCP_ASSOC_SETUP_TIMEOUT</msg><path><editType>edit</editType><file>src/pfcp_peer.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/enb_registry.erl</affectedPath><affectedPath>src/rest_server.erl</affectedPath><affectedPath>src/enb_proxy.erl</affectedPath><commitId>9dffb9c22018eed816fd471a67c79a28d09c4e64</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>enb_proxy: signal mme_info() to the enb_registry

When an MME is selected from the pool, pass the mme_registry:mme_info()
to the enb_registry via notify_mme_connecting/2 (replacing /1).  This
makes all MME configuration details (name, address, port, TAC list)
available to consumers such as the REST server, without having to
look them up separately from the mme_registry.

Change-Id: I22e705b8196c9dcf436ed3c4d91c5c5a912e7282
Related: SYS#7052
</comment><date>2026-03-18 20:13:55 +0700</date><id>9dffb9c22018eed816fd471a67c79a28d09c4e64</id><msg>enb_proxy: signal mme_info() to the enb_registry</msg><path><editType>edit</editType><file>src/enb_proxy.erl</file></path><path><editType>edit</editType><file>src/enb_registry.erl</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/enb_proxy.erl</affectedPath><affectedPath>src/osmo_s1gw_sup.erl</affectedPath><commitId>d8965e175b2fd1b9988eb1d3304f0293f7c91804</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>enb_proxy: obtain sctp_client sockopts from the env directly

Instead of passing the MmeConnCfg (sctp_client:cfg()) all the way
from osmo_s1gw_sup through sctp_server (as priv) into enb_proxy
(as state), read the sctp_client configuration in-place via
osmo_s1gw:get_env/2 when it is actually needed (connecting/enter).

This works because osmo_s1gw_sup already normalizes and writes back
the complete sctp_client config to the application env (set_env/2)
before starting the supervision tree.

As a result, mme_conn_cfg is removed from enb_proxy's state record,
start_link/2 no longer uses its Priv argument, and server_cfg/1 is
simplified to server_cfg/0.

Change-Id: Ic77d3eb3351c8981c87fa4b6febcdeb814b9187b
</comment><date>2026-03-18 20:13:55 +0700</date><id>d8965e175b2fd1b9988eb1d3304f0293f7c91804</id><msg>enb_proxy: obtain sctp_client sockopts from the env directly</msg><path><editType>edit</editType><file>src/enb_proxy.erl</file></path><path><editType>edit</editType><file>src/osmo_s1gw_sup.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>priv/openapi.json</affectedPath><affectedPath>include/osmo_s1gw.hrl</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><affectedPath>src/rest_server.erl</affectedPath><affectedPath>src/osmo_s1gw_sup.erl</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>contrib/openapi.yaml</affectedPath><commitId>eee27f79224cd06fdab9f2e1675b672ba05d16eb</commitId><timestamp>1773839635000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] Add GET /config endpoint (ConfigRead)

This endpoint returns the effective runtime configuration that
OsmoS1GW is currently using, with all defaults applied.  This
reflects the values read via `osmo_s1gw:get_env/2` at startup.

Change-Id: Ic6c9562a541e4a0728257538887537aac6b99b97
Related: SYS#7066
</comment><date>2026-03-18 20:13:55 +0700</date><id>eee27f79224cd06fdab9f2e1675b672ba05d16eb</id><msg>[REST] Add GET /config endpoint (ConfigRead)</msg><path><editType>edit</editType><file>priv/openapi.json</file></path><path><editType>edit</editType><file>contrib/openapi.yaml</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>add</editType><file>include/osmo_s1gw.hrl</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path><path><editType>edit</editType><file>src/osmo_s1gw_sup.erl</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>priv/openapi.json</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>contrib/openapi.yaml</affectedPath><affectedPath>src/rest_server.erl</affectedPath><commitId>c1001d5b493483502ba2df813be2cdd98498b54c</commitId><timestamp>1773842253000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] Implement eNB/MME selection by addr-port

Add support for selecting an MME or eNB by remote address and port
in the REST API and CLI.  The selector format is `addr:IP:PORT` for
MMEs and `enb-conn:IP:PORT` for eNBs, where IP can be an IPv4 or
IPv6 address.  The colon is used as the address/port separator.

Change-Id: If02c8de1e1b7214bba868eee35233a79d0704dc5
Related: SYS#7066
</comment><date>2026-03-18 20:57:33 +0700</date><id>c1001d5b493483502ba2df813be2cdd98498b54c</id><msg>[REST] Implement eNB/MME selection by addr-port</msg><path><editType>edit</editType><file>contrib/openapi.yaml</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>priv/openapi.json</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>src/pfcp_peer.erl</affectedPath><affectedPath>src/rest_server.erl</affectedPath><commitId>82e567823e275985a3ec5dba8a1732790c676334</commitId><timestamp>1773842351000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] Implement PfcpAssoc{Setup,Release}

Change-Id: I2e24544563e4c4d23bb3d8a4a7b5434191b482d8
Related: SYS#7066
</comment><date>2026-03-18 20:59:11 +0700</date><id>82e567823e275985a3ec5dba8a1732790c676334</id><msg>[REST] Implement PfcpAssoc{Setup,Release}</msg><path><editType>edit</editType><file>src/rest_server.erl</file></path><path><editType>edit</editType><file>src/pfcp_peer.erl</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>priv/openapi.json</affectedPath><affectedPath>doc/manuals/chapters/cli.adoc</affectedPath><affectedPath>contrib/osmo-s1gw-cli.py</affectedPath><affectedPath>doc/manuals/chapters/rest.adoc</affectedPath><affectedPath>contrib/openapi.yaml</affectedPath><affectedPath>src/rest_server.erl</affectedPath><commitId>45d9eb03d0c8e401817125ce403f5833e36178b9</commitId><timestamp>1773842351000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>[REST] EnbItem: expose name of the selected MME

For each eNB connection, include the name of the MME that was selected
from the pool.  Update the OpenAPI spec, CLI (enb_list/enb_info tables),
and user manual accordingly.

Change-Id: I4839275efa5d3545e84d684ad1b8b989214ef76a
Related: SYS#7066, SYS#7052
</comment><date>2026-03-18 20:59:11 +0700</date><id>45d9eb03d0c8e401817125ce403f5833e36178b9</id><msg>[REST] EnbItem: expose name of the selected MME</msg><path><editType>edit</editType><file>contrib/openapi.yaml</file></path><path><editType>edit</editType><file>src/rest_server.erl</file></path><path><editType>edit</editType><file>priv/openapi.json</file></path><path><editType>edit</editType><file>contrib/osmo-s1gw-cli.py</file></path><path><editType>edit</editType><file>doc/manuals/chapters/rest.adoc</file></path><path><editType>edit</editType><file>doc/manuals/chapters/cli.adoc</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></culprit></run></matrixBuild>