No IPv4 for mobile data on certain carriers

Original title: 464XLAT support is broken/disabled

(This title was changed because there is currently no data to establish a relationship between this issue and a problem with the CLAT service.)

Basic info

  • Device: rhode, devon (#2401)
  • CalyxOS version: 5.11.1 (confirmed since at least 5.7.0, but side effects have been present for me for at least 2 months.)
  • Confirmed carriers affected: VIVO BR, and Bouygues telecom (#2401).

Brief description of the issue

464XLAT does not work under CalyxOS. It does just fine in stock Android.

Steps to reproduce

  1. Use a (mobile?) network with 464XLAT.
  2. Go under Settings > About this device > IP address

Expected result

There should be two addresses at least, It should have one IPv4, that's used for 464XLAT translation. (something like 172.0.0.2...) and the regular global IPv6 address.

Actual result

Only one, the global IPv6 address is shown.

Screenshots

image

Any other info

This breaks a lot of apps and applications that have hard-coded IPv4 addresses, as they do not pass through the DNS64 layer. It is also possible to observe that if you set something like Cloudflare DNS (not the DNS64 version), that connectivity to IPv4 only websites (calyxos.org is one) breaks completely, this confirms that is it not just a visual bug.

A workaround for those broken applications is to check if the carrier supports legacy IPv4 mode by changing APN settings, this is not ideal, but if so, it is possible to connect to IPv4 resources properly again, though at the cost of losing IPv6 connectivity, and probably only over CGNAT.

Issues #2401, #2402 (closed), and #2403 (closed) seem to be caused by this. (created this for better organization)

Edited by LucasMZ