grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH][WiP] native DHCPv4 support in net_bootp


From: Mark Rutland
Subject: Re: [PATCH][WiP] native DHCPv4 support in net_bootp
Date: Thu, 21 Jan 2016 18:37:37 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

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+ (address@hidden) (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.



reply via email to

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