[systemd-devel] Changing configurations with networkd

Marcel Holtmann marcel at holtmann.org
Wed Jul 23 07:46:26 PDT 2014


Hi Michael,

>>> I think the lease should be remembered and reused in this case.
>> 
>> Hm, this sounds like a bug somewhere. When the new discover is sent
>> out it should send the same identifying information to the server, and
>> hence be given the same lease back again. Wireshark should tell you if
>> the fault is networkd's or the DHCP server.
> 
> I get the same address at first, but after several minutes the DHCP server
> decides to offer a new address. I should note, that I have a 10 minute
> lease time for debugging purposes, so that might make the problem more
> prominent. I'll see if I can figure out what happens here.

look at your DHCP server and see what lease time it really hands out after reboot.

However this is between you and your DHCP server. If you configure a lease time of 10 minutes, then that is the only guaranteed time for a given IP address. There is no mandate that the server has to give you the same address after 10 minutes when you ask again. It is valid to just get a different one. And that many home routers try to give you back the same one does not mean that they are required to do so.

The nice DHCP servers will remember your Ethernet address and/or identity information and give you back your old IP address. Either with the left over lease time or with a brand new lease time. There is really no need to store this information on disk. If the lease expired the information on disk are stale as well. And since our DHCP implementation is so fast, it makes really no difference.

It is safer start out with a brand new DHCP lease instead of having to deal with renewal during boot. At least that way you know the DHCP server is still there and you have a valid IP address. Just re-using a stored IP with a left-over lease is not safe anyway. You never know what changed in the network when you were off.

Regards

Marcel



More information about the systemd-devel mailing list