We have been developing our Java applications under OSX for some time. Since switching to OSX Lion (version 10.7.1 now), we see sporadic issues around multicast packets going into the bit bucket and we don't know why. These are unit tests that are in the same VM connecting across the loopback. Sometimes disabling an interface resolves this. Other times it doesn't.
My only guess at this time is that it is related to multicast membership on different interfaces. I've noticed that even if an interface is offline (rj45 not plugged in or wifi disabled) that multicast groups still are attached to the interface. Is that proper?
IPv4 Multicast Group Memberships
Group Link-layer Address Netif
224.0.0.251 <none> lo0
224.0.75.75 <none> lo0
228.10.0.10 <none> lo0
224.0.0.1 <none> lo0
224.0.0.251 1:0:5e:0:0:fb en1 << offline
224.0.75.75 1:0:5e:0:4b:4b en1 << offline
224.0.0.1 1:0:5e:0:0:1 en0
224.0.0.251 1:0:5e:0:0:fb en0
224.0.75.75 1:0:5e:0:4b:4b en0
Is there any way to tune these memberships? I've tried various commands with route
(del and others) and ifconfig
(up/down) to no avail. Am I barking down the wrong hole with this?
Thanks.
EDIT:
Turns out that if I unplug by hardwired ethernet and disable Wifi then my test can discover each other over multicast. But if either interface is enabled, it does not work.
route del
and others andifconfig down
andup
and others. These are unit tests in the same VM connecting across loopback.