I work in a mixed IPv4 / IPv6 environment. I read that IPv4 addresses can be mapped into the IPv6 space with this syntax

::ffff: ( is the IPv4 address)

Does Linux support this notation ? All these fail on my server:

ping6 ::ffff: # to the server IP
ping6 ::ffff:

1 Answer 1


Rather than using ping6, try ssh'ing to ::ffff:

I think the specific failure here is related to ping6, not the IP4 mapped addresses.

Aren't IPv4 mapped IPv6 addresses actually using IPv4, and hence, not suitable for ping6?

Linux has a socket option, IPV6_V6ONLY which prevents some applications using IPv4 mapped addresses. However, I think for ping6 the specific issue is the way it works internally.

This is from netbsd, but I think it covers the issue.

You should be aware that IPv4 mapped IPv6 is still IPv4 - it's only presented in a IPv6-resembling text format (or actually, when calling your operating system's libraries or kernel, binary socket address format.)

For dual-protocol applications this is no problem - they know how to switch (implicitly, when using the right (modern) library calls).

  • 1
    ssh works indeed! Why would support for IPv4 mapped addresses be specifiy to each application ? Jul 23, 2013 at 18:43
  • 2
    lists.apple.com/archives/ipv6-dev/2011/Oct/msg00003.html for an explanation regarding ping6
    – dawud
    Jul 23, 2013 at 18:46
  • 1
    @GeneVincent I would expect that support for IPv4 mapped addresses is specific to libraries. Tools like ping6 have their own code for mapping addresses and building packets, and in the case of ping6 I would expect it to use IPv6 ICMP packets rather than IPv4 ICMP packets. IPv4 wouldn't recognize the ping request.
    – BillThor
    Jul 24, 2013 at 0:04

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.