Attention is currently required from: Timur Davydov.
pespin has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41878?usp=email )
Change subject: build: control USE_NETNS via configure.ac
......................................................................
Patch Set 3:
(1 comment)
Patchset:
PS2:
> @dtv.comp@gmail.com Can you please share here what *exactly* fails when you build the netns. […]
I'm waiting for this information before continuing with the review.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41878?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I2322eb2936bea35596f1fd6b6a713ea5f997b1ea
Gerrit-Change-Number: 41878
Gerrit-PatchSet: 3
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Tue, 20 Jan 2026 21:35:14 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/41889?usp=email )
Change subject: Drop logging of stderr loglvel at startup
......................................................................
Drop logging of stderr loglvel at startup
Nowadays there's far better ways to figure out logging, like checking
through VTY. For instnace, that loglevel is the general log level of the
stderr target, but says nothing about specific categories, or other log
targets, etc.
Furthermore, this way we get rid of only access to struct log_target
from libosmocore, which should be private.
Change-Id: Ibaf1bdc09ddfa0ece86da42685ced2f2504d970d
---
M Transceiver52M/osmo-trx.cpp
1 file changed, 0 insertions(+), 1 deletion(-)
Approvals:
Hoernchen: Looks good to me, approved
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp
index c460e98..342c9eb 100644
--- a/Transceiver52M/osmo-trx.cpp
+++ b/Transceiver52M/osmo-trx.cpp
@@ -547,7 +547,6 @@
std::ostringstream ost("");
ost << "Config Settings" << std::endl;
- ost << " Log Level............... " << (unsigned int) osmo_stderr_target->loglevel << std::endl;
ost << " Device args............. " << charp2str(trx->cfg.dev_args) << std::endl;
ost << " TRX Base Port........... " << trx->cfg.base_port << std::endl;
ost << " TRX Address............. " << charp2str(trx->cfg.bind_addr) << std::endl;
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/41889?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: Ibaf1bdc09ddfa0ece86da42685ced2f2504d970d
Gerrit-Change-Number: 41889
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Attention is currently required from: Timur Davydov, laforge, neels.
Hello Jenkins Builder, fixeria, neels, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
to look at the new patch set (#10).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Add Emscripten build support and JS callback logging backend
This change enables building libosmocore for sandboxed, non-POSIX
environments, specifically WebAssembly targets produced via the
Emscripten toolchain.
The broader motivation is to allow partial execution of selected
Osmocom components in isolated runtime environments where direct access
to hardware and traditional operating system facilities (filesystem,
sockets, privileged execution) is not available.
One intended use case is running a GSM 2G base station where the
radio-facing components are executed inside a web environment, while
the remaining Osmocom stack and core network components continue to run
unchanged on a conventional backend server. In this model, highly
stripped-down variants of osmo-bts and osmo-trx are built as static
WebAssembly libraries and executed in the browser, while depending on
core libraries such as libosmocore, libosmo-netif, and libosmo-abis.
A practical advantage of this approach is that no deployment or
privileged setup is required on the radio endpoint side. A user can
instantiate a radio endpoint with minimal configuration, while all
stateful logic and operational complexity remains centralized on the
backend. Multiple such radio endpoints may connect to the same backend
core network, effectively forming a single logical network from the
core network perspective, independent of the physical location of the
radio endpoints.
Existing libosmocore build logic and platform assumptions rely on the
availability of POSIX APIs and OS services which are not present in
WebAssembly runtimes. This currently prevents libosmocore from being
built for such targets without targeted, build-time adjustments. This
patch introduces the minimal set of changes required to enable such
builds, without affecting native platforms.
As part of this groundwork, a minimal callback-based logging hook is
introduced. When building for Emscripten, this hook allows forwarding
log messages to an external environment via a user-provided JavaScript
callback. This enables integration with browser-side logging or UI
infrastructure without introducing new logging backends or runtime
dependencies. For all other build targets, the hook resolves to a no-op
implementation and does not alter existing logging behavior.
No runtime behavior, protocol semantics, or network interactions are
changed by this patch. All modifications are strictly limited to
build-time and platform-specific code paths and are only active when
targeting Emscripten. Native builds and existing deployment scenarios
remain unaffected.
This patch is intended as groundwork. Follow-up changes, proposed
separately and incrementally, may extend similar support to other
Osmocom components such as libosmo-netif, libosmo-abis, osmo-bts, and
osmo-trx, while keeping all such changes optional and isolated from
native builds.
Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
---
M .gitignore
M configure.ac
M include/osmocom/core/logging.h
M src/core/Makefile.am
M src/core/libosmocore.map
A src/core/logging_emscripten.c
M src/core/netdev.c
M src/core/osmo_io_internal.h
M src/core/socket.c
M src/core/stats_tcp.c
M src/core/tun.c
M src/vty/logging_vty.c
12 files changed, 197 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/41813/10
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 10
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41894?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: logging: Move log target file to its own file
......................................................................
logging: Move log target file to its own file
We already have all other log_target implementations each on its own
file. Move the file (and stderr, a specific case of file) into its own
file too, properly separating most file-specific logic from general
logging logic.
Change-Id: I8e32e31c75b66ff0649d92c2f469f8895689fbad
---
M include/osmocom/core/logging_internal.h
M src/core/Makefile.am
M src/core/logging.c
A src/core/logging_file.c
4 files changed, 379 insertions(+), 326 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/94/41894/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41894?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I8e32e31c75b66ff0649d92c2f469f8895689fbad
Gerrit-Change-Number: 41894
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: Timur Davydov.
pespin has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41878?usp=email )
Change subject: build: control USE_NETNS via configure.ac
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
@dtv.comp@gmail.com Can you please share here what *exactly* fails when you build the netns.c in emscripten? which error do you get? at buildtime? at runtime?
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41878?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I2322eb2936bea35596f1fd6b6a713ea5f997b1ea
Gerrit-Change-Number: 41878
Gerrit-PatchSet: 2
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Tue, 20 Jan 2026 16:05:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: laforge, pespin.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41891?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: logging: Make struct log_context and struct log_target private
......................................................................
logging: Make struct log_context and struct log_target private
Change-Id: Iecbd07995ccb465a44be0debcc97458b2b240a0e
---
M TODO-RELEASE
M include/osmocom/core/logging.h
M include/osmocom/core/logging_internal.h
M src/core/logging.c
M src/core/logging_gsmtap.c
M src/core/logging_syslog.c
M src/core/logging_systemd.c
M src/core/loggingrb.c
8 files changed, 116 insertions(+), 112 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/41891/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41891?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iecbd07995ccb465a44be0debcc97458b2b240a0e
Gerrit-Change-Number: 41891
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41878?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: build: control USE_NETNS via configure.ac
......................................................................
build: control USE_NETNS via configure.ac
Define USE_NETNS based on host_os and disable it for embedded builds.
No functional changes intended, this is a preparatory refactor to keep
follow-up patches focused and easier to review.
Change-Id: I2322eb2936bea35596f1fd6b6a713ea5f997b1ea
---
M configure.ac
M include/osmocom/core/netns.h
M src/core/Makefile.am
3 files changed, 22 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/41878/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41878?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I2322eb2936bea35596f1fd6b6a713ea5f997b1ea
Gerrit-Change-Number: 41878
Gerrit-PatchSet: 2
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/41893?usp=email )
Change subject: Remove unused private API log_target_create_file_stream()
......................................................................
Remove unused private API log_target_create_file_stream()
This function was never added to the logging.h (despite it was not
static and it was inside libosmocore.map).
It is actually used nowhere, and changing it to static made the compiler
warn about it. Remove it.
Change-Id: Ia30c6b47cfcbb54e7c2c43b877cd9554dc596abf
---
M src/core/libosmocore.map
M src/core/logging.c
2 files changed, 0 insertions(+), 24 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/41893/1
diff --git a/src/core/libosmocore.map b/src/core/libosmocore.map
index 3ec322c..cb79843 100644
--- a/src/core/libosmocore.map
+++ b/src/core/libosmocore.map
@@ -96,7 +96,6 @@
log_set_use_color;
log_target_create;
log_target_create_file;
-log_target_create_file_stream;
log_target_create_gsmtap;
log_target_create_rb;
log_target_create_stderr;
diff --git a/src/core/logging.c b/src/core/logging.c
index 748dd8f..e8c48b8 100644
--- a/src/core/logging.c
+++ b/src/core/logging.c
@@ -1278,29 +1278,6 @@
}
#if (!EMBEDDED)
-/*! Create a new file-based log target using buffered, blocking stream output
- * \param[in] fname File name of the new log file
- * \returns Log target in case of success, NULL otherwise
- */
-struct log_target *log_target_create_file_stream(const char *fname)
-{
- struct log_target *target;
-
- target = log_target_create();
- if (!target)
- return NULL;
-
- target->type = LOG_TGT_TYPE_FILE;
- target->tgt_file.out = fopen(fname, "a");
- if (!target->tgt_file.out) {
- log_target_destroy(target);
- return NULL;
- }
- target->output = _file_output_stream;
- target->tgt_file.fname = talloc_strdup(target, fname);
-
- return target;
-}
/*! switch from non-blocking/write-queue to blocking + buffered stream output
* \param[in] target log target which we should switch
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41893?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia30c6b47cfcbb54e7c2c43b877cd9554dc596abf
Gerrit-Change-Number: 41893
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>