IPv6 over dgram basic support is a bit simpler than IPv4 (which was implemented some time ago) because the data sent to and received from raw ipv6 socket doesn't include ip header (and only the payload, ICMP packet in this case). In fact, it is possible to enable the raw packet outgoing data with IPV6_HDRINCL (works on Windows while requires admin privileges). But this is out of scope for now (and we don't support this option at all currently even for real raw sockets).