This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: socket: Add new OSMO_SOCK_F_NO_MCAST_ALL option ...................................................................... socket: Add new OSMO_SOCK_F_NO_MCAST_ALL option Using this option at socket creation, the caller can request disabling the IP_MULTICAST_ALL socket option. Change-Id: I5ab5de45c0b64ceb3636ea98245a23defa24ffd4 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 12 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 695e1d7..ebfcab3 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -22,6 +22,8 @@ #define OSMO_SOCK_F_NONBLOCK (1 << 2) /*! disable multiast loop (IP_MULTICAST_LOOP) */ #define OSMO_SOCK_F_NO_MCAST_LOOP (1 << 3) +/*! disable receiving all multiast even for non-subscribed groups */ +#define OSMO_SOCK_F_NO_MCAST_ALL (1 << 4) int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, unsigned int flags); diff --git a/src/socket.c b/src/socket.c index c7d081c..ca50b6f 100644 --- a/src/socket.c +++ b/src/socket.c @@ -132,6 +132,16 @@ } } + if (flags & OSMO_SOCK_F_NO_MCAST_ALL) { + rc = osmo_sock_mcast_all_set(fd, false); + if (rc < 0) { + LOGP(DLGLOBAL, LOGL_ERROR, "unable to disable receive of all multicast: %s\n", + strerror(errno)); + /* do not abort here, as this is just an + * optional additional optimization that only + * exists on Linux only */ + } + } return 0; } -- To view, visit https://gerrit.osmocom.org/3241 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5ab5de45c0b64ceb3636ea98245a23defa24ffd4 Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder