VIRT-PHY: Fixed error causing send msgs to be received on same sock.
This could be disabled setting socket option IP_MULTICAST_ALL = 0. Change-Id: Ia2838c4cd39bfac04c014b4c8512466b301d8875
This commit is contained in:
parent
360de6bead
commit
241fe9c3e2
|
@ -52,7 +52,7 @@ struct mcast_client_sock *mcast_client_sock_setup(
|
|||
struct mcast_client_sock);
|
||||
struct sockaddr_in *rx_sock_conf = talloc_zero(NULL,
|
||||
struct sockaddr_in);
|
||||
int rc, reuseaddr = 1, loopback = 1;
|
||||
int rc, reuseaddr = 1, loopback = 1, all = 0;
|
||||
|
||||
client_sock->osmo_fd = talloc_zero(ctx, struct osmo_fd);
|
||||
client_sock->mcast_group = talloc_zero(ctx, struct ip_mreq);
|
||||
|
@ -107,6 +107,14 @@ struct mcast_client_sock *mcast_client_sock_setup(
|
|||
return NULL;
|
||||
}
|
||||
|
||||
// this option will set the delivery option so that only packages are received
|
||||
// from sockets we are bound to via IP_ADD_MEMBERSHIP
|
||||
if (setsockopt(client_sock->osmo_fd->fd, IPPROTO_IP,
|
||||
IP_MULTICAST_ALL, &all, sizeof(all)) < 0) {
|
||||
perror("Failed to modify delivery policy to explicitly joined.\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// configure and register the osmocom filedescriptor
|
||||
client_sock->osmo_fd->cb = fd_rx_cb;
|
||||
client_sock->osmo_fd->when = BSC_FD_READ;
|
||||
|
|
Loading…
Reference in New Issue