Using dual-stack with WSK

Hello,

In my driver I create IPv6 socket and bind it to ::. If I want to receive IPv4 packets as well, in userspace I could set IPV6_V6ONLY to zero:

int v6only = 0;
setsockopt(sd, IPPROTO_IPV6, IPV6_V6ONLY, (void *) &v6only, sizeof(v6only))

I tried the similar thing in kernel:

int ipv6Only = 0;
LOG_IF_NOT_NT_SUCCESS(status = connectionDispatch->Basic.WskControlSocket(*socket, WskSetOption, IPV6_V6ONLY, SOL_IPV6, sizeof(ipv6Only), &ipv6Only, 0, NULL, NULL, NULL));

but I keep getting STATUS_INVALID_PARAMETER. I also tried SOL_SOCKET with the same effect. Is it possible to enable dual-stack with WSK?

Found this PPT from 2006 with working sample: