[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/10] Support UEFI HTTP boot with IPv6 and DNS
From: |
Michael Chang |
Subject: |
[PATCH 00/10] Support UEFI HTTP boot with IPv6 and DNS |
Date: |
Mon, 16 Dec 2024 16:03:29 +0800 |
This patch series extends GRUB's network boot capabilities to support
the following UEFI network boot functions:
- UEFI PXE with IPv6 support
- UEFI HTTP with IPv4 and IPv6 support
- UEFI HTTP with DNS resolution
Although GRUB already supports TFTP, HTTP, and DNS, it previously lacked
the integration to configure its network stack based on the UEFI device
path or related boot protocols when booting in these network
environments. This series fills that gap by enabling GRUB to
automatically configure the network stack from UEFI device paths or
protocols, so they can work out-of-the-box.
Additionally, for completeness, a new command, net_dhcp6, is introduced
to support IPv6, similar to the existing net_dhcp command for IPv4. This
command auto-configures GRUB's IPv6 interfaces via DHCPv6, enabling
automatic network interface setup and access to remote targets when
booting locally.
The first and last two patches are general fixes to existing network
functionality and can be reviewed or cherry-picked separately from the
patch series.
Thanks,
Michael
Robbie Harwood (2):
net/http: Check result of grub_netbuff_put() in http_receive()
efinet: Add structures for PXE messages
Michael Chang (8):
efinet + bootp: add net_dhcp6 command supporting dhcpv6
grub.texi: Add net_dhcp6 document
bootp: Process DHCPACK packet during HTTP Boot
efinet: Configure network from UEFI device path
efinet: Set DNS server from UEFI protocol
kern/efi/efi: Print URI and DNS device path info
kern/efi/efi: Correct endianness in IPv6 device path
bootp: Fix logical operator in DHCP option overload check
docs/grub.texi | 30 +
grub-core/kern/efi/efi.c | 69 ++-
grub-core/net/bootp.c | 945 ++++++++++++++++++++++++++++-
grub-core/net/drivers/efi/efinet.c | 487 ++++++++++++++-
grub-core/net/http.c | 4 +-
grub-core/net/ip.c | 39 ++
grub-core/net/net.c | 72 +++
include/grub/efi/api.h | 242 +++++++-
include/grub/net.h | 80 +++
9 files changed, 1930 insertions(+), 38 deletions(-)
--
2.47.1
- [PATCH 00/10] Support UEFI HTTP boot with IPv6 and DNS,
Michael Chang <=
- [PATCH 01/10] net/http: Check result of grub_netbuff_put() in http_receive(), Michael Chang, 2024/12/16
- [PATCH 02/10] efinet: Add structures for PXE messages, Michael Chang, 2024/12/16
- [PATCH 04/10] grub.texi: Add net_dhcp6 document, Michael Chang, 2024/12/16
- [PATCH 05/10] bootp: Process DHCPACK packet during HTTP Boot, Michael Chang, 2024/12/16
- [PATCH 03/10] efinet + bootp: add net_dhcp6 command supporting dhcpv6, Michael Chang, 2024/12/16
- [PATCH 06/10] efinet: Configure network from UEFI device path, Michael Chang, 2024/12/16
- [PATCH 07/10] efinet: Set DNS server from UEFI protocol, Michael Chang, 2024/12/16
- [PATCH 08/10] kern/efi/efi: Print URI and DNS device path info, Michael Chang, 2024/12/16
- [PATCH 09/10] kern/efi/efi: Correct endianness in IPv6 device path, Michael Chang, 2024/12/16
- [PATCH 10/10] bootp: Fix logical operator in DHCP option overload check, Michael Chang, 2024/12/16