I am trying to change the ttl value in UDP packet by using KSoIpTTL option before sending the packet. However, it appears to be not working for multicast destination (works for unicast though). When I observe using sniffer, the packet has TTL value of 1. Any clue? SetOpt returns KErrNone and packet is also sent successfuly. Problem is only with TTL value.
iSocket.Open(iSocketSrv,KAfInet, KSockDatagram, KProtocolInetUdp,iConnection);
res = iSocket.SetOpt( KSoIpTTL, KSolInetIp, 5 );
iSocket.SendTo(getBuff, toAddr, 0, iStatus);
Documentation for KSoIpTTL seems to be incomplete. It mentions incomplete senstense:
"Note: For the TTL of multicast destinations, "
I tried with KSoIp6MulticastHops but it fails.