public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bernd Petrovitsch <bernd@petrovitsch.priv.at>
To: johnmusbach1@gmail.com
Cc: Chris Friesen <chris.friesen@genband.com>,
	David Miller <davem@davemloft.net>,
	linux-kernel@vger.kernel.org,
	Robert Hancock <hancockrwd@gmail.com>
Subject: Re: Handling of multiple DHCP OFFERs
Date: Tue, 04 Oct 2011 10:03:59 +0200	[thread overview]
Message-ID: <1317715440.32011.21.camel@thorin> (raw)
In-Reply-To: <4E8A5D74.7000507@gmail.com>

On Mon, 2011-10-03 at 19:12 -0600, Robert Hancock wrote:
> On 10/03/2011 05:36 PM, Chris Friesen wrote:
> > On 10/03/2011 05:21 PM, David Miller wrote:
> >> From: John Musbach<johnmusbach1@gmail.com>
> >> Date: Mon, 3 Oct 2011 23:18:06 +0000 (UTC)
> >>
> >>> Hello, I am configuring a network that'll have multiple DHCP servers
> >>> and I was wondering how Linux handles receiving multiple DHCP OFFERs?

Define "Linux":
The kernel?
- A given distribution?
- All distributions?
- The major ones?
- ISCs dhclient?
- RedHats "pump"?
- Other DHCP clients?

> >>> More specifically, how does it choose which one to prefer and how long
> >>> will it wait for a answer from a preferred server if the other server
> >>> answers first? Thanks.

IMHO it doesn't really work in general to have multiple (standalone)
DHCP servers in one network.
Perhaps/probably it works if there is no absolutely dynamical allocation
from pools but only static ones which are identical across all DHCP
servers (as some kind of high-availability).

> >> There are multiple userspace implementations of DHCP, and the kernel
> >> does not usually get involved at all. You'll therefore have to ask
> >> the folks who write and maintain the various DHCP implementations.
> >
> > What about netbooting? Or are you expecting people to use initramfs with
> > a userspace implementation?
> 
> Normally with PXE boot it's the PXE ROM that initially gets the IP 
> address. After the kernel boots up, userspace normally repeats the process.

I would assume that PXE ROMs also take the first received DHCPOFFER and
use it.

>From DHCPs point of view, it is the clients decision which DHCPOFFER it
honors or chooses to ignore (and the servers decision it it actually
sends an DHCPOFFER).

In reality (and e.g. for ISCs dhclient), usually the first received one
will be used (because it's the easiest to implement, it avoids the
problems with deciding how long to wait, takes less time on bootup
because there is no unnecessary timeout!) and last time I looked into it
(which was quite time ago ...), there was no feature to filter or
(securely) authenticate anything (which would actually make sense as the
client could detect invalid DCHP offers from rogue DHCP servers. Lots of
devices have such a beast on board nowadays and I wouldn't bet that all
of them are deactivated per default).

	Bernd
-- 
Bernd Petrovitsch                  Email : bernd@petrovitsch.priv.at
                     LUGA : http://www.luga.at


  reply	other threads:[~2011-10-04  8:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-03 23:18 Handling of multiple DHCP OFFERs John Musbach
2011-10-03 23:21 ` David Miller
2011-10-03 23:36   ` Chris Friesen
2011-10-04  1:12     ` Robert Hancock
2011-10-04  8:03       ` Bernd Petrovitsch [this message]
2011-10-04 14:31       ` Chris Friesen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1317715440.32011.21.camel@thorin \
    --to=bernd@petrovitsch.priv.at \
    --cc=chris.friesen@genband.com \
    --cc=davem@davemloft.net \
    --cc=hancockrwd@gmail.com \
    --cc=johnmusbach1@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox