[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.