3

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.

2 Answers 2

1

Do you have multiple interfaces? The first one listed in /etc/zones/myzone.xml will be used for multicast. You should be able to see this with "netstat -rn".

Here is a blog entry that covers this: http://www.lecentre.net/blog/archives/142

1
  • Routing table is fine. I checked that. It's not that the packets get sent via wrong interface and don't reach the destination. They don't get sent at all, which I verified with snoop. Feb 5, 2013 at 13:11
1

What type of networking does the zone running the app use? Shared or exclusive? It is possible to specify the mac address of the vnic for the zone using the anet property. Checkout the relevant doc section.

1
  • What has it to do with determination of MAC addresses for UDP multicast groups? Feb 6, 2013 at 9:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .