"Bert Belder" <bertbelder_at_gmail.com> wrote:
> Windows associates DNS server addresses with specific interfaces (weird, I
> know). When there are multiple network interfaces present (including virtual
> ones) it'll walk all of them and return all DNS servers configured for this
> interface, without filtering out duplicates. So yes, it's somewhat common.
Just to be clear. It's not Windows that does the walking. It is ares_init.c
(calling GetAdaptersAddresses in get_DNS_AdaptersAddresses) that is
walking over all adapters and extracting all DNS-server addresses [1] for
each iface. This growing list ('*outptr') could off-course contain duplicates
if 2 ifaces have >= 1 DNS-address(es) in common.
That's highly normal and probably as intended. But with virtual ifaces like
a VPN-adapter (potentially going up and down after cares gets initialised)
other unwanted effects could come into play. I'm not sure these cases could
(or should?) be accounted for.
[1] those who are up; i.e. with OperStatus == IfOperStatusUp.
--gv
Received on 2013-04-23