Attention is currently required from: daniel, fixeria, jolly, laforge, pespin.
Hello Jenkins Builder, daniel, fixeria, jolly, laforge, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41671?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: io_uring: RECVMSG_SENDMSG: Reset fd to blocking after osmo_fd_register() workaround
......................................................................
io_uring: RECVMSG_SENDMSG: Reset fd to blocking after osmo_fd_register() workaround
When IOFD_FLAG_NOTIFY_CONNECTED is requested by the user through
osmo_iofd_notify_connected(), a write_cb(0, NULL) callback is done
towards the user to notify the socket is connected.
In mode RECVMSG_SENDMSG, at least for SCTP sockets, according to comment
in iofd_uring_register() (see also OS#5751) we cannot do the write(0)
trick to get notifications, so instead we need to workaround by using a
temporary osmo_fd to poll() for write status.
To do so, we call osmo_fd_register(), which internally sets the fd as
non-blocking (O_NONBLOCK). However, this is becomes an undesired
behavior later on when connect happens and io_uring is used to
recvmsg/sendmsg, since that could cause sqes to be answered with -EAGAIN
cqes at the kernel isntead of keeping (blocking) them internally until
the transaction can be resolved. This seems was a "desired" or
"expected" behavior in older kernels according to public
discussions/tickets, but it seeems it changed over time (see eg. GH#364
below).
In summary, the conclusion seems to be: try to avoid as much as possible mixing
O_NONBLOCK with io_uring, as you may get totally unexpected/changing
behavior.
Hence, avoid keeping O_NONBLOCK for those sockets when moving back from
osmo_fd to io_uring.
See regarding related discussion on the expected behavior with io_uring and O_NONBLOCK:
https://www.spinics.net/lists/io-uring/msg04058.htmlhttps://github.com/axboe/liburing/issues/364
Change-Id: Idba623730230bc049b827e51b058cd64d23b730f
---
M src/core/osmo_io_uring.c
1 file changed, 22 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/41671/3
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41671?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: Idba623730230bc049b827e51b058cd64d23b730f
Gerrit-Change-Number: 41671
Gerrit-PatchSet: 3
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: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Attention is currently required from: falconia.
fixeria has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/osmo-msc/+/41678?usp=email )
Change subject: rtp_stream: drop use of codecs[] in struct mgcp_conn_peer
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/41678?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: I165be5c00bad3d293db2469ee4bedcbe968afcdc
Gerrit-Change-Number: 41678
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Comment-Date: Tue, 16 Dec 2025 09:25:02 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/41666?usp=email )
Change subject: cosmetic: stream_srv: srv_link: Document no need for OSMO_SOCK_F_NONBLOCK
......................................................................
cosmetic: stream_srv: srv_link: Document no need for OSMO_SOCK_F_NONBLOCK
osmo_fd_register() currently takes care of setting the socket as
non-blocking, before any blocking call is performed. Document it.
If we ever switch from osmo_fd to io_uring to process the accept() op
then we won't need to set the socket as nonblocking anyway, since
io_uring expects to work with blocking sockets.
Change-Id: I98a6ef55a0a7289b9eeb7e8062e9afa4d87f51eb
---
M src/stream_srv.c
1 file changed, 7 insertions(+), 3 deletions(-)
Approvals:
osmith: Looks good to me, approved
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
diff --git a/src/stream_srv.c b/src/stream_srv.c
index 6f86cfd..d6d4e2d 100644
--- a/src/stream_srv.c
+++ b/src/stream_srv.c
@@ -571,6 +571,10 @@
int osmo_stream_srv_link_open(struct osmo_stream_srv_link *link)
{
int ret;
+ /* No need to set OSMO_SOCK_F_NONBLOCK since non-blocking behavior is only
+ * required later on, during accept() call, and and osmo_fd_register()
+ * below already takes care of setting the socket as non-blocking. */
+ const int sk_flags = OSMO_SOCK_F_BIND;
if (link->ofd.fd >= 0) {
/* No reconfigure needed for existing socket, we are fine */
@@ -584,7 +588,7 @@
switch (link->sk_domain) {
case AF_UNIX:
- ret = osmo_sock_unix_init(link->sk_type, 0, link->addr[0], OSMO_SOCK_F_BIND);
+ ret = osmo_sock_unix_init(link->sk_type, 0, link->addr[0], sk_flags);
break;
case AF_UNSPEC:
case AF_INET:
@@ -594,12 +598,12 @@
case IPPROTO_SCTP:
ret = osmo_sock_init2_multiaddr2(link->sk_domain, link->sk_type, link->proto,
(const char **)link->addr, link->addrcnt, link->port,
- NULL, 0, 0, OSMO_SOCK_F_BIND, &link->ma_pars);
+ NULL, 0, 0, sk_flags, &link->ma_pars);
break;
#endif
default:
ret = osmo_sock_init(link->sk_domain, link->sk_type, link->proto,
- link->addr[0], link->port, OSMO_SOCK_F_BIND);
+ link->addr[0], link->port, sk_flags);
}
break;
default:
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/41666?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: I98a6ef55a0a7289b9eeb7e8062e9afa4d87f51eb
Gerrit-Change-Number: 41666
Gerrit-PatchSet: 5
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: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Attention is currently required from: laforge.
fixeria has posted comments on this change by laforge. ( https://gerrit.osmocom.org/c/pysim/+/41673?usp=email )
Change subject: pySim.ts_51_011.EF_SMSP: Also permit UCS2 for the alpha_id
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/41673?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: If10b3d6d8b34ece02dc0350ca9ea9c3f8fbf3c9e
Gerrit-Change-Number: 41673
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Tue, 16 Dec 2025 09:03:28 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Attention is currently required from: laforge.
fixeria has posted comments on this change by laforge. ( https://gerrit.osmocom.org/c/pysim/+/41672?usp=email )
Change subject: ts_51_011.EF_SMSP: Use integer division during encode
......................................................................
Patch Set 1: Code-Review+1
(1 comment)
File pySim/ts_51_011.py:
https://gerrit.osmocom.org/c/pysim/+/41672/comment/7d44e055_e190b489?usp=em… :
PS1, Line 270: obj/5
Should this also be fixed?
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/41672?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I989669434c7ddee9595ee81a0822f9966907a844
Gerrit-Change-Number: 41672
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Tue, 16 Dec 2025 08:57:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/41678?usp=email )
Change subject: rtp_stream: drop use of codecs[] in struct mgcp_conn_peer
......................................................................
rtp_stream: drop use of codecs[] in struct mgcp_conn_peer
struct mgcp_conn_peer in libosmo-mgcp-client API used to have a
mandatory codecs[] array for codec specification and an optional
ptmap[] array to be used only when the default payload type needs
to be overridden. But now the codecs[] array is deprecated;
the new way is to use ptmap[] to communicate both codecs and
payload types.
These .codecs[] and .codecs_len members in struct mgcp_conn_peer
have been marked as deprecated (and the new way of using only
ptmap[] became available as API) several release cycles ago,
but osmo-msc kept filling out both arrays, leading to compilation
warnings. Remove this use of deprecated API.
Change-Id: I165be5c00bad3d293db2469ee4bedcbe968afcdc
---
M src/libmsc/rtp_stream.c
1 file changed, 0 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/78/41678/1
diff --git a/src/libmsc/rtp_stream.c b/src/libmsc/rtp_stream.c
index eb9ba7e..14014c0 100644
--- a/src/libmsc/rtp_stream.c
+++ b/src/libmsc/rtp_stream.c
@@ -329,13 +329,11 @@
codec->subtype_name);
continue;
}
- verb_info.codecs[i] = m->mgcp;
verb_info.ptmap[i] = (struct ptmap){
.codec = m->mgcp,
.pt = codec->payload_type,
};
i++;
- verb_info.codecs_len = i;
verb_info.ptmap_len = i;
}
rtps->codecs_sent_to_mgw = true;
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/41678?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I165be5c00bad3d293db2469ee4bedcbe968afcdc
Gerrit-Change-Number: 41678
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>