I have a CentOS 7.2 machine that is a VMware guest. I am subscribing to a multicast group and seeing all the multicast I'd expect, but my app is not seeing the contents of the stream. strace shows that it is waiting on a select() system call. What am I forgetting?
Here's what I've done:
- Started a multicast sender on a remote host.
- Built a CentOS 7.2 guest on a VMware host.
- I stop and disable firewalld, and
yum erase filewalldon the guest.iptables -Lshows:
-
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination - I run :
socat UDP4-RECVFROM:65000,ip-add-membership=239.31.82.10:10.0.54.210,fork STDOUT - I see no output from the command.
netstat -gnshows that it is subscribed to the multicast group.- selinux is disabled, in
/etc/selinux/configI see:SELINUX=disabled. Yes, I have rebooted since that setting. Also I see:SELinux status: disabledfromsestatus tcpdump -n -nn -i eth0 host 239.31.82.10shows packets hitting the interface from that IP, destined to the UDP port 65000.- Another host subscribed to the same multicast group sees data.
- I build another VM guest, this time using CentOS 6.4, and it works fine. I see regular output from my multicast sender.
- I build another VM guest, again using CentOS 7.2, and it works fine. This time I use a minimal install, however.
My issue looks like the firewall is blocking the packets, but as shown there is no firewall enabled.
The one significant difference between my not-working host and my working host is that the not-working host has two interfaces configured on it. But again, I am showing it as subscribed to the multicast group and I am showing packets hitting the interface. As well, I have shut down the second interface but that has not helped.
Thanks.