Android phone fails to communicate using IPv6 I observe the following problem with my Android phone (Sony Xperia XZ, Andoid Oreo 8.0.0)

Though the phone seems to have a correct set of IPV6 addresses it fails to communicate when I use IPV6. the phone works OK using IPV4.

Details

I have about 5 Personal Computers in a LAN which can PING each other via their IPV6 adresses, and communicate via IPV4 and IPV6. I added my Android phone to the same LAN via WIFI/WLAN, at it can communicate via IPV4, but not IPV6.

I have checked the IP setings of the phone, it gets a complete and correct set of IPV4 and IPV6 adresses from the local DHCP server. 

To start troubleshooting somewhere, I installed a PING tool on the phone, and found that it can PING any other computer via IPV4, but not via IPV6.

On one of my PCs, I installed Wireshark to see what is happening, and this is what I found, if I PING the IPV6 address of the phone from the PC:

On the pc, I initiate a PING test:

ping [ipv6 address of phone] -6 -n 1


and this is what Wireshark revealed on ethernet level (with my comments):


  mobile mac address discovery via multicast


[pc mac] to [33:33:ff:4d:50]: Neighbor Solicitation for [mobiile IPV6] from [pc mac]
[mobile mac] to [pc mac]: Neighbor Advertisement [mobile ipv6]: [mobile mac]



  mobile phone mac address resolution success - try to ping


[pc mac] to [mobile mac]: Echo (ping) request



  response from phone: try to get PC mac address!" Has heard the PING request!


[mobile mac] to [33:33:ff:f4:fd:12]: Neighbor Solicitation for [pc IPV6] from [mobile mac]



  pc responds correctly


[pc mac] to [mobile mac]: Neighbor Advertisement [pc ipv6]: [pc mac]



  phone tries same again - has not "heard" the response !?


[mobile mac] to [33:33:ff:f4:fd:12]: Neighbor Solicitation for [pc IPV6] from [mobile mac]



  pc again responds correctly


[pc mac] to [mobile mac]: Neighbor Advertisement [pc ipv6]: [pc mac]



  3rd retry!


[mobile mac] to [33:33:ff:f4:fd:12]: Neighbor Solicitation for [pc IPV6] from [mobile mac]



  pc patiently responds correctly once more


[pc mac] to [mobile mac]: Neighbor Advertisement [pc ipv6]: [pc mac]


This is where the PC gives up and shows a failed PIING error message.

From what I see on the Wireshark trace, the phone fails to pick up the mac address resolution responses, and thus never knows about the Ethernet address of the PC, cannot send a response and and this is why the PING request fails.

Trying the other direction, when I PING from the phone to the PC running Wireshark, not a single packet is captured, seems like the phone doesn't even try.

To me ist seems like the IPV6 stack on the phone is dead, despite that DHCP has worked.

Anyone who has deeper insight into the implementation details of IPv6 on Android who can give me any info how to resolve this?

Thnx, Armin
I reckon that there is a firewall on your phone preventing the phone from receiving the response message of mac resolution from pc, and probably the firewall levels are different between ipv4 protocol and ipv6 protocol, on ipv6, this level is relative high and block all the ICMP echo request.
The answer above is my assumption, if you totally find a solution. Hope you let me know how to fix it and I have been troubled by this for a period of time until now.