Attention is currently required from: dexter, laforge, neels.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/36363?usp=email )
Change subject: Convert RTP/RTCP/OSMUX I/O from osmo_fd to osmo_io ......................................................................
Patch Set 4:
(6 comments)
File src/libosmo-mgcp/mgcp_network.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/36363/comment/afaf69e5_1474aeb2 PS4, Line 797: void forward_data_tap(struct osmo_io_fd *iofd, struct mgcp_rtp_tap *tap, struct msgb *msg) we can probably constify "msg" in a followup patch here, it would help understand it's being copied and not owned by the function.
https://gerrit.osmocom.org/c/osmo-mgw/+/36363/comment/506d7a95_53ade661 PS4, Line 1047: * \param[in] msg message buffer that holds the data to be send. Please document here:
"""" * If the function returns success (0), it will take ownership of the msgb and * internally call msgb_free() after the sendto request completes. * In case of an error the msgb needs to be freed by the caller. """"
https://gerrit.osmocom.org/c/osmo-mgw/+/36363/comment/e7790112_b6d99ca9 PS4, Line 1520: .from_addr = (struct osmo_sockaddr *) saddr, I odn't see why the cast is needed here? saddr is already that type.
https://gerrit.osmocom.org/c/osmo-mgw/+/36363/comment/e203edfd_d8e4c80b PS4, Line 1696: if ((end->rtp && osmo_iofd_get_fd(end->rtp) != -1) || You can probably skip the "osmo_iofd_get_fd(end->rtp) != -1" check here, or otherwise make sure you free end->rtp before reassigning it below. Same for RTCP.
I don't expect this to be a problem when running, but from a casual reader may look suspicious otherwise.
File src/libosmo-mgcp/mgcp_osmux.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/36363/comment/e4d9cea0_8228b325 PS4, Line 526: goto out_free_v4; you may be missing an "osmo_iofd_unregister()" in the section you are going with goto here. Or does osmo_iofd_free() include some sort of unregistering?
You are also probably missing close() of ipv4 fd?
File tests/mgcp/mgcp_test.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/36363/comment/915e2d65_cccb2977 PS4, Line 661: uint8_t *buf = msgb_data(msg); const