<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 19 Nov 2018, at 12:26, Geert Stappers <<a href="mailto:geert.stappers@hendrikx-itc.nl" class="">geert.stappers@hendrikx-itc.nl</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">On Mon, Nov 19, 2018 at 12:13:55PM +0100, Andreas Fink wrote:<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">On 19 Nov 2018, at 11:52, Michael Brown <<a href="mailto:mcb30@ipxe.org" class="">mcb30@ipxe.org</a>> wrote:<br class="">On 01/11/2018 17:40, Anatoli Babenia wrote:<br class=""><blockquote type="cite" class="">My upstream provider doesn't support IPv6. No addresses are reachable.<br class="">But my router still gives me an IPv6 address and is even able to resolve<br class="">AAAA records. Being able to resolve IPv6 address iPXE thinks that it got<br class="">IPv6 and fails, but it should try IPv4 instead.<br class="">Here is the log - <a href="https://github.com/antonym/netboot.xyz/issues/283" class="">https://github.com/antonym/netboot.xyz/issues/283</a><br class="">Is it possible to make current 133f fallback to IPv4 if IPv6 fetch fails?<br class="">Also, is there an option to disable IPv6 from Failsafe Menu? Manual<br class="">network configuration doesn't help.<br class=""></blockquote><br class="">iPXE will query for AAAA records only if the DNS server address is itself an IPv6 address. This is the heuristic we use to decide between IPv6 and IPv4 when a DNS name is used.<br class=""></blockquote><br class="">This is not really what the idea is.<br class=""><br class="">I would recommend the following logic:<br class=""></blockquote><br class="">I would appreciate patches.<br class=""></div></blockquote><div><br class=""></div>I will look into this.</div><div><blockquote type="cite" class=""><blockquote type="cite" class=""><br class=""></blockquote><blockquote type="cite" class="">1. If there is a IPv4 address only provided by the DHCP server, do IPv4 only. Consider the host "ipv4 only"<br class="">1. If there is a IPv6 address only provided by the DHCP server or through router advertizement (and its not only link local) do IPv6 only. Consider the host "ipv6 only"<br class="">3. If there host has a IPv4 and a IPv6 address do both ( Consider the host ipv4/ivp6 capable)<br class=""></blockquote><br class="">Bullshit. Reread<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">iPXE will query for AAAA records only if the DNS server address is itself an IPv6 address. This is the heuristic we use to decide between IPv6 and IPv4 when a DNS name is used.</blockquote></blockquote></blockquote></div><div><blockquote type="cite" class="">Pay attention to the "decide between IPv6 and IPv4" part.<br class=""><br class=""><br class=""></blockquote><br class=""></div><div><br class=""></div><div><div><div>I still have to disagree. It's perfectly normal and ok to have a IPv4 based DNS server provide AAAA record for a host which is IPv6 only connected.</div></div><div>Having the DNS servers own IP address as a deciding factor to query for AAAA records is a wrong one. If a host can be reached over IPv6 should only be determined by the fact if the remote host has AAAA record and if the local host has an IPv6 connectivity and this potentially could reach the remote node over IPv6. The DNS server can still be IPv4 (unless the local host does not have any IPv4 anymore in which case, it can not even reach that DNS server).</div><div class=""><br class=""></div><div class="">see <a href="https://tools.ietf.org/html/rfc2893#page-7" class="">https://tools.ietf.org/html/rfc2893#page-7</a> section 2.2 which says:</div><div class=""><br class=""></div><div class=""><pre class="newpage" style="font-size: 13.333333015441895px; margin-top: 0px; margin-bottom: 0px; break-before: page;">
DNS resolver libraries on IPv6/IPv4 nodes MUST be capable of handling
both A6/AAAA and A records. However, when a query locates an A6/AAAA
record holding an IPv6 address, and an A record holding an IPv4
address, the resolver library MAY filter or order the results
returned to the application in order to <u class="">influence the version of IP
packets used to communicate with <b class="">that node</b></u>. </pre></div></div><div class=""><br class=""></div><div class=""><br class=""></div>So if it's possible to communicate with the target on ipv6 or not is the deciding factor if IPv6 AAAA records should be considered nor not. Not the DNS's own IP address.</div><div class=""><br class=""></div><div class=""><br class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><font face="Courier New" class=""><span style="font-size: 11px;" class="">Andreas Fink</span></font></div><div class=""><br class=""></div></div></div></div></div></body></html>