# [ipv6][ping6] Can we still get the IPv4-compatible or IPv4-mapped addresses via ping6 -ac?



## weihong (Mar 12, 2021)

Hi all,

I am still learning about the utility ping6(8) and have a question here.
From the man page of ping6(8), it has an option "a" with multiple sub options a,c,g,l,s and A, where the sub option c "requests responder's IPv4-compatible and IPv4-mapped addresses."

Here is what I did to try to get the related response:
One of my interface is like:

```
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=81009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER>
    ether 00:0c:29:e2:fb:eb
    inet 172.16.129.105 netmask 0xffffff00 broadcast 172.16.129.255
    inet6 fe80::20c:29ff:fee2:fbeb%em0 prefixlen 64 scopeid 0x1
    inet6 2000::105 prefixlen 64 anycast
    inet6 2000::15 prefixlen 64
    inet6 fec0::5 prefixlen 64
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
```

(I have assigned site-local, global and anycast addresses)

1. I assign an ipv4-comatible and ipv4-mapped address to my FreeBSD:

```
ifconfig em0 inet6 ::ffff:172.16.129.105
ifconfig em0 inet6 ::172.16.129.105
```
2. Now the interface is like

```
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=81009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER>
    ether 00:0c:29:e2:fb:eb
    inet 172.16.129.105 netmask 0xffffff00 broadcast 172.16.129.255
    inet6 fe80::20c:29ff:fee2:fbeb%em0 prefixlen 64 scopeid 0x1
    inet6 2000::105 prefixlen 64 anycast
    inet6 2000::15 prefixlen 64
    inet6 fec0::5 prefixlen 64
    inet6 ::ffff:172.16.129.105 prefixlen 64
    inet6 ::172.16.129.105 prefixlen 64
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
```

3. I ping6 the link-local address with "-ac" but have no response back

```
ping6 -c1 -ac fe80::20c:29ff:fee2:fbeb%em0


16 bytes from fe80::20c:29ff:fee2:fbeb%em0:
  no address
```
4. However when I use the option "-ag", I can see the addresses I just assigned:

```
# ping6 -c1 -ag fe80::20c:29ff:fee2:fbeb%em0
PING6(72=40+8+24 bytes) fe80::20c:29ff:fee2:fbeb%em0 --> fe80::20c:29ff:fee2:fbeb%em0
76 bytes from fe80::20c:29ff:fee2:fbeb%em0:
  2000::15(TTL=infty)
  ::ffff:172.16.129.105(TTL=infty)
  ::172.16.129.105(TTL=infty)


--- fe80::20c:29ff:fee2:fbeb%em0 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
```

So, is the way that I assign ipv4-compatible address and ipv4-mapped address correct?
Or, should the option "-ac" respond with the addresses?


Thank you

Thank you

Thank you


----------

