]> git.ipfire.org Git - thirdparty/systemd.git/commit
libsystemd-network: sd-ipv4ll: acquire new address after claimed address conflict 5589/head
authorJason Reeder <jasonreeder@gmail.com>
Fri, 31 Mar 2017 20:40:18 +0000 (15:40 -0500)
committerJason Reeder <jasonreeder@gmail.com>
Fri, 31 Mar 2017 20:40:18 +0000 (15:40 -0500)
commit0698ff4184c3652d97c04e15ffac90d0b3aa3529
tree216395f95c4bca578058b0920706546db2b8108f
parent5e25a13a05b2a3844295ca4a2a7e0f12de203ccb
libsystemd-network: sd-ipv4ll: acquire new address after claimed address conflict

If a conflict occurs on a claimed ipv4ll address, the device releases
the address and then does not attempt to acquire a new ipv4ll
address. According to RFC3927, releasing the address in this
situation is correct. However, this should be followed by an attempt
to configure a new ipv4ll address.

This commit restarts the ipv4ll address acquisition state machine
after releasing the conflicting address.

From RFC3927 Section 2.5 conflict defense method (b):
...
However, if this is not the first conflicting ARP packet the host has
seen, and the time recorded for the previous conflicting ARP packet is
recent, within DEFEND_INTERVAL seconds, then the host MUST immediately
cease using this address and configure a new IPv4 Link-Local address
as described above.
...

Signed-off-by: Jason Reeder <jasonreeder@gmail.com>
src/network/networkd-ipv4ll.c