Re: [Etherboot-users] REQUIRE_VCI_ETHERBOOT Question
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Marty C. <md...@et...> - 2006-03-09 19:15:09
|
On Mar 9, 2006, at 4:52 PM, lo...@ou... wrote:
> When a boot client does a broadcast for a DHCP request, then there
> could be more than 1 DHCP server responding and the client would
> receive requests from all responding DHCP servers looking for the
> one that accepted that particular client and gave it a lease, right?
It's more elaborate than that. PXE says the client should wait for
up to 3 DHCP offers, and pick the one it likes the best (correct me
if I'm wrong, PXE mavens).
> Would this also mean that, in general, for all of the DHCP servers,
> then if only one of the had the client MAC address in their list
> then that would be the request that would have the valid
> information (IP, gateway, etc....) for that client?
> I guess what I am getting at is that it is probably ok for there to
> be multiple DHCP servers on the net and subnets as long a only one
> of them had the client address as an acceptable MAC address.
It depends on if they're (the DHCP server) are "authoritative" for
the subnet or "not authoritative" in ISC dhcpd.conf parlance.
If they have the "not authoritative" directive turned on, they don't
say anything. If they're authoritative, I believe they say "no lease"
if you don't have a pool of addresses defined.
> The problem with changing ports for the DHCP server and Etherboot
> is that there might already be other DHCP servers on those ports
> without us bing aware of it by some chance and then we would still
> have multiple requests beign fielded by multiple DHCP servers and
> in which the problem is really not solved.
We're looking at allowing people to put STATIC information in their
Etherboot configuration so that no DHCP server is required to load a
file.
This means that someone could mess up and walk on an IP address on
the LAN, but this is already possible on just about any device I know
about.
The consequences would be between you and your LAN administrator if
you blow it.
Isn't there some way to use DEFAULT_BOOTFILE to get what you want
using Etherboot?
setting DEFAULT_BOOTFILE to:
tftp://192.168.1.xxx/tftpboot/lts/kernel.nb
(I believe) would get an IP address from a DHCP server, and then
(assuming the DHCP server didn't give a filename) would use the
DEFAULT_BOOTFILE.
I even found an old patch that would FORCE_BOOTFILE (although I would
rename it FORCE_DEFAULT_BOOTFILE :) that ignores all the DHCP
filenames and uses the one you supplied.
This strikes me as a likely scenario. You can get an IP, Router,
DNS, etc, but you can't modify the DHCP server to do the filename
thing, even though you have your own little tftp server (they're so
much less objectionable than DHCP servers to LAN admins, after all).
So you get everything from normal DHCP except DEFAULT_BOOTFILE, and
you get your kernel from where you need to.
Does this help?
Marty
--- etherboot-5.3.6/src/core/nic.c 2003-12-13 07:27:21.000000000
+0100
+++ etherboot-5.3.6.new/src/core/nic.c 2003-12-21 15:22:27.000000000
+0100
@@ -267,7 +267,11 @@
rpc_init();
#endif
#ifdef DEFAULT_BOOTFILE
+#ifdef FORCE_BOOTFILE
+ kernel = DEFAULT_BOOTFILE;
+#else
kernel = KERNEL_BUF[0] != '\0' ? KERNEL_BUF : DEFAULT_BOOTFILE;
+#endif /*FORCE_BOOTFILE */
#else
kernel = KERNEL_BUF;
#endif
|