Here at ungleich we see many different devices and software running or not running in IPv6 only networks. This article summarises some features we see required in IPv6 compatible devices (including software).
Devices that don't fully complain with the checklist below will be removed in the near future from our infrastructure, as their maintenance cost has become too high.
The wording is orientated on RFC2119.
This document is an early draft - version 0.1. If you have any comments / improvements, !please help us to improve it on the IPv6 Chat.
All devices must assign themselves an IPv6 address upon receival of a router advertisement (compare RFC4861).
If the device is providing any service, all services must bind to IPv6 sockets (compare RFC3493). Device may also bind to IPv4 sockets.
All devices must support requesting all resources via IPv6 only connections. This does not imply that the vendor resource has to be reachable by IPv6, as the network operator might provide a NAT64 service. Devices may also try connecting by IPv4.
Support for IPv6 DNS servers via router advertisements
All devices must read the DNS server and and DNS search path from the router advertisements and must configure the DNS servers and DNS search path accordingly.
Full NAT64/DNS64 compatibility
All devices must be fully compatible to reach the IPv4 Internet through the means of NAT64 and DNS64. In particular all outgoing connections must be possible by IPv6 only, even if resources in the IPv4 Internet are requested.
No hardcoded IPv4 addresses
IF your device needs to connect to a service (f.i. for updates, reporting, etc.), it must not have any hardcoded IPv4 address.
IF a device is receiving software updates, it must be able to receive software updates in IPv6 only networks.