I have a pair of Solaris 10 boxes which are supposed to send multicast UDP packets to a group of hosts. One of them works just fine, whereas the other one does not.
The problem with the second machine is that it doesn't know what MAC address to use to wrap this piece of UDP/IP in an ethernet frame. When I run
arp -an I see that it has this multicast address as
U for unresolved for a couple seconds, then it gives up.
Nobody answers ARP requests for this multicast IP address, which is totally expected.
In theory (and in practice on the other machine) this MAC address should be well known. You take the lower 23 bits of the IP address, OR it with 01:00:5e:00:00:00 and you get the MAC address of the multicast group. No ARPs should be sent at all.
When I manually inject this MAC address into the ARP table of that machine (using
arp -s), it works OK.
PS. The software runs within a non-global Solaris zone. Maybe it does make some difference.