Attention is currently required from: arehbein, daniel, fixeria, laforge, pespin.
jolly has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/35068?usp=email )
Change subject: osmo_io: SCTP support
......................................................................
Patch Set 9:
(6 comments)
Patchset:
PS3:
> We can probably have a read/write cb passing a cmsg, and then a separate API/cb_helper constructing/ […]
Issue will be fixed later.
Patchset:
PS7:
> HAVE_LIBSCTP still missing
Done
File include/osmocom/core/osmo_io.h:
https://gerrit.osmocom.org/c/libosmocore/+/35068/comment/39dac0ae_a82f7b2f
PS3, Line 17: // FIXME: This must avoid clashing with the existing definitions in libosmo-netif!!!
> I explicitly requested somewhere (review comment or redmine issue) to test build all osmocom softwar […]
I tested compilation with libsccp, osmo-bsc and osmo-msc. There was no clash, so I removed the comment.
File src/core/osmo_io_internal.h:
https://gerrit.osmocom.org/c/libosmocore/+/35068/comment/2cce0515_46f26155
PS1, Line 7: #include <netinet/sctp.h>
> Agree to do "if HAVE_LIBSCTP" here.
I added #ifdef HAVE_LIBSCTP.
File src/core/osmo_io_uring.c:
https://gerrit.osmocom.org/c/libosmocore/+/35068/comment/44a62e95_9a8dead4
PS7, Line 340: iofd->mode == OSMO_IO_FD_MODE_SCTP_RECVMSG_SEND) {
> If I understand correctly in https://gerrit.osmocom.org/c/libosmocore/+/35910 […]
Yes, it is not required, so I removed it.
https://gerrit.osmocom.org/c/libosmocore/+/35068/comment/35ef9dc6_68f87ed7
PS7, Line 369: } else
> else {}
Done
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35068?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I89eb519b22d21011d61a7855b2364bc3c295df82
Gerrit-Change-Number: 35068
Gerrit-PatchSet: 9
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: arehbein <arehbein(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: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 22 Feb 2024 15:04:16 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: daniel, laforge, pespin.
jolly has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/35909?usp=email )
Change subject: osmo_io: Move notify_connected function to backend
......................................................................
Patch Set 4:
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/libosmocore/+/35909/comment/a9f90d52_4271a40e
PS3, Line 17: file descriptior
> I would always use 'iofd' when talking about an iofd, as otherwise it's getting confusing as 'file d […]
But the "integer value" is what I mean. I rephrased it and hope is is clear now.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35909?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I905ec85210570aff8addadfc9603335d04eb057a
Gerrit-Change-Number: 35909
Gerrit-PatchSet: 4
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 22 Feb 2024 15:03:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/36055?usp=email )
Change subject: Make socket.c compile without libsctp support (--disable-libsctp)
......................................................................
Make socket.c compile without libsctp support (--disable-libsctp)
Change-Id: I214a16b60e0149a8b1cdcfd3c788cc56a1a40476
---
M src/core/socket.c
1 file changed, 13 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/36055/1
diff --git a/src/core/socket.c b/src/core/socket.c
index ce73cd8..d36a5f4 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -1868,6 +1868,7 @@
return 0;
}
+#ifdef HAVE_LIBSCTP
/*! Get multiple IP addresses and/or port number on socket in separate string buffers
* \param[in] fd file descriptor of socket.
* \param[out] ip_proto IPPROTO of the socket, eg: IPPROTO_SCTP.
@@ -1956,6 +1957,7 @@
local ? sctp_freeladdrs(addrs) : sctp_freepaddrs(addrs);
return rc;
}
+#endif
/*! Get local IP address on socket
* \param[in] fd file descriptor of socket
@@ -2018,6 +2020,7 @@
return talloc_asprintf(ctx, "(%s)", str);
}
+#ifdef HAVE_LIBSCTP
/*! Format multiple IP addresses and/or port number into a combined string buffer
* \param[out] str Destination string buffer.
* \param[in] str_len sizeof(str), usually OSMO_SOCK_MULTIADDR_PEER_STR_MAXLEN.
@@ -2123,6 +2126,7 @@
return sb.chars_needed;
}
+#endif
/*! Get address/port information on socket in provided string buffer, like "r=1.2.3.4:5<->l=6.7.8.9:10".
* This does not include braces like osmo_sock_get_name().
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/36055?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I214a16b60e0149a8b1cdcfd3c788cc56a1a40476
Gerrit-Change-Number: 36055
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-MessageType: newchange
Attention is currently required from: daniel, jolly, laforge, pespin.
Hello Jenkins Builder, daniel, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/35910?usp=email
to look at the new patch set (#6).
The following approvals got outdated and were removed:
Code-Review+1 by daniel, Verified+1 by Jenkins Builder
Change subject: osmo_io: Use poll/select to notify socket connection at osmo_io_uring.c
......................................................................
osmo_io: Use poll/select to notify socket connection at osmo_io_uring.c
In order to receive a connect notification from SCTP socket,
poll/select event must be used instead of a write notification via
io_uring completion event.
Once the connect notification has been received, subsequent write
notifications via io_uring are used.
Change-Id: I4eca9ea72beb0d6ea4d44cce81ed620033f07270
Related: OS#5751
---
M src/core/osmo_io_internal.h
M src/core/osmo_io_uring.c
2 files changed, 83 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/35910/6
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35910?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I4eca9ea72beb0d6ea4d44cce81ed620033f07270
Gerrit-Change-Number: 35910
Gerrit-PatchSet: 6
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(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: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: daniel, jolly, laforge, pespin.
Hello Jenkins Builder, daniel, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/35909?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Code-Review+1 by daniel, Code-Review+1 by laforge
Change subject: osmo_io: Move notify_connected function to backend
......................................................................
osmo_io: Move notify_connected function to backend
This relocation is necessary as the backend (osmo_io_fd or
osmo_io_uring) requires a different approach in handling connect
notifications. As a result, a function call has been introduced to
struct iofd_backend_ops.
In a subsequent patch, the process for the osmo_io_uring backend will
be modified to handle SCTP connect notifications using poll/select.
If connect notification is requested using poll/select, the file
descriptior must be registered to osmo_fd, using osmo_fd_register. If
read / write notification is requested by application, the file
descriptior must be registered also. A flag is used prevent calling
osmo_fd_register / osmo_fd_unregister multiple times, which would cause
a crash.
Change-Id: I905ec85210570aff8addadfc9603335d04eb057a
Related: OS#5751
---
M src/core/osmo_io.c
M src/core/osmo_io_internal.h
M src/core/osmo_io_poll.c
M src/core/osmo_io_uring.c
4 files changed, 54 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/35909/4
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35909?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I905ec85210570aff8addadfc9603335d04eb057a
Gerrit-Change-Number: 35909
Gerrit-PatchSet: 4
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(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: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: arehbein, fixeria, jolly, pespin.
jolly has uploaded a new patch set (#9) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/libosmocore/+/35068?usp=email )
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: osmo_io: SCTP support
......................................................................
osmo_io: SCTP support
Add support osmo_io operations resembling sctp_send() and sctp_recvmsg()
that is provided by libsctp of lk-sctp.
Change-Id: I89eb519b22d21011d61a7855b2364bc3c295df82
Related: OS#5751
---
M include/osmocom/core/osmo_io.h
M src/core/libosmocore.map
M src/core/osmo_io.c
M src/core/osmo_io_internal.h
M src/core/osmo_io_poll.c
M src/core/osmo_io_uring.c
6 files changed, 148 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/35068/9
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35068?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I89eb519b22d21011d61a7855b2364bc3c295df82
Gerrit-Change-Number: 35068
Gerrit-PatchSet: 9
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: arehbein <arehbein(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: jolly, laforge.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/35983?usp=email
to look at the new patch set (#6).
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: osmo_io_poll: Declare local functions "static"
......................................................................
osmo_io_poll: Declare local functions "static"
Change-Id: I6ba88cd7bbd5b5ef42eb460679696f105c9158cb
---
M src/core/osmo_io_poll.c
1 file changed, 17 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/35983/6
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35983?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I6ba88cd7bbd5b5ef42eb460679696f105c9158cb
Gerrit-Change-Number: 35983
Gerrit-PatchSet: 6
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: jolly.
Hello Jenkins Builder, daniel, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/35981?usp=email
to look at the new patch set (#6).
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: osmo_io_uring: Cancel pending request, free msghdr on completion
......................................................................
osmo_io_uring: Cancel pending request, free msghdr on completion
There is always a completion after cancelling a uring request.
Because uring requests use msghdr pointer as user data, we cannot just
free the msghdr after cancelling. Upon completion (received after
cancelling), the user data still points to the msghdr. To prevent a
use-after-free bug, msghdr is not freed, but detached from iofd
instance. Then upon completion, the msghdr (if it was detached from
iofd) is freed.
Additionally it is not required to keep IOFD_FLAG_IN_CALLBACK set
anymore, if there is a msghdr attached to iofd. As described above,
all msghdr get detached, if iofd is freed (uring request get cancelled)
during callback.
Related: OS#5751
Change-Id: Ic253f085dd6362db85f029f46350951472210a02
---
M src/core/osmo_io_uring.c
1 file changed, 43 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/35981/6
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35981?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ic253f085dd6362db85f029f46350951472210a02
Gerrit-Change-Number: 35981
Gerrit-PatchSet: 6
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-MessageType: newpatchset