Bug 1280318 - Please build iPXE roms for QEMU with IPv6 support
Summary: Please build iPXE roms for QEMU with IPv6 support
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: ipxe
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: dualstack
TreeView+ depends on / blocked
 
Reported: 2015-11-11 13:20 UTC by Tore Anderson
Modified: 2016-08-03 17:08 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-08-03 17:08:53 UTC


Attachments (Terms of Use)
Patch to enable IPv6 (520 bytes, patch)
2015-11-12 10:49 UTC, Tore Anderson
no flags Details | Diff

Description Tore Anderson 2015-11-11 13:20:07 UTC
Description of problem:

The images in ipxe-roms-qemu.rpm are built without support for IPv6. This makes it impossible to boot virtual machines over IPv6.

Version-Release number of selected component (if applicable):

ipxe-roms-qemu-20150407-1.gitdc795b9f.fc22.noarch

How reproducible:

100%

Steps to Reproduce:
1. Attempt to network boot a virtual machine on an IPv6 network that supports network boot according to RFC 5970

Actual results:

The boot fails.

Expected results:

The boot succeeds.

Additional info:

All that is necessary to make iPXE support IPV6 is to enable (#define) NET_PROTO_IPV6 in src/config/general.h.

The current default IPv4-only behaviour is a violation of BCP-177 (RFC 6540), see http://tools.ietf.org/html/rfc6540.

Comment 1 Tore Anderson 2015-11-12 10:49:52 UTC
Created attachment 1093141 [details]
Patch to enable IPv6

FYI, rebuilding ipxe-20150407-1.gitdc795b9f.fc22.src.rpm with the attached patch included in the .spec file produces a set of iPXE ROMs that allowed me to successfully network boot a QEMU/KVM virtual machine over an IPv6-only network. (The hypervisor in question was running RHEL7 but the built RPM installed fine there without any dependency problems.)

Tore

Comment 2 Cole Robinson 2015-11-12 12:46:25 UTC
Thanks for the report and the patch.

I wonder why this isn't enabled by default in ipxe... Gerd or Paolo, any idea? I assume this is fine to enable but we tend to just mirror the qemu ipxe config for fedora, so maybe it should be changed at the qemu level as well

Comment 3 Tore Anderson 2015-11-12 12:55:12 UTC
AFAIK it's due to space constraints. IPv6 supports adds a few KiBs. In some cases you can't program more than 64k onto the firmware area in some types of hardware. I don't think that's relevant for KVM though. At least it worked fine when I tested it, and I note that at least one of the .rom files in the RPM already exceeds 64K (10ec8139.rom).

Also for UEFI builds space is less of an issue as I understand it.

Tore

Comment 4 Gerd Hoffmann 2015-11-13 08:20:19 UTC
qemu roms are 256k anyway (pci rom bar size is power of two).
ipv6 seems to add ~15k:

[ current qemu git master ]
-rw-rw-r--. 1 kraxel kraxel 196608 Nov 13 09:13 ../pc-bios/efi-e1000.rom
-rw-rw-r--. 1 kraxel kraxel 197120 Nov 13 09:13 ../pc-bios/efi-eepro100.rom
-rw-rw-r--. 1 kraxel kraxel 195584 Nov 13 09:13 ../pc-bios/efi-ne2k_pci.rom
-rw-rw-r--. 1 kraxel kraxel 195584 Nov 13 09:13 ../pc-bios/efi-pcnet.rom
-rw-rw-r--. 1 kraxel kraxel 199168 Nov 13 09:13 ../pc-bios/efi-rtl8139.rom
-rw-rw-r--. 1 kraxel kraxel 193024 Nov 13 09:13 ../pc-bios/efi-virtio.rom

[ rebuilt with ipv6 enabled ]
-rw-rw-r--. 1 kraxel kraxel 210944 Nov 13 07:46 ../pc-bios/efi-e1000.rom
-rw-rw-r--. 1 kraxel kraxel 211456 Nov 13 07:46 ../pc-bios/efi-eepro100.rom
-rw-rw-r--. 1 kraxel kraxel 209408 Nov 13 07:46 ../pc-bios/efi-ne2k_pci.rom
-rw-rw-r--. 1 kraxel kraxel 209920 Nov 13 07:46 ../pc-bios/efi-pcnet.rom
-rw-rw-r--. 1 kraxel kraxel 214016 Nov 13 07:46 ../pc-bios/efi-rtl8139.rom
-rw-rw-r--. 1 kraxel kraxel 207360 Nov 13 07:46 ../pc-bios/efi-virtio.rom

Can't see any reasons why we shouldn't flip the switch ;)

Comment 5 Cole Robinson 2015-11-17 18:47:39 UTC
I pushed a newer ipxe to rawhide, with ipv6 enabled, and sent a patch to upstream ipxe enabling it for the qemu build profile:

http://lists.ipxe.org/pipermail/ipxe-devel/2015-November/004494.html

Provided there isn't any controversy on the patch I'll push the newer ipxe to f22 and f23 as well

Comment 9 Cole Robinson 2016-08-03 17:08:53 UTC
This is in f24, so just closing against that version


Note You need to log in before you can comment on or make changes to this bug.