grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/4] UEFI IPv6 and DHCPv6 support


From: Javier Martinez Canillas
Subject: [PATCH 0/4] UEFI IPv6 and DHCPv6 support
Date: Thu, 4 Jun 2020 09:33:22 +0200

Hello,

This series contains patches that come from the SUSE package that adds a
net_bootp6 command to auto configure the network interfaces by using the
DHCPv6 protocol. They also add support to do the auto configuration when
GRUB is booted from UEFI IPv6 PXE.

We have been carrying these for a long time in our grub2 package and is
also used by other distros such as Debian and Ubuntu. Michael Chang posted
them in 2016 but were never merged:

https://lists.gnu.org/archive/html/grub-devel/2016-08/msg00000.html

Without these patches, booting GRUB from a UEFI PXEv6 boot entry leads to
a wrong network configuration and GRUB not being able to fetch its config
file over TFTP. For example, the following variables are incorrectly set:

cmdpath=(tftp,0.5.0.24)d:beef:a::1]/netboot
net_default_ip=0.0.0.0
net_default_mac=be:ef:00:0a:00:00
net_default_server=0.5.0.24
net_efinet0_boot_file=d:beef:a::1]/netboot/grubx64.efi
net_efinet0_ip=0.0.0.0
net_efinet0_mac=be:ef:00:0a:00:00
net_efinet0_next_server=0.5.0.24
prefix=(tftp,0.5.0.24)/netboot
pxe_default_server=0.5.0.24
root=tftp,0.5.0.24

With these changes, the network interface is correctly configured and GRUB
is able to fetch its config file. The network variables are correctly set:

cmdpath=(tftp,2000:dead:beef:a::1)/netboot
net_default_ip=2000:dead:beef:a:0:0:0:2000
net_default_mac=52:54:00:2c:dc:9e
net_default_server=2000:dead:beef:a::1
net_efinet0_boot_file=/netboot/grubx64.efi
net_efinet0_ip=2000:dead:beef:a:0:0:0:2000
net_efinet0_mac=52:54:00:2c:dc:9e
prefix=(tftp,2000:dead:beef:a::1)/netboot
pxe_default_server=2000:dead:beef:a::1
root=tftp,2000:dead:beef:a::1


Aaron Miller (1):
  net: read bracketed ipv6 addrs and port numbers

Michael Chang (3):
  bootp: New net_bootp6 command
  efinet: UEFI IPv6 PXE support
  grub.texi: Add net_bootp6 document

 docs/grub.texi                     |  19 +
 grub-core/net/bootp.c              | 914 ++++++++++++++++++++++++++++-
 grub-core/net/drivers/efi/efinet.c |  45 +-
 grub-core/net/http.c               |  25 +-
 grub-core/net/ip.c                 |  39 ++
 grub-core/net/net.c                | 159 ++++-
 grub-core/net/tftp.c               |  10 +-
 include/grub/efi/api.h             | 146 ++++-
 include/grub/net.h                 |  80 +++
 9 files changed, 1411 insertions(+), 26 deletions(-)

-- 
2.26.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]