summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2019-05-04 11:16:12 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-05-04 16:46:02 +0200
commit29e81083bd2fcb2dbf83f67ef358c7d25adf7e9d (patch)
treeb940620b9fec484159a10d8c7100f639a91568db
parente800fd24a15ea4389081e1f844d1c3f6a9d19aa4 (diff)
downloadsystemd-29e81083bd2fcb2dbf83f67ef358c7d25adf7e9d.tar.gz
network: disable fallback IPv4ll address assignment when DHCPv4 is disabled
-rw-r--r--src/network/networkd-network.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
index 1828d1126c..66cce13e31 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -236,6 +236,13 @@ int network_verify(Network *network) {
if (network->link_local < 0)
network->link_local = network->bridge ? ADDRESS_FAMILY_NO : ADDRESS_FAMILY_IPV6;
+ if (FLAGS_SET(network->link_local, ADDRESS_FAMILY_FALLBACK_IPV4) &&
+ !FLAGS_SET(network->dhcp, ADDRESS_FAMILY_IPV4)) {
+ log_warning("%s: fallback assignment of IPv4 link local address is enabled but DHCPv4 is disabled. "
+ "Disabling the fallback assignment.", network->filename);
+ SET_FLAG(network->link_local, ADDRESS_FAMILY_FALLBACK_IPV4, false);
+ }
+
if (network->ipv6_accept_ra < 0 && network->bridge)
network->ipv6_accept_ra = false;