Hi all,
Has any one tried to use IPv6 multicast with NDK?
I am developing a network application on TM4C129X Development Board ( and a custom board based on that board). I am using tirtos_1_20_00_28, ndk_2_23_00_00 and CCS 5.5.0.00077
I am trying to send 18-byte UDP packets from one board (Sender) to multicast address "ff02::1". I make another board (Receiver) join that "ff02::1" multicast group using setsockopt() with IPV6_JOIN_GROUP. On Receiver side, calling recvfrom( lSocket, buffer, TCPPACKETSIZE, MSG_WAITALL, (struct sockaddr *)&remote_addr, &addrlen) returns 26 (!!!), with 8 zero bytes appended the real data sent by Sender. Another problem is that remote_addr.sin6_addr and remote_addr.sin6_port are set to 0 (!!!).
Then I try to send those 18-byte UDP packets from Sender to Receiver directly using Receiver's IPv6 address (e.g "fe80::aa11:22ff:fe33:4466"), recvfrom() now returns 18 and remote_addr.sin6_addr, remote_addr.sin6_port are set correctly.
In function IPv6RxPacket() in file tirtos_1_20_00_28\products\ndk_2_23_00_00\packages\ti\ndk\stack\ipv6\ipv6in.c, in multicast sending case, I still see that srcAddr is Sender's IPv6 address and dstAddr is "ff02::1". In case I use Receiver's address (instead of multicast address), the destAddr is Receiver's address.
I am still trying to trace the function call in NDK stack, but I'd like to know if you met this problem of IPv6 multicast before? Is this a known problem?
Thanks all,
Viet Hoang.