Coder Social home page Coder Social logo

Comments (6)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 26, 2024
Hi, Mark.

I'm afraid you might have overlooked something with this issue: all of the 
cases your patch (thanks for sending one!) addresses are those where the client 
has already received a "lease" from the server: the client's communication is 
unicast from that point forth.

What this means is that the client will only ask the DHCP server it knows about 
for help when it wants to renew or otherwise manage its lease, and if the 
server doesn't know about the client any more, it can't be sure it's providing 
correct information.

The correct behaviour would seem to be NAKing the request to force the client 
to return to the DISCOVER state so it can find a DHCP server that does have the 
capacity to provide current information, since the alternative would cause the 
client to retain stale configuration data that might result in things like IP 
clashes or broken routing.

Original comment by red.hamsterx on 24 Jan 2011 at 2:40

from staticdhcpd.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 26, 2024
That indeed is what I also observed. In the end, I commented out those NAKs.

Original comment by [email protected] on 25 Jan 2011 at 11:55

from staticdhcpd.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 26, 2024
Can either of you provide me with an example flow of why you would want a 
client to retain its lease after a DHCP server has forgotten about it?

Original comment by red.hamsterx on 25 Jan 2011 at 11:59

  • Changed state: Accepted

from staticdhcpd.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 26, 2024
In 1.5.4 src/dhcp.py line 455, the case is for renew and rebinding. Why would 
we NACK a lease that we do not know about. Isn't this broadcast?

Original comment by [email protected] on 28 Jan 2011 at 11:24

from staticdhcpd.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 26, 2024
Okay, I see the case that was overlooked now.

RENEWs should be NAKed because the lease is no longer valid after you've 
removed the entry (those are unicast), meaning that allowing the server to 
pretend the lease is still good could be detrimental to the network, but 
REBINDs should be ignored, since those are a broadcast plea for any server to 
pick up the lease.

This should be addressed in r306 in the dev-branch. (With luck, I'll find time 
to test all the revisions on Sunday and push out an update, though I doubt I'll 
be able to redo logging and the web UI this weekend -- maybe one or the other)

Original comment by red.hamsterx on 29 Jan 2011 at 8:34

  • Changed state: Started

from staticdhcpd.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 26, 2024
Much longer soak period than I'd expected (months, not days), but it looks like 
it's working properly.

Original comment by red.hamsterx on 22 Jun 2011 at 11:30

  • Changed state: Fixed

from staticdhcpd.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.