On Fri, Dec 31, 2010 at 02:57:16PM -0500, Laine Stump wrote:
On 12/29/2010 10:00 AM, Paweł Krześniak wrote:
>Firstly: Add ip6tables rules to allow DNS over IPv6 in network.
>
>Secondly: start dnsmasq with --interface option instead of --listen-address.
>
>Dnsmasq currently uses "--listen-address IPv4_address" option, which
>restricts DNS service to one IPv4 address only.
>We could append --listen-address for every IPv[46] address defined on
>interface, but it's cleaner to use "--interface brname".
>
>There were some problems in the past with --interface option. Dnsmasq
>version 2.46 and earlier exited with error when tired to bind() to IPv6
>addresses on just brought up interfaces, because DAD (Duplicate
>Address Detection) takes some time to finish and bind() returns
>EADDRNOTAVAIL which caused dnsmasq to exit.
>Dnsmasq version 2.47 (released on 05-Feb-2009) fixed this issue by
>retrying bind() after getting EADDRNOTAVAIL error (as described in
>http://www.thekelleys.org.uk/dnsmasq/CHANGELOG;
>loop itself is defined in dnsmasq-2.47/src/network.c:404)
In general this would be a good change to have. I'm not certain how
careful we need to be about preserving compatibility with any
platform that is still using dnsmasq older than 2.47, though. Dan or
Dan, would you like to weigh in on that?
RHEL5 is still a primary platform targetted for libvirt
releases and that has dnsmasq 2.45. Thus I'd prefer that
we found a way to support the IPv6 DNS feature if dnsmasq
is new enough, without preventing people using IPv4 only
DNS on older dnsmasq.
Daniel