Attention is currently required from: daniel, laforge, neels.
pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39224?usp=email )
Change subject: mgw: CRCX: Split mgcp header pars parsing into a previous step
......................................................................
Patch Set 5:
(1 comment)
File src/libosmo-mgcp/mgcp_protocol.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/39224/comment/4f29ee5f_ef2e9b8c?usp… :
PS4, Line 710: if (osmux_init(trunk) < 0) {
> I agree that the endp is only marginally related and could be omitted from logging context. […]
That means making even more changes in this commit, so no, I'll keep it there in here.
Please understand this is a patchset already changing a lot of stuff and that further steps of work can (and will) be done later.
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39224?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I3ee5158c254213203830fe9c38de11c15b4b19c1
Gerrit-Change-Number: 39224
Gerrit-PatchSet: 5
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-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 16 Jan 2025 13:59:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: daniel, laforge, neels.
pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39224?usp=email )
Change subject: mgw: CRCX: Split mgcp header pars parsing into a previous step
......................................................................
Patch Set 5:
(3 comments)
File include/osmocom/mgcp/mgcp_protocol.h:
https://gerrit.osmocom.org/c/osmo-mgw/+/39224/comment/8e66f61b_c4c8050b?usp… :
PS4, Line 7: #define MGCP_PARSE_HDR_PARS_OSMUX_CID_WILDCARD (-1)
> i disagree with that position. […]
Neels, what are you talking about? You say you want me to add an enum with one or two fields and let aside the other 2^16 values? Or you want me to add 2^16 values to the enum?
enums are meant for closed sets of values, not to cover int ranges with specific 2 values....
File src/libosmo-mgcp/mgcp_msg.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/39224/comment/a7aef3e8_dcc2a2f8?usp… :
PS4, Line 257: LOGP(DLMGCP, LOGL_NOTICE, "wrong MGCP option format: '%s'\n", line);
> What i would like to see is that the parsing code returns error messages to the caller. […]
As already mentioned, I submitted a patch improving this at the end, so I guess it's fine now?
File src/libosmo-mgcp/mgcp_protocol.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/39224/comment/01169e4e_cad6ee3e?usp… :
PS4, Line 846: case -523:
> (you don't agree?)
I already changed this to be negative as requested by daniel, so no, I won't spend time changing it into positive values again. Feel free to spend your own time doing that after your patchset is merged if you think it's worth it.
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39224?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I3ee5158c254213203830fe9c38de11c15b4b19c1
Gerrit-Change-Number: 39224
Gerrit-PatchSet: 5
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-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 16 Jan 2025 13:57:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/39355?usp=email )
Change subject: jobs/master,gerrit: use io_uring seccomp profile
......................................................................
jobs/master,gerrit: use io_uring seccomp profile
Use the seccomp profile not only in ttcn3 testsuites, but also in
master-builds and gerrit-verifications so we can test io_uring there
too.
CI happened to work without this for libosmocore on build4 because of a
specific docker version where io_uring was not yet (fully?) disabled in
the default seccomp profile. It did not work without this patch on
build5 where we currently have a newer docker version.
Related: OS#6405, OS#6186
Related: docker-playground I27567c2a5d9543c3509c316226c082ab950c5ebc
Change-Id: I71df7f7eeb79b831fb67d2cda377cf1d0619b93d
---
M jobs/gerrit-verifications.yml
M jobs/master-builds.yml
2 files changed, 6 insertions(+), 0 deletions(-)
Approvals:
pespin: Looks good to me, approved
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml
index 857a944..9691250 100644
--- a/jobs/gerrit-verifications.yml
+++ b/jobs/gerrit-verifications.yml
@@ -46,11 +46,13 @@
sequential: false
# most common build invocation
# SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
+ # seccomp profile is needed for io_uring (OS#6405)
# Documentation for variables (keep in sync!):
# https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verificatio…
docker_run: |
docker run --rm=true \
--cap-add SYS_PTRACE \
+ --security-opt seccomp=$HOME/osmo-ci/_docker_playground/seccomp_profile.json \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
-e JOB_NAME="$JOB_NAME" \
@@ -70,6 +72,7 @@
docker run --rm=true \
--cap-add SYS_PTRACE \
+ --security-opt seccomp=$HOME/osmo-ci/_docker_playground/seccomp_profile.json \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
-e JOB_NAME="$JOB_NAME" \
diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml
index 69f4b70..969f2c7 100644
--- a/jobs/master-builds.yml
+++ b/jobs/master-builds.yml
@@ -19,11 +19,13 @@
sequential: false
# most common build invocation
# SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
+ # seccomp profile is needed for io_uring (OS#6405)
# Documentation for variables (keep in sync!):
# https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verificatio…
docker_run: |
docker run --rm=true \
--cap-add SYS_PTRACE \
+ --security-opt seccomp=$HOME/osmo-ci/_docker_playground/seccomp_profile.json \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
-e IS_MASTER_BUILD=1 \
@@ -48,6 +50,7 @@
docker run --rm=true \
--cap-add SYS_PTRACE \
+ --security-opt seccomp=$HOME/osmo-ci/_docker_playground/seccomp_profile.json \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
-e IS_MASTER_BUILD=1 \
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/39355?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I71df7f7eeb79b831fb67d2cda377cf1d0619b93d
Gerrit-Change-Number: 39355
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/39348?usp=email )
Change subject: osmo_io: Improve osmo_iofd_notify_connected() documentation
......................................................................
osmo_io: Improve osmo_iofd_notify_connected() documentation
The mentioned scenario happens when using osmo_stream_cli inside
libosmo-abis BTS code connecting to an osmo-bsc in the loopback
interface.
The client sends SYN and the server sends SYN+ACK and then quickly sends
an IPA ID GET.
Change-Id: Ica20a050b98d117995a5b625b23ab9faa61aabee
(cherry picked from commit 59753c57a5d084549b43e63e3f0a0f6b4d21d766)
---
M src/core/osmo_io.c
1 file changed, 12 insertions(+), 2 deletions(-)
Approvals:
neels: Looks good to me, but someone else must approve
Jenkins Builder: Verified
osmith: Looks good to me, approved
diff --git a/src/core/osmo_io.c b/src/core/osmo_io.c
index 98d8ef3..9c93e25 100644
--- a/src/core/osmo_io.c
+++ b/src/core/osmo_io.c
@@ -994,12 +994,22 @@
/*! Request notification of the user if/when a client socket is connected.
* Calling this function will request osmo_io to notify the user (via
- * write call-back) once a non-blocking outbound connect() of the
- * socket completes.
+ * write call-back with res=0 and msgb=NULL) once a non-blocking outbound
+ * connect() of the socket completes.
*
* This only works for connection oriented sockets in either
* OSMO_IO_FD_MODE_READ_WRITE or OSMO_IO_FD_MODE_RECVMSG_SENDMSG mode.
*
+ * The fact that the write call-back is called with msgb=NULL can be used to
+ * distinguish before this "connected" notification and a socket write failure.
+ *
+ * If the server transmits data quick enough after accepting the connection,
+ * it may happen that a read call-back is triggered towards the user before this
+ * special write-callback, since both events may come together from the kernel.
+ * Hence under those scenarios where server starts the communication, it is
+ * important not to assume or require that the write-callback(res=0, msgb=NULL)
+ * will be the first one triggered.
+ *
* \param[in] iofd the file descriptor */
void osmo_iofd_notify_connected(struct osmo_io_fd *iofd)
{
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/39348?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: pespin/rel-1.10.0
Gerrit-Change-Id: Ica20a050b98d117995a5b625b23ab9faa61aabee
Gerrit-Change-Number: 39348
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/39347?usp=email )
Change subject: gsmtap: Increase txqueue max_length from 64 to 1024
......................................................................
gsmtap: Increase txqueue max_length from 64 to 1024
The default value may be too low for main loop iterations writing a lot
of output. Increase it to a saner value.
Change-Id: Ie737e1d060ea3ee48631604bbae1b8b84cf787b9
(cherry picked from commit 5edb7d54a8265ad6f44afdd0d07eda041f54ed98)
---
M src/core/gsmtap_util.c
1 file changed, 2 insertions(+), 2 deletions(-)
Approvals:
neels: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/core/gsmtap_util.c b/src/core/gsmtap_util.c
index b64c7b0..62d3ffa 100644
--- a/src/core/gsmtap_util.c
+++ b/src/core/gsmtap_util.c
@@ -496,8 +496,8 @@
if (osmo_iofd_register(gti->out, gti->wq.bfd.fd) < 0)
goto err_cleanup;
- /* osmo write queue previously used was set up with value of 64 */
- osmo_iofd_set_txqueue_max_length(gti->out, 64);
+ /* Use a big enough tx queue to avoid gsmtap messages being dropped: */
+ osmo_iofd_set_txqueue_max_length(gti->out, 1024);
}
return gti;
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/39347?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: pespin/rel-1.10.0
Gerrit-Change-Id: Ie737e1d060ea3ee48631604bbae1b8b84cf787b9
Gerrit-Change-Number: 39347
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>