mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-04-25 23:25:54 +03:00
[GH-ISSUE #1264] Publish iPXE binaries w/o IPv6 support #1913
Labels
No labels
Hacktoberfest
Hacktoberfest
bootloader
bsd
bug
confirmed
documentation
duplicate
enhancement
enhancement
enhancement
eol
experimental-merged
freebsd
help wanted
invalid
investigate
ipxe
linux
live-os
memdisk
menu
no-issue-activity
no-issue-activity
pull-request
released
todo
upstream
windows
windows
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/netboot.xyz#1913
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @samip5 on GitHub (Jun 29, 2023).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/1264
Is your feature request related to a problem? Please describe.
Broken happy eyeballs implementation might result in iPXE trying to use IPv6 when there is none available and prevent an user to use it.
Describe the solution you'd like
Publish all artifacts w/o IPv6 support too.
Describe alternatives you've considered
Compiling it myself, but that's not feasible to keep up-to-date.
Additional context
https://discord.com/channels/425186187368595466/425186187368595468/1123844673086160978
@mthibaut commented on GitHub (Aug 6, 2023):
Actually I feel this should be treated as a bug. iPXE simply doesn't have a working BIOS implementation of IPv6.
What this means is that if you happen to have a working IPv6 implementation on your network and boot netboot.xyz using BIOS, it fails. There is no mitigation that I can see. Just google for IPv6 and iPXE issues and you can find error reports all over the place. This one for instance is quite illuminating:
https://forum.ipxe.org/showthread.php?tid=16868
So I would suggest the following in roles/netbootxyz/files/ipxe/local/general.h:
#undef NET_PROTO_IPV6@antonym commented on GitHub (Aug 6, 2023):
Can you give this a try and see if it helps improve the detection of a env that may not have v6 fully working?
https://github.com/netbootxyz/netboot.xyz/issues/283#issuecomment-1627775682
@nrvale0 commented on GitHub (Aug 19, 2024):
Please see the following comment from another Issue: https://github.com/netbootxyz/netboot.xyz/issues/283#issuecomment-2296911959
@NiKiZe commented on GitHub (Dec 30, 2025):
This seems to be a case where https://howtodisableipv6.com/ applies.
Yes, the UX with iPXE on a network with broken IPv6 could use some improvements.
But in most cases the issues that is hidden by disabling IPv6 on a client is much better solved by resolving the root cause, as in misconfigured network.
iPXE should only try to use IPv6, if a IPv6 router is present on the network. But it is not uncommon for Pi-hole and other devices to announce themselves as routers, even if they have no working IPv6 connectivity, if the client in question (applications) has Happy Eyeballs support this network configuration error is often not noticeable.
The matter is not helped by services that fails to allow pMTUd which just breaks, for happy eyeballs clients this, again, is hidden by fallback to IPv4, but it is much better to have the configuration fixed, rather than disable IPv6 as a band-aid.
iPXE does not have happy eyeballs support, and probably never will, so nothing is broken here, it is just following RFC, that is try IPv6 first, if available, and as stated above, if there is a router on the network claiming to provide IPv6 routing, then there is nothing to do other than to trust it, If you don't want iPXE to use IPv6, remove the router announcements, If you are sure you have working IPv6, verify that so is the case, and not falling back to v4.
To identify these issues on a network quickly, I use the IPvFoo browser extension, it shows if IPv6 is actually used/working or not for connections.