IPv6 Changes in BIND 9.11.0, BIND 9.10.4 and BIND 9.9.9.

AA-01349

BIND 9.11.0, BIND 9.10.4 and BIND 9.9.9 introduces two IPv6 related changes.

The first change is to the preferred-glue option.  Preferred-glue now defaults to the transport that the query was received over.  If named receives a query over IPv6 and there is not enough space to add both A and AAAA records to the additional section then named will add AAAA records in preference to A records.  The reverse is true for queries received over IPv4 where A is preferred over AAAA.

The impact of this is that as IPv6-only recursive servers start to appear they will get the AAAA records they need to make further lookups without having to explicitly query for them.  Legacy IPv4-only servers will also get the A records they need.

The second change is to BIND 9.11.0 only, and is to add a small bias to the next server to query selection algorithm to prefer IPv6 servers over IPv4 servers provided they are still reasonably close based on the measured response times.  The amount of bias can be controlled by setting v6-bias and it defaults to 50 ms.

This will have the effect of moving most queries for zones with both IPv4 and IPv6 servers to the IPv6 servers when the recursive server is dual stacked provided the IPv4 and IPv6 paths have roughly the same delay. 

Both of these changes combined should help sites see when they can stop supporting IPv4 as a transport by reducing the reliance of IPv4.  While that is still years away for many, we need to support the transition now as nameservers are often not upgraded for years.