push apps failing in Android until you disable IPv6

Phil Mayers p.mayers at imperial.ac.uk
Tue May 10 13:58:48 CEST 2016


On 10/05/16 09:58, JORDI PALET MARTINEZ wrote:

> Right, but how this is affecting IPv4 push notifications ?

A lot of stuff goes on to make this work. I'm not an expert on the topic 
of mobile powersaving, but at minimum:

  * The wireless endpints have to be doing WMM (I think) to queue the 
packets to the endpoint while the client wifi stack is not powered up.

  * The wifi stack on the client endpoint has to be waking periodically 
and receiving the queued packets.

  * The wifi stack also has to filter the packets to get only the ones 
which should wake the CPU, and then wake the CPU and deliver them.

  * There is also the Android-specifc Doze state, which suppresses 
app/network wakes entirely for progressively longer-spaced check periods:

https://developer.android.com/training/monitoring-device-state/doze-standby.html

This is all network, OS, firmware and hardware-revision dependent, and 
will vary radically from device model to device model (the variety of 
android devices being a curse as well as a blessing from this PoV ;o)

I've seen problems with this before on an entirely v4-only network with 
a very early release of Android on Nexus 4 - my debugging showed the 
problem was likely with the wake filter, and the next release of Android 
resolved it.

It's theoretically possible that the issue is on the upstream network, 
with a failure to do WMM in the presence of IPv6. Or perhaps the 
presence of a certain v6 config causes the device to fail to process the 
network traffic at the client end.

Or it's an instance of the doze state, which is behaving differently on 
an IPv6 network for some reason.

FWIW, my Nexus 5 has no such problems on both v4-only and dualstack 
networks, so I think you're likely seeing some combo of device- and 
network-specific behaviour.

When customers report these problems, how long has the device been 
asleep? Is it possible it's dozing?

IMO you'll need to get hands on a device and network combo that 
demonstrates the problem to get anywhere; there's just not enough info 
here to determine the cause, only to guess about the range of possible 
causes.

Regards,
Phil


More information about the ipv6-ops mailing list