[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dhcp-client
Subject:    Re: Duplicate IP
From:       "David W. Hankins" <David_Hankins () isc ! org>
Date:       2005-04-05 16:49:11
Message-ID: 20050405164911.GA75306 () isc ! org
[Download RAW message or body]

   *** From dhcp-client -- To unsubscribe, see the end of this message. ***

This is actually a dhcp-client@isc.org question, not a
dhcp-server@isc.org question.  Please don't cross-post between our
lists.

On Mon, Apr 04, 2005 at 05:47:33PM -0700, Ravinder Verma wrote:
> I am using ISC latest DHCP-3.0.2 software. The dhclient invokes
> dhclient-script while binding lease received from DHCP server. I don't
> know whether it is job of client to detect for duplicate IP but in
> client code while binding lease(bind_lease() -> dhclient.c) it
> triggers dhclient-script and if that return non-zero it sees this as a
> conflicting IP address and immediately notifies sever with decline
> message and toss the lease.

That's correct, that's the intent of those pieces of code.  The idea was
that if, local to each dhclient-script for each local system, an arp request
could be made for the newly bound address prior to configuring it, then that
could be done, and an error reported if there was a response prior to some
timeout.

Unfotunatley, I know of no script-level ability in any system to acheive
these ends, so it's entirely unused in any implementation...so none of
the dhclient scripts attempt to arp, so far as I'm aware.

I suspect this feature, if anyone wished to implement it, would instead
have to be implemented within dhclient.

> I checked the dhclient-script and at one place ARPCHECK or ARPSEND
> "if" check exists but it looks like client code never calls script
> with this as Arg.

That's also correct, I don't know why the scripts contain that '$reason'
check, I assume this is a relic of pre-history.  Someone probably
realized that 'script_go()' for ARPCHECK followed by 'script_go()' for
a newly bound lease was redundant...the arp check can be done in the
second script session, prior to assigning an address.

> I wanted to understand whether its client job to
> detect dup IP or server's? In case client should also take care of
> this I wanted to know what am I missing in client side that it is
> unable to detect collision.

A client MAY attempt to check if the address assigned to it is in
use by another client.  It is not mandatory.  It's the job of the
DHCP server to assign unique addresses, and this works under the
assumption that all clients are behaving.

-- 
David W. Hankins		"If you don't do it right the first time,
Software Engineer			you'll just have to do it again."
Internet Systems Consortium, Inc.		-- Jack T. Hankins
-----------------------------------------------------------------------
To unsubscribe from this list, visit http://www.isc.org/dhcp-lists.html
or send mail to dhcp-client-request@isc.org with the subject line of
'unsubscribe'.
-----------------------------------------------------------------------

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic