diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index afcbb12473..04ad2aa69d 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -2115,6 +2115,13 @@ static int address_section_verify(Address *address) { !FLAGS_SET(address->duplicate_address_detection, ADDRESS_FAMILY_IPV6)) address->flags |= IFA_F_NODAD; + if (address->family == AF_INET && in4_addr_is_link_local(&address->in_addr.in) && + !FLAGS_SET(address->duplicate_address_detection, ADDRESS_FAMILY_IPV4)) { + log_debug("%s: An IPv4 link-local address is specified, enabling IPv4 Address Conflict Detection (ACD).", + address->section->filename); + address->duplicate_address_detection |= ADDRESS_FAMILY_IPV4; + } + return 0; }