[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Strategy Question for DHCP

From: Robert Deschambault
Subject: Re: [lwip-users] Strategy Question for DHCP
Date: Wed, 27 May 2015 13:57:59 -0400


I have tried to use the approach with no success so far.  I needed to tweak the IP address pool to be compatible with our network.  I hope that isn't a problem.  In lwipopts.h I have:

// AUTOIP options
#define LWIP_AUTOIP             1

and the DHCP tries is set to 6 in our application.  I can see our target board waiting for DHCP and then falling over to a valid address for our pool.  But I can't ping that address.  Wireshark shows the request for the local link address, but not much more than that.  Am I missing something?


On Thu, May 14, 2015 at 2:55 PM, Zach Smith <address@hidden> wrote:

Use the auto ip feature of lwip which I believe is the proper way to handle this situation. With this feature enabled, after a certain number of dhcp timeouts the device will fail over to an “auto ip” address. The auto ip address is an address the device chooses for itself in the range 169.254.x.x. It will perform a quick check to see if any other device out there has the address. If so, it chooses another one and checks again. Upon finding a free address it self-configures with that address. dhcp discover messages continue to go out at some defined interval and if a dhcp server ever responds then the assigned address overwrites the previously assigned auto ip address.


Check out autoip.c (it does all this for you) and the following defines:


#define LWIP_AUTOIP                                              1  

#define LWIP_DHCP_AUTOIP_COOP                  1 //defines auto ip to work with dhcp

#define LWIP_DHCP_AUTOIP_COOP_TRIES    6 // controls how many dhcp discovers to try before timing out to an auto ip address

#define LWIP_AUTOIP_CREATE_SEED_ADDR     //lets you control the first auto ip address the device will try


Bob Deschambault

reply via email to

[Prev in Thread] Current Thread [Next in Thread]