Attention is currently required from: pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41922?usp=email )
Change subject: core: guard TCP stats on availability of linux/tcp.h
......................................................................
Patch Set 3:
(1 comment)
File src/core/stats_tcp.c:
https://gerrit.osmocom.org/c/libosmocore/+/41922/comment/0a900d36_14d0d9a8?… :
PS2, Line 47: #include <errno.h>
> Please move this up before the ifdef HAVE_LINUX_TCP_H.
Done, moved it above the HAVE_LINUX_TCP_H guard.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41922?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: Ibcd00f15131b0291f0b10eca51401c518b77cc39
Gerrit-Change-Number: 41922
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: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 26 Jan 2026 10:04:31 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Timur Davydov has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/41941?usp=email )
Change subject: core: guard Linux netlink headers by libmnl usage
......................................................................
core: guard Linux netlink headers by libmnl usage
Only include Linux-specific netlink headers when the libmnl backend
is enabled.
The code paths requiring <linux/if_link.h> and <linux/rtnetlink.h>
are entirely guarded by ENABLE_LIBMNL conditionals, so the headers should
not be included unconditionally.
This avoids pulling in Linux-only headers when the corresponding
backend is not built.
Change-Id: I0b681deb1f1e025e3ea9996f19b1de06a5feb408
---
M src/core/netdev.c
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/41941/1
diff --git a/src/core/netdev.c b/src/core/netdev.c
index 1e886f9..22e1e00 100644
--- a/src/core/netdev.c
+++ b/src/core/netdev.c
@@ -82,6 +82,8 @@
#include <net/if.h>
#include <net/route.h>
+#ifdef ENABLE_LIBMNL
+
#if defined(__linux__)
#include <linux/if_link.h>
#include <linux/rtnetlink.h>
@@ -89,6 +91,8 @@
#error "Unknown platform!"
#endif
+#endif /* if ENABLE_LIBMNL */
+
#include <osmocom/core/utils.h>
#include <osmocom/core/select.h>
#include <osmocom/core/linuxlist.h>
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41941?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: I0b681deb1f1e025e3ea9996f19b1de06a5feb408
Gerrit-Change-Number: 41941
Gerrit-PatchSet: 1
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Timur Davydov.
Hello Jenkins Builder, fixeria, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41939?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
The change is no longer submittable: Verified is unsatisfied now.
Change subject: core: always build tun.c and gate TUN support by headers
......................................................................
core: always build tun.c and gate TUN support by headers
Always build tun.c and move platform-specific checks into the
implementation.
Guard the TUN-specific code paths based on the availability of
linux/if_tun.h detected at configure time. If TUN support is not
available, osmo_tundev_open() returns -ENOTSUP.
This keeps the public TUN API available while disabling unsupported
functionality in a capability-based way.
Change-Id: I6d1ea1644d12ef59a54cf2f73b9155def58b17a9
---
M configure.ac
M src/core/tun.c
2 files changed, 10 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/41939/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41939?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: I6d1ea1644d12ef59a54cf2f73b9155def58b17a9
Gerrit-Change-Number: 41939
Gerrit-PatchSet: 2
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Timur Davydov.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41922?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: core: guard TCP stats on availability of linux/tcp.h
......................................................................
core: guard TCP stats on availability of linux/tcp.h
Detect availability of linux/tcp.h at configure time
and build TCP statistics code conditionally based on that.
This replaces platform-specific conditionals with proper feature checks
and avoids build failures on systems lacking Linux TCP headers or types
(e.g. non-Linux or cross-build environments).
When TCP_INFO support is unavailable, the public API remains unchanged,
but all related functions return -ENOTSUP.
No functional changes on systems where linux/tcp.h are available.
Change-Id: Ibcd00f15131b0291f0b10eca51401c518b77cc39
---
M configure.ac
M src/core/stats_tcp.c
2 files changed, 35 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/41922/3
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41922?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: Ibcd00f15131b0291f0b10eca51401c518b77cc39
Gerrit-Change-Number: 41922
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>
Attention is currently required from: Timur Davydov, fixeria, laforge, neels, pespin.
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 (#22).
The following approvals got outdated and were removed:
Code-Review+1 by fixeria, Code-Review+1 by pespin, 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/vty/logging_vty.c
7 files changed, 158 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/41813/22
--
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: 22
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: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: fixeria.
pespin has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41935?usp=email )
Change subject: bts: move as_rsl_meas_res() params to ConnHdlrPars
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
> It's still inside the component because `ConnHdlrPars` is inside `ConnHdlr`. […]
Yes sure, but the main reason to have the Pars substruct is to be able to pass config at startup to the component. Those variables afaict are totally internal state which needs no setting up from the parent component, so I'd say they are fine being outside of Pars.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41935?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Iceb58bb636817afcd0fdf1eb3344d03153860a56
Gerrit-Change-Number: 41935
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 26 Jan 2026 09:19:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: Timur Davydov, laforge, neels, pespin.
fixeria has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email )
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Patch Set 21: Code-Review+1
(1 comment)
Patchset:
PS21:
Looks good to me. There's still 10 unresolved threads, please mark them as resolved/done (if they were) - this way it's easier to see what's still missing. Thanks!
--
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: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 21
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: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Mon, 26 Jan 2026 09:02:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Attention is currently required from: fixeria, jolly, laforge, osmith.
Hello Jenkins Builder, fixeria, jolly, laforge, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41932?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: remove references to define EMBEDDED in public headers
......................................................................
remove references to define EMBEDDED in public headers
It's not a good idea to base opt-in/out of code in public headers based
on some specific non-standard define being set at compile time when
calling the compiler. Get rid of those references; Now that
osmocom/core/socket.h can be included thanks to improved
osmocom/core/socket_compat.h, it shouldn't be a problem.
Change-Id: I7a657d67077dfbe861959c6123eb9163bc791694
---
M include/osmocom/core/netdev.h
M include/osmocom/core/tun.h
M include/osmocom/gsm/gsup.h
3 files changed, 0 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/41932/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41932?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: I7a657d67077dfbe861959c6123eb9163bc791694
Gerrit-Change-Number: 41932
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: Timur Davydov, laforge, neels, pespin.
fixeria has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email )
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Patch Set 21:
(11 comments)
Patchset:
PS21:
Marking threads resolved.
File configure.ac:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/669d030a_b5f629fe?… :
PS16, Line 259: AM_CONDITIONAL(ENABLE_TUN, test "x$embedded" != "xyes" && test "x$emscripten" != "xyes")
> Done. I’ve sent a separate patch addressing this, preceding this one.
Done
File include/osmocom/core/logging.h:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/2966d55e_79008bdd?… :
PS5, Line 285: LOG_TGT_TYPE_WEB, /*!< Web logging */
> Thanks for the clarification. […]
Done
File src/core/Makefile.am:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/36f0c2da_7d2790fa?… :
PS7, Line 49: logging_emscripten.c \
> Thanks for the suggestion, agreed. […]
Done
File src/core/Makefile.am:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/2bb05309_d8223045?… :
PS16, Line 87: if ENABLE_TUN
> Agreed, this likely needs an additional fix. This should follow the same […]
Done
File src/core/logging_emscripten.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/18a02eda_de553728?… :
PS7, Line 24: /*! \addtogroup logging
> Please make sure you rebase your work on top of current master, I did some changes to configure. […]
Done
File src/vty/logging_vty.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/abb3421d_20be3562?… :
PS5, Line 907: #if !defined(__EMSCRIPTEN__)
> The conditional compilation here was added by mistake — it's not needed in this place. […]
Done
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/8bbfaf60_4f86e3e6?… :
PS5, Line 1038: DEFUN(cfg_log_web, cfg_log_web_cmd,
> Thanks — added conditional compilation `#if defined(__EMSCRIPTEN__)`
Done
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/6815e7b1_7a87010b?… :
PS5, Line 1047: vty_out(vty, "%% Unable to create WEB log for %s", VTY_NEWLINE);
> Thanks, fixed
Done
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/fa49905b_396c476c?… :
PS5, Line 1067: vty_out(vty, "%% Unable to find WEB log target for %s", VTY_NEWLINE);
> Thanks, fixed
Done
File src/vty/logging_vty.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/582ca768_8110edad?… :
PS16, Line 937: #if !defined(__EMSCRIPTEN__)
> Agreed. I disabled it only to avoid creating files on the Web side, but since […]
Done
--
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: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 21
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: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Mon, 26 Jan 2026 09:00:55 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: Timur Davydov <dtv.comp(a)gmail.com>