Matt? Quinn? Any thoughts on this?
I must have missed this go by originally. Quinn is right, you can open a TSI and I will look into this situation in more detail.
Regarding:
It appears that T-Mobile is using "Dual Stack Lite", as described in RFC 6333, which
explains why the IP address for LTE is always 192.0.0.1. Is there any information
available on whether this is supported in NEPacketTunnelProvider?
You are correct. When the device reboots or the device switches over to a all IPv6 cellular carrier like you are describing, the potential for the XLAT interface to come alive is available, and that is what you are seeing with 192.0.0.1, essentially XLAT464 has been enabled to provide IPv4 availability for cellular as well.
This means that connections running through your tunnel should be able to user either IPv4 or IPv6, which is good. In some cases your tunnel may only come up with IPv6 availability and you may need to perform address translation etc... but that is larger another topic altogether.
Regarding your NWUDPSession
issues, this is a bit odd and I suspect that you may have something wrong here if your TCP connections through the tunnel exhibit the same behavior. I find that TCP is a better barometer of the state of the tunnel because of the book-keeping built into how TCP works as opposed to UDP.
How are you parsing your data being read from the virtual interface and determining that it should be send as datagrams connections through NWUDPSession
?
Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com