chiark / gitweb /
networkd: smooth transition from ipv4ll to dhcp address
authorUmut Tezduyar Lindskog <umut.tezduyar@axis.com>
Wed, 2 Apr 2014 19:31:12 +0000 (21:31 +0200)
committerTom Gundersen <teg@jklm.no>
Thu, 3 Apr 2014 14:00:25 +0000 (16:00 +0200)
commitaba496a58acf9d9c61314de71353550e579f85ee
treee554123004bba327c3114539142047d4c124f40a
parent3e790eae01ce74f94a5233adeab12c64508916e0
networkd: smooth transition from ipv4ll to dhcp address

Currently when both ipv4ll and dhcp are enabled, ipv4ll
address (if one has been claimed) is removed when dhcp
address is aquired. This is not the best thing to do
since there might be clients unaware of the removal
trying to communicate.

This patch provides a smooth transition between ipv4ll
and dhcp. If ipv4ll address was claimed [1] before dhcp,
address is marked as deprecated. Deprecated address is still
a valid address and packets can be received on it but address
cannot be selected as a source address. If dhcp lease cannot
be extended, then ipv4ll address is marked as valid again.

[1] If there is no collision, claiming IPv4LL takes between 4 to
7 seconds.
12 files changed:
TODO
man/systemd.network.xml
src/libsystemd-network/sd-ipv4ll.c
src/libsystemd/sd-rtnl/rtnl-message.c
src/libsystemd/sd-rtnl/rtnl-types.c
src/libsystemd/sd-rtnl/rtnl-types.h
src/libsystemd/sd-rtnl/test-rtnl.c
src/network/networkd-address.c
src/network/networkd-link.c
src/network/networkd.h
src/systemd/sd-ipv4ll.h
src/systemd/sd-rtnl.h