Hi, Thank you for putting this together!
On Sun, Jan 17, 2016 at 06:41:53PM +0300, Andrei Borzenkov wrote: > 14.10.2015 23:09, Andrei Borzenkov пишет: > > 14.10.2015 21:09, Rivard, Matthew T пишет: > >> Just going by these definitions of bootp and dhcp here: > >> https://technet.microsoft.com/en-us/library/cc781243%28v=ws.10%29.aspx > >> > >> The net_bootp only works with a bootp enabled scope on the dhcp server > >> after chaining from iPXE to grub2. Without a "bootp" scope setup on > >> the dhcp, calling net_bootp on the adapter fails to get an IP address. > >> > >> So, I guess I could more clearly word that the bootp protocol works > >> when calling net_bootp, but standard dhcp isn't. > >> > > > > Hmm ... you are right; we are actually doing BOOTP here, not DHCP. > > > > This patch adds support for native DHCPv4 and removes requirement for > BOOTP compatibility support in DHCP server. > > This is work in progress, but this works for me in test environment. I haven't delved into the code, but FWIW, this also works for me in my BOOTP-free work environment on an AArch64 host: grub> insmod efinet grub> net_ls_cards efinet1 00:00:1a:1b:9d:9a efinet0 00:00:1a:1b:9d:99 grub> net_bootp efinet0 grub> insmod tftp grub> set net_default_server=10.1.205.151 grub> linux (tftp)/Image grub> boot EFI stub: Booting Linux Kernel... EFI stub: Using DTB from configuration table EFI stub: Exiting boot services and installing virtual address map... Booting Linux on physical CPU 0x0 Initializing cgroup subsys cpu Linux version 4.4.0-rc3+ (mark@leverpostej) (gcc version 5.1.1 20150608 (Linaro GCC 5.1-2015.08) ) #63 SMP PREEMPT Mon Jan 18 10:20:30 GMT 2016 .... I have not tested BOOTP as I do not have a BOOTP server to hand. I'd like to be able to net-boot a number of development machines that I am in charge of. However, as I'm not in charge of the network I cannot use PXE, and our DHCP servers do not implement BOOTP. Having DHCP support would be incredibly useful for being able to net-boot boards in a standard manner while not having full control over the network. > Patch changes net_bootp to implement full DHCP transaction. it still > /should/ work with BOOTP pure server (untested, I do not have one). It > also re-implements option processing to support overloaded fields and > consolidates it in one place. > > What is currently not implemented > > - per interface, per transaction stage retransmit timer. Will be done. > > - DHCP server selection. We take first DHCPOFFER or BOOTPREPLY. No plans > to implement. > > - DHCP option concatenation (RFC3396). I do not expect to hit it in real > life; could be implemented relatively easy if needed. > > - client identifier (RFC6842). I do not expect to hit it in real life; > could be added easily if needed. The above sounds fine for my purposes. Thanks, Mark. _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel