]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/network/networkd-link.c
network: ipv4acd: first probe address and then assign it
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 21 Jun 2021 19:08:19 +0000 (04:08 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Jun 2021 15:49:03 +0000 (00:49 +0900)
commit76a86ffdbee2dd9ef0f2b5338e14eb6ba7671456
treeb4241501e3c103729fd4ace9222170a0dfd80895
parent475ec3346f0b8b311cb9275523e322f2b1b3157c
network: ipv4acd: first probe address and then assign it

Previously, if IPv4 ACD is enabled on an address, then we first
assign the address, and start sd-ipv4acd daemon for the address.
This is not only RFC incompliant, but also the address is always
dropped, as the daemon always considers the address is conflicted.

This commit makes networkd first starts sd-ipv4acd daemon to probe
the address, and then the address is configured if no conflict is
detected.

Fixes #17235.
src/network/meson.build
src/network/networkd-address.c
src/network/networkd-address.h
src/network/networkd-dhcp4.c
src/network/networkd-ipv4acd.c [new file with mode: 0644]
src/network/networkd-ipv4acd.h [new file with mode: 0644]
src/network/networkd-link.c
src/network/networkd-link.h