diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2015-10-14 17:37:05 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2015-10-15 10:25:37 +0900 |
commit | 857d22c55e7f20e2a61b3a9248f27ed013e26743 (patch) | |
tree | e3fbc28c5663a99c019cc2e402efe72ba51b1816 | |
parent | 727f7d78caf0d69a048cea435261475c61fdb756 (diff) | |
download | source.android.com-857d22c55e7f20e2a61b3a9248f27ed013e26743.tar.gz |
Add requirements for IPv6 implementation.
This is intended to:
1. Formalize the requirements that we've been testing in CTS for
many years now.
2. Prevent some observed bad device behaviours that can severely
impact user experience on IPv6-capable networks, which are now
quite common.
3. Clarify the treatment of IPv6 in doze mode, which is
non-obvious enough that even we only fixed it close to final M
release.
Bug: 24919272
Change-Id: Ia739b242529e831c63e53e55e490df243e831c80
-rw-r--r-- | src/compatibility/android-cdd.html | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/compatibility/android-cdd.html b/src/compatibility/android-cdd.html index 417e4f38..e9a3eda4 100644 --- a/src/compatibility/android-cdd.html +++ b/src/compatibility/android-cdd.html @@ -4096,6 +4096,35 @@ common wireless data standard, such as 802.11 (Wi-Fi).</p> <p>Devices MAY implement more than one form of data connectivity.</p> +<p>Devices MUST include an IPv6 networking stack and support IPv6 communication +using the managed APIs, such as <code>java.net.Socket</code> and +<code>java.net.URLConnection</code>, as well as the native APIs, such as +<code>AF_INET6</code> sockets. The required level of IPv6 support depends on +the network type, as follows:</p> +<ul> + <li>Devices that support Wi-Fi networks MUST support dual-stack and IPv6-only + operation on Wi-Fi.</li> + <li>Devices that support Ethernet networks MUST support dual-stack operation + on Ethernet.</li> + <li>Devices that support cellular data SHOULD support IPv6 operation + (IPv6-only and possibly dual-stack) on cellular data.</li> + <li>When a device is simultaneously connected to more than one network (e.g., + Wi-Fi and cellular data), it MUST simultaneously meet these requirements on + each network to which it is connected.</li> +</ul> + +<p>IPv6 MUST be enabled by default.</p> + +<p>In order to ensure that IPv6 communication is as reliable as IPv4, unicast +IPv6 packets sent to the device MUST NOT be dropped, even when the screen is +not in an active state. Redundant multicast IPv6 packets, such as repeated +identical Router Advertisements, MAY be rate-limited in hardware or firmware +if doing so is necessary to save power. In such cases, rate-limiting MUST NOT +cause the device to lose IPv6 connectivity on any IPv6-compliant network that +uses RA lifetimes of at least 180 seconds.</p> + +<p>IPv6 connectivity MUST be maintained in doze mode.</p> + <h3 id="7_4_6_sync_settings">7.4.6. Sync Settings</h3> @@ -5240,6 +5269,10 @@ switching</td> <td>Additions to requirements for Near-Field Communications (NFC)</td> </tr> <tr> + <td>7.4.5. Minimum Network Capability</td> + <td>Added requirements for IPv6 support</td> + </tr> + <tr> <td>7.6.3. Adoptable Storage</td> <td>New section for implementation of adoptable storage</td> </tr> |