This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678 multicast receive problem

Hello!

On a TMDXEVM6678L Rev. 1.0 Evaluation Module I implemented the network communication to a Windows PC. When porting mDNS (bonjour, zeroconf) which belongs on multicasts I noticed, that receiving multicasts on the C6678 using SYS/BIOS 6.35.4.50 and NDK 2.24.0.11 with the socket Iinterface does not work (nothing is recieved on the socket and a fdPoll() on the socket does not return).

Looking about the problem using internet search I found the following thread from Mar. 2013:

http://e2e.ti.com/support/embedded/tirtos/f/355/t/253567.aspx

But I couldn't find a soultion to this problem in that thread either.
Is the problem solved in the meantime?

Following some code excerpt. This code is running in a NDK task created with TaskCreate(). The fdPoll() does not return when a multicast is sent to the socket:

       SOCKET socketRef = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
            ...
   // Join the all-DNS multicast group so we receive Multicast DNS packets.
   struct ip_mreq mreq;
   mDNSPlatformMemZero(&mreq, sizeof(mreq));
   mreq.imr_multiaddr.s_addr = AllDNSLinkGroup_v4.ip.v4.NotAnInteger;
   mreq.imr_interface.s_addr = ipv4->sin_addr.s_addr;
   err = setsockopt( socketRef, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &mreq, sizeof( mreq ) );
            ...
   FDPOLLITEM pollItemsArray[1];
   pollItemsArray[0].fd = item->multicastSocketRef;
   pollItemsArray[0].eventsRequested = POLLIN | POLLPRI;
   n = fdPoll(pollItemsArray, 1, POLLINFTIM);     // Will never be satisfied by multicast.