summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
diff options
context:
space:
mode:
authorAndre Kalb <andre.kalb@sma.de>2022-06-30 10:27:27 +0200
committerAndre Kalb <andre.kalb@sma.de>2022-07-14 14:35:42 +0200
commit59c272316cf4977fd1332c7c9bc45b2dc2e11647 (patch)
tree495921c10cb702243d8f234a5ba53a8564c2b4ad /src/network/networkd-link.c
parent34b63c9e458b08e1894ea458687c8450817762b8 (diff)
downloadsystemd-59c272316cf4977fd1332c7c9bc45b2dc2e11647.tar.gz
sd-ipv4ll/networkd: Try to select an IPv4 link-local start address
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r--src/network/networkd-link.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 29a5609483..f3ef5035ff 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -611,6 +611,12 @@ static int link_acquire_dynamic_ipv4_conf(Link *link) {
log_link_debug(link, "Acquiring DHCPv4 lease.");
} else if (link->ipv4ll) {
+ if (in4_addr_is_set(&link->network->ipv4ll_start_address)) {
+ r = sd_ipv4ll_set_address(link->ipv4ll, &link->network->ipv4ll_start_address);
+ if (r < 0)
+ return log_link_warning_errno(link, r, "Could not set IPv4 link-local start address: %m");
+ }
+
r = sd_ipv4ll_start(link->ipv4ll);
if (r < 0)
return log_link_warning_errno(link, r, "Could not acquire IPv4 link-local address: %m");