One: does it involve below or any other steps?
- Create a socket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP)
- Bind it to AF_INET6, in6addr_any, port X.
- Disable IPV6_V6ONLY using setsockopt.
Second: If answer to above is yes, in other operating system, if a datagram would have got received over IPv4, it would have lead to IPv4-mapped IPv6 address in the recvfrom call and protocol would have been considered udp6.
Third: is UDP46 only supported by Apple Kernel (is it not a POSIX standard behaviour) and also within Apple Kernel - not supported on all versions?
Why this question? We created a NWListener on a local port, using udp and when we ran a 'netstat -an -p udp', it showed protocol as 'udp46'