I'm not sure if there is a way to insert an address into the kernel that has a defined preferred and valid lifetime. I think the DHCPv6 client would have to maintain a timer for any addresses it has been leased. That is the way the client implementation available at:Yes, I'm doing it just as you described. Linux kernel (even without USAGI patches) is capable of using finite lifetime addresses. I've went through ip-route2 sources. I can read those addresses (with lifetimes) from kernel using RTNetlink functions (I think RTnetlink is the proper name, but I'm not sure.) But adding/modifying this values is not working.
http://dhcpv6.sourceforge.net
does it. Once the timer expires it takes the appropriate action, such as trying to renew the address. I'm not aware of any interface from the kernel to a user-space daemon to signal that an address is going to expire, but I haven't looked into this too much so maybe I'm just not
aware of it. By the way, the above-mentioned project also has a server implementation, and both are released under the BSD license in case you are interested.Full compliance is a long term goal. Right now I have Linux client and server (which is usable, but has some bugs and needs lots of testing) and early winxp port, client and server also.
I'm curious. Will your implementation be fully RFC 3315 compliant, or is it only going to implement a subset of the functionality? Are you implementing just a client, or are you also implementing a server and relay agent?
-- Tomasz Mrugalski spam@xxxxxxxxxxx