I have a problem with setting the TTL on my Datagram packets. I am calling the setTTL(...) method on the packet before sending the packet to the multicastSocket but if I capture the packet with ethereal the TTL field is always set to 0
Basically you have to set an special system property telling the JVM to use an IPv4 stack:
-Djava.net.preferIPv4Stack=true