I have IPv6 addresses from sixxs.net but if I ping a host that has both IPv4 and IPv6 addresses (i.e. www.google.com or www.facebook.com) I get the IPv4 address on windows 10 but on all the windows 7 and windows 8.1 machines in the same network get the IPv6 address. I have to use -6 to force it to ping the IPv6.

I have tried the shortcuts mentioned here https://support.microsoft.com/en-us/kb/929852 to prefer IPv6 over IPv4 but it does not fix the issue. When I go to web sites that are IPv4 and IPv6 I always get the IPv4 page.

test-ipv6.com is telling me that my browser has a real working IPv6 address but is avoiding using it. http://test-ipv6.com/faq_avoids_ipv6.html

h:\>ping www.facebook.com

Pinging star.c10r.facebook.com [] with 32 bytes of data:
Reply from bytes=32 time=8ms TTL=87

h:\>ping -6 www.facebook.com

Pinging star.c10r.facebook.com [2a03:2880:f013:1:face:b00c:0:1] with 32 bytes of
Reply from 2a03:2880:f013:1:face:b00c:0:1: time=145ms
netsh interface ipv6 show prefixpolicies
Querying active state...

Precedence  Label  Prefix
----------  -----  --------------------------------
        50      0  ::1/128
        40      1  ::/0
        35      4  ::ffff:0:0/96
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96


Thought there was an issue with my router. When I upgraded from Shibby Tomato v131 to v132 it seemed to fix the issue but now it's back again. It still works with Windows 7 and 8.1 but not Windows 10. I use fixed wireless so there is some latency in my internet connection already. When I use the IPv6 tunnel it sometimes adds significant latency (59-100ms). I think there is a feature of windows 10 that will favor IPv4 if IPv6 is significantly slower but I don't know what the limits are.

2nd Update

If I disable IPv4 then IPv6 works properly. If I ping a hostname that has both IPv4 and IPv6 it will ping the IPv6 address.

>ping facebook.com

Pinging facebook.com [2a03:2880:2130:7f20:face:b00c:0:25de] with 32 bytes of da
Reply from 2a03:2880:2130:7f20:face:b00c:0:25de: time=161ms
Reply from 2a03:2880:2130:7f20:face:b00c:0:25de: time=317ms
Reply from 2a03:2880:2130:7f20:face:b00c:0:25de: time=215ms
Reply from 2a03:2880:2130:7f20:face:b00c:0:25de: time=154ms

Ping statistics for 2a03:2880:2130:7f20:face:b00c:0:25de:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 154ms, Maximum = 317ms, Average = 211ms
  • I'm curious what issue this is causing for you? – EBGreen Oct 9 '15 at 19:19
  • I'm curious what is the output of netsh interface ipv6 show prefixpolicy? – user1686 Oct 9 '15 at 19:27
  • 1
    I think it is prefixpolicies not prefixpolicy – EBGreen Oct 9 '15 at 19:52
  • This issue is when I go to web that supports IPv6 and IPv4 with the same hostname (www.sixxs.net, www.kame.net) I land on the IPv4 site and not the IPv6 site like is supposed to happen. – Lee Ballard Oct 17 '15 at 1:17
  • I see the same thing on the windows 10 machine that does not work and the windows 8.1 machine that does work – Lee Ballard Oct 17 '15 at 1:24

I had the same niggling issue -- ipv4 and ipv6 both work, but if I try to ping (or browse etc.) any name with an IPv4 A record, Windows would always prefer that over the v6 (AAAA) address. There is logic inside the network stack that sorts the addresses from a DNS query to choose which to prefer. In my case, it was preferring the v4 addresses because my Wifi interface supports wake-on-LAN aka always-on-always-connected (AOAC), but apparently only for IPv4.

There's an ETW trace point you can enable to find out exactly what is happening when it sorts the addresses; here's an example of how to do that using the built-in netsh tool. I'm using www.google.com as an example, but any host with both A and AAAA records should work.

netsh trace start provider=Microsoft-Windows-TCPIP level=5 keywords=ut:TcpipRoute
ping -n 1 www.google.com
netsh trace stop
netsh trace convert %TEMP%\NetTraces\NetTrace.etl

Now, look in the nettrace.txt file that it wrote, and hopefully you'll find a clue. In my case, it was:

[Microsoft-Windows-TCPIP]IP: Address pair (::ffff:, ::ffff: is preferred over (2601:XXX:XXX:XXX:XXX:XXX:XXX:XXX, 2607:f8b0:400e:c04::67) by SortOptions: 0, Reason: Prefer Aoac Interface  (Rule D 1.1).

(where XXX is my public IPv6 address that I've redacted).

I don't know if there is any way to override this specific rule (now I know why it's making that choice, I'm comfortable enough leaving it as-is).

  • Looks like I have a similar problem to the topicstarter. ETL shows: Address pair (::ffff:, ::ffff: is preferred over (2002:..., 2620:1ec:26:1::36) by SortOptions: 0, Reason: Prefer Matching Label (Rule D 5.0). – LOST Mar 18 '18 at 17:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.