Okay. Here's a proposal:
- Have a Protocols.DNS.prefer_ipv6() that chooses whether IPv6 is
preferred over IPv4 for simple lookups. Calling prefer_ipv6(1) will result in the current behaviour, calling prefer_ipv6(0) will return to previous behaviour. This just changes the order of responses, nothing else.
No, add new methods for new behavior. The old function continues to return IPv4 and the new one does IPv6+IPv4. Or have some new parameter to control preference on a per call basis. We don't want global states in modules.