Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-msc/+/41698?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: add vty setting for ThemWi RTP formats
......................................................................
add vty setting for ThemWi RTP formats
For every GSM speech codec and for CSD, Osmocom BSS supports both
the standard RTP format prescribed by 3GPP and an alternative enhanced
RTP format invented by Themyscira Wireless: TW-TS-001, TW-TS-002,
TW-TS-006 and TW-TS-007. In order to enable these enhanced RTP
formats, the MSC needs to include an extension IE in the Assignment
Request it sends to the BSS. Until now there was no way to do so
in mainline OsmoMSC, only via local code patches - fix this omission.
The following considerations apply to this new tw-rtp-formats
vty setting:
* When internal MNCC is used, it is beneficial to enable enhanced TW
RTP formats, especially when using E1 BTS with tw-e1abis-mgw:
the DL call leg receives more complete information content from
the UL call leg in each direction.
* When external MNCC is used with non-ThemWi CN software (e.g., with
a PBX via osmo-sip-connector), tw-rtp-formats should NOT be
enabled - off-the-shelf PBX etc software won't understand them.
* Future patches will allow osmo-msc to operate with a ThemWi
transcoding MGW (TC to G.711) in the place of non-TC osmo-mgw;
in that configuration TW RTP formats will become mandatory,
as they are strictly required by ThemWi TC implementation.
Change-Id: Icea152f5f2cdbcb0df09ef5b7211d1461b499f14
---
M include/osmocom/msc/gsm_data.h
M include/osmocom/msc/ran_msg.h
M src/libmsc/msc_a.c
M src/libmsc/msc_vty.c
M src/libmsc/ran_msg_a.c
M tests/test_nodes.vty
6 files changed, 76 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/41698/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/41698?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Icea152f5f2cdbcb0df09ef5b7211d1461b499f14
Gerrit-Change-Number: 41698
Gerrit-PatchSet: 3
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: pespin.
falconia has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/osmo-msc/+/41698?usp=email )
Change subject: add vty setting for ThemWi RTP formats
......................................................................
Patch Set 2:
(1 comment)
File src/libmsc/msc_vty.c:
https://gerrit.osmocom.org/c/osmo-msc/+/41698/comment/8647e217_a0a13e2b?usp… :
PS2, Line 711: DEFUN(cfg_msc_twformat1,
> Why are you adding 4 commands instead of 1 with optional arguments? […]
I copied the approach that is used in osmo-bsc for per-BTS `codec-support`, `amr tch-f modes` and `amr tch-h modes` settings. But the approach you just indicated is clearly much better - I will rework my patch!
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/41698?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Icea152f5f2cdbcb0df09ef5b7211d1461b499f14
Gerrit-Change-Number: 41698
Gerrit-PatchSet: 2
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:56:46 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: pespin.
fixeria has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/41702?usp=email )
Change subject: logging_vty: Allow setting gsmtap log tgt as (blocking-io|nonblocking-io|wq)
......................................................................
Patch Set 2:
(2 comments)
File src/core/gsmtap_util.c:
https://gerrit.osmocom.org/c/libosmocore/+/41702/comment/4ce473bf_389dc924?… :
PS2, Line 428: int on
missing docstring
File src/vty/logging_vty.c:
https://gerrit.osmocom.org/c/libosmocore/+/41702/comment/5929a149_732ffe98?… :
PS2, Line 831: ofd_wq_mode ? 1 : 0,
A boolean is expected here, why do you convert it to an integer?
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41702?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: Id5d31bedd7d265d18f6e475ccbc94ced80598d04
Gerrit-Change-Number: 41702
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:42:13 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: pespin.
laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/41702?usp=email )
Change subject: logging_vty: Allow setting gsmtap log tgt as (blocking-io|nonblocking-io|wq)
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
> what I don't yet see is any attempt to increase the UDP socket send buffer using SO_SNDBUF. […]
I've just did a small test:
```
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
int main(int argc, char **argv)
{
int fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
int i, rc;
socklen_t optlen;
optlen = sizeof(i);
rc = getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &i, &optlen);
if (rc < 0) {
perror("getsockopt");
}
printf("sndbuf read: %d\n", i);
i = 40960000;
rc = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &i, optlen);
if (rc < 0) {
perror("setsockopt");
}
printf("sndbuf write: %d\n", i);
rc = getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &i, &optlen);
if (rc < 0) {
perror("getsockopt");
}
printf("sndbuf read: %d\n", i);
}
```
and it seems one can set whatever large integer value, the kernel will always accept it and just truncate it to (twice) the amount set in the sysctl.
So it's rather simple: Ask for something like 4 MByte (modern-day kernel default wmem_max according to private chat message of @pespin), and do that actually in at least blocking and non-blocking mode. Probably best to do it unconditionally in all modes.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41702?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: Id5d31bedd7d265d18f6e475ccbc94ced80598d04
Gerrit-Change-Number: 41702
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:29:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Attention is currently required from: pespin.
fixeria has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/41701?usp=email )
Change subject: gsmtap_util: Fix fds not closed in ofd_wq_mode=0
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41701?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: I55fd51066d22261cf89fbf9501bec3af743a641d
Gerrit-Change-Number: 41701
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:21:57 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Attention is currently required from: pespin.
laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/41703?usp=email )
Change subject: logging_vty: Set 'gsmtap log nonblocking-io' as default
......................................................................
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41703?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: Ifca8a821e13ec1327ab2476b0db91078fcff948b
Gerrit-Change-Number: 41703
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:14:23 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Attention is currently required from: pespin.
laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/41702?usp=email )
Change subject: logging_vty: Allow setting gsmtap log tgt as (blocking-io|nonblocking-io|wq)
......................................................................
Patch Set 2:
(2 comments)
Patchset:
PS2:
what I don't yet see is any attempt to increase the UDP socket send buffer using SO_SNDBUF. On my debian unstable system the default size (wmem_default) is 212992 while the maximum permitted (if an application bothers to use SO_SNDBUF) is 10485676 almost a five-fold increase.
I guess we should have some libosmocore function that reads wmem_max at program initialization time and caches it in a global variable, and then a user-callable function for "set socket buffer to maximum permitted by the OS". The latter should then be used for any UDP sockets that see a lot of transmit traffic, like TRXD and gsmtap-log.
File src/vty/logging_vty.c:
https://gerrit.osmocom.org/c/libosmocore/+/41702/comment/4dc50a0b_dc325929?… :
PS2, Line 818: "Use non-blocking, synchronous I/O (may lose msgs if UDP sndbuf becomes full)\n"
s/sndbuf/socket transmit buffer/ or s/sndbuf/socket send buffer/ ?
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41702?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: Id5d31bedd7d265d18f6e475ccbc94ced80598d04
Gerrit-Change-Number: 41702
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:13:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: pespin.
laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/41701?usp=email )
Change subject: gsmtap_util: Fix fds not closed in ofd_wq_mode=0
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41701?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: I55fd51066d22261cf89fbf9501bec3af743a641d
Gerrit-Change-Number: 41701
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 17 Dec 2025 17:06:54 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/41700?usp=email )
Change subject: gsmtap_util: Get rid of unused wq
......................................................................
gsmtap_util: Get rid of unused wq
struct gsmtap_inst went private in
1584b2ac39292aedddb8abd165957912fe9399c0 and
f38077ee6ab429ef3f0881a8ca7de4877032358a, which were merged prior to
libosmocore release 1.10.0. That release bumped the LIBVERSION major
counter, and hence that struct is officially not available and protected
by LIBVERSION ABI since then.
That means we can safely remove it from the implementation since nobody
compiled against this libversion should be using those fields directly anymore.
Related: OS#6213
Change-Id: I4f1cf168c230471a6d7be4bb065d7105a993349f
---
M src/core/gsmtap_util.c
1 file changed, 8 insertions(+), 23 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
fixeria: Looks good to me, but someone else must approve
daniel: Looks good to me, but someone else must approve
diff --git a/src/core/gsmtap_util.c b/src/core/gsmtap_util.c
index 62d3ffa..d6a9752 100644
--- a/src/core/gsmtap_util.c
+++ b/src/core/gsmtap_util.c
@@ -47,28 +47,14 @@
*
* \file gsmtap_util.c */
-/*! one gsmtap instance
- * Until gsmtap_inst_fd() is removed from the API at some point in the future, we have to keep the first member as
- * 'int' and the second as 'struct osmo_wqueue' (this effectively makes sure that the struct member wq.bfd.fd maintains
- * the same memory offset from the start of the struct) to ensure that inlined static 'instances' of gsmtap_inst_fd() in
- * old binaries keep working the way they used to even with gsmtap_inst objects obtained from newer versions of libosmocore */
+/*! one gsmtap instance */
struct gsmtap_inst {
- int osmo_io_mode; /*!< Indicates whether or not to use Osmo IO mode for message output (thus enabling use of tx queues).
- * This field member may not be changed or moved (backwards compatibility) */
- struct osmo_wqueue wq; /*!< the wait queue. This field member may not be changed or moved (backwards compatibility) */
-
- struct osmo_io_fd *out; /*!< Used when osmo_io_mode is nonzero */
+ int osmo_io_mode; /*!< Indicates whether or not to use Osmo IO mode for message output (thus enabling use of tx queues) */
+ int source_fd; /*!< the gsmtap source FD */
+ struct osmo_io_fd *out; /*!< Used when osmo_io_mode is nonzero */
int sink_fd;
};
-struct _gsmtap_inst_legacy {
- int ofd_wq_mode;
- struct osmo_wqueue wq;
- struct osmo_fd sink_ofd;
-};
-osmo_static_assert(offsetof(struct gsmtap_inst, wq) == offsetof(struct _gsmtap_inst_legacy, wq),
- gsmtap_inst_new_wq_offset_equals_legacy_wq_offset);
-
/*! Deprecated, use gsmtap_inst_fd2() instead
* \param[in] gti GSMTAP instance
* \returns file descriptor of GSMTAP instance */
@@ -82,7 +68,7 @@
* \returns file descriptor of GSMTAP instance */
int gsmtap_inst_fd2(const struct gsmtap_inst *gti)
{
- return gti->wq.bfd.fd;
+ return gti->source_fd;
}
/*! convert RSL channel number to GSMTAP channel type
@@ -485,15 +471,14 @@
gti = talloc_zero(NULL, struct gsmtap_inst);
gti->osmo_io_mode = ofd_wq_mode;
- /* Still using the wq member for its 'fd' field only, since we are keeping it for now, anyways */
- gti->wq.bfd.fd = fd;
+ gti->source_fd = fd;
gti->sink_fd = -1;
if (ofd_wq_mode) {
- gti->out = osmo_iofd_setup(gti, gti->wq.bfd.fd, "gsmtap_inst.io_fd", OSMO_IO_FD_MODE_READ_WRITE, &gsmtap_ops, NULL);
+ gti->out = osmo_iofd_setup(gti, gti->source_fd, "gsmtap_inst.io_fd", OSMO_IO_FD_MODE_READ_WRITE, &gsmtap_ops, NULL);
if (gti->out == NULL)
goto err_cleanup;
- if (osmo_iofd_register(gti->out, gti->wq.bfd.fd) < 0)
+ if (osmo_iofd_register(gti->out, gti->source_fd) < 0)
goto err_cleanup;
/* Use a big enough tx queue to avoid gsmtap messages being dropped: */
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41700?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I4f1cf168c230471a6d7be4bb065d7105a993349f
Gerrit-Change-Number: 41700
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>