Go to file
Michael Chang 7e748f0656 efinet: Setting network from UEFI device path
The PXE Base Code protocol used to obtain cached PXE DHCPACK packet is no
longer provided for HTTP Boot. Instead, we have to get the HTTP boot
information from the device path nodes defined in following UEFI Specification
sections.

 9.3.5.12 IPv4 Device Path
 9.3.5.13 IPv6 Device Path
 9.3.5.23 Uniform Resource Identifiers (URI) Device Path

This patch basically does:

include/grub/efi/api.h:
Add new structure of Uniform Resource Identifiers (URI) Device Path

grub-core/net/drivers/efi/efinet.c:
Check if PXE Base Code is available, if not it will try to obtain the netboot
information from the device path where the image booted from. The DHCPACK
packet is recoverd from the information in device patch and feed into the same
DHCP packet processing functions to ensure the network interface is setting up
the same way it used to be.

Signed-off-by: Michael Chang <mchang@suse.com>
Signed-off-by: Ken Lin <ken.lin@hpe.com>

Patch-Name: efinet_set_network_from_uefi_devpath.patch
2018-02-16 11:02:50 +00:00
asm-tests asm-tests/i386-pc: Check that movl is 5 bytes. 2016-09-28 20:31:04 +03:00
build-aux Import grub2_2.02~beta3.orig.tar.xz 2016-09-18 17:40:00 +01:00
conf Remove -Wno-maybe-uninitialized as it may not be present. 2016-02-17 17:58:05 +01:00
docs Add GRUB_RECOVERY_TITLE option 2018-02-16 11:02:48 +00:00
grub-core efinet: Setting network from UEFI device path 2018-02-16 11:02:50 +00:00
include efinet: Setting network from UEFI device path 2018-02-16 11:02:50 +00:00
m4 update m4/extern-inline.m4 to upstream version to fix compilation on FreeBSD 2015-03-05 19:25:56 +03:00
po Import grub2_2.02.orig.tar.xz 2017-06-23 10:07:51 +01:00
tests syslinux_test: Fix out-of-tree build handling 2018-02-16 11:02:49 +00:00
themes/starfield Starfield theme. 2012-02-23 17:21:38 +01:00
unicode * unicode: Import Unicode 6.0 data. 2011-12-25 16:17:25 +01:00
util Generate alternative init entries in advanced menu 2018-02-16 11:02:49 +00:00
ABOUT-NLS automake commit without merge history 2010-05-06 11:34:04 +05:30
acinclude.m4 Fix -nopie/-nopie check. 2017-01-30 19:38:55 +01:00
aclocal.m4 Import grub2_2.02~beta3.orig.tar.xz 2016-09-18 17:40:00 +01:00
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
autogen.sh autogen: Use cp instead of ln -s. 2015-11-08 18:45:57 +01:00
BUGS * BUGS: New file. 2011-01-11 00:06:01 +01:00
ChangeLog Import grub2_2.02.orig.tar.xz 2017-06-23 10:07:51 +01:00
ChangeLog-2015 Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
config-util.h.in Import grub2_2.02.orig.tar.xz 2017-06-23 10:07:51 +01:00
config.h.in Add configure option to reduce visual clutter at boot time 2018-02-16 11:02:47 +00:00
configure Import grub2_2.02.orig.tar.xz 2017-06-23 10:07:51 +01:00
configure.ac Add configure option to use vt.handoff=7 2018-02-16 11:02:48 +00:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
coreboot.cfg * coreboot.cfg: Add missing file. 2013-11-20 00:52:23 +01:00
geninit.sh automake commit without merge history 2010-05-06 11:34:04 +05:30
gentpl.py remove temporary .bin files (kernel and modules) 2015-12-31 23:00:25 +03:00
INSTALL INSTALL: Fix mention of thumb-clang. 2017-02-02 01:11:52 +01:00
linguas.sh linguas: Don't skip ko.po. 2017-02-04 00:06:57 +01:00
Makefile.am syslinux_test: Fix out-of-tree build handling 2018-02-16 11:02:49 +00:00
Makefile.in Import grub2_2.02.orig.tar.xz 2017-06-23 10:07:51 +01:00
Makefile.util.am Import grub2_2.02.orig.tar.xz 2017-06-23 10:07:51 +01:00
Makefile.util.def Output a menu entry for firmware setup on UEFI FastBoot systems 2018-02-16 11:02:46 +00:00
Makefile.utilgcry.def Import grub2_2.02~beta3.orig.tar.xz 2016-09-18 17:40:00 +01:00
NEWS NEWS updates 2016-11-22 20:51:54 +03:00
README README: Remove dead link to the wiki 2015-11-06 04:31:23 +01:00
stamp-h.in Import grub2_2.02~beta3.orig.tar.xz 2016-09-18 17:40:00 +01:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO TODO: Remove obsolete link 2016-02-12 17:51:52 +01:00

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

More extensive documentation is available in the Info manual,
accessible using 'info grub' after building and installing GRUB 2.

There are a number of important user-visible differences from the
first version of GRUB, now known as GRUB Legacy. For a summary, please
see:

  info grub Introduction 'Changes from GRUB Legacy'