[ipxe-devel] IPv6 is broken in iPXE

Pali Rohár pali.rohar at gmail.com
Tue Mar 5 18:45:48 UTC 2019


On Sunday 16 December 2018 15:49:29 Pali Rohár wrote:
> On Friday 02 November 2018 00:16:00 Pali Rohár wrote:
> > Hello,
> > 
> > I'm trying to use iPXE on IPv6-enabled network. Everything is running
> > fine on this network, all IPv4 and IPv6 application, just iPXE has
> > problems. It cannot connect to any host which has both
> > 
> > IPv6 router send RA packet without Autonomous bit (=disable SLAAC) and
> > with Managed and Other bits (= use DHCPv6 for IPv6 address assignment).
> > 
> > Also on network is available standard IPv4 connection via DHCP.
> > 
> > When iPXE is run on this network with enabled NET_PROTO_IPV6 then it
> > cannot connect to any host, just show error message: Network
> > unreachable.
> > 
> > When iPXE is compiled without NET_PROTO_IPV6 then everything is working
> > fine and (IPv4) network is accessible.
> > 
> > I guess that problem is in DNS resoling process. When host has more AAAA
> > and more A records, iPXE chose just first IPv6 one and fails when first
> > record is unreachable. Also in case no IPv6 address is assigned. And
> > when IPv4 network is functional it does not try to fallback.
> > 
> > Same problem can be reproduced with Debian Stable version of qemu with
> > current git version of iPXE.
> > 
> > Below is output for iPXE 133f4c47baef6002b2ccb4904a035cda2303c6e5 with
> > enabled NET_PROTO_IPV6:
> > 
> > =======================================================================
> > $ cd src
> > $ sed 's/#undef\tNET_PROTO_IPV6/#define\tNET_PROTO_IPV6/' -i config/general.h
> > $ make -j8 bin/rtl8139.rom
> > $ qemu-system-x86_64 -netdev user,id=n1 -device rtl8139,netdev=n1,romfile=bin/rtl8139.rom -boot order=n -curses
> > 
> > SeaBIOS (version 1.10.2-1)
> > 
> > 
> > iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+07F90DD0+07ED0DD0 CA00
> > 
> > 
> > 
> > Booting from ROM...
> > iPXE (PCI 00:03.0) starting execution...ok
> > iPXE initialising devices...ok
> > 
> > 
> > 
> > iPXE 1.0.0+ (133f) -- Open Source Network Boot Firmware -- http://ipxe.org
> > Features: DNS HTTP iSCSI TFTP AoE ELF MBOOT PXE bzImage Menu PXEXT
> > 
> > iPXE> dhcp
> > Configuring (net0 52:54:00:12:34:56)...... ok
> > iPXE> imgload http://boot.ipxe.org
> > http://boot.ipxe.org... Network unreachable (http://ipxe.org/280a6011)
> > iPXE>
> > =======================================================================
> > 
> > And below is output for iPXE when NET_PROTO_IPV6 is not enabled (without
> > that sed command recompiled):
> > 
> > =======================================================================
> > SeaBIOS (version 1.10.2-1)
> > 
> > 
> > iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+07F92DD0+07EF2DD0 CA00
> > 
> > 
> > 
> > Booting from ROM...
> > iPXE (PCI 00:03.0) starting execution...ok
> > iPXE initialising devices...ok
> > 
> > 
> > 
> > iPXE 1.0.0+ (133f) -- Open Source Network Boot Firmware -- http://ipxe.org
> > Features: DNS HTTP iSCSI TFTP AoE ELF MBOOT PXE bzImage Menu PXEXT
> > 
> > iPXE> dhcp
> > Configuring (net0 52:54:00:12:34:56)...... ok
> > iPXE> imgload http://boot.ipxe.org
> > http://boot.ipxe.org... ok
> > iPXE>
> > =======================================================================
> > 
> > So it can be clearly seen that problem is in iPXE's IPv6 implementation
> > as iPXE version without IPv6 is working fine as expected.
> > 
> > Host boot.ipxe.org has both A and AAAA records, so even when IPv6 is
> > compiled, but not available (for any reason), IPv4 should work.
> > 
> > Similar/same problem was reported for netboot.xyz project:
> > https://github.com/antonym/netboot.xyz/issues/283
> 
> Just reminder, that this problem is still present in the current git
> repository. Is there any progress? Or do you need some other details?
> 
> I guess that above reproducer should be enough for debugging...

Hello! Has somebody looked at broken IPv6 in iPXE?

-- 
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20190305/5c223c7c/attachment.sig>


More information about the ipxe-devel mailing list