From 7eeaf72b88e43cb100763cec1db1b750928f2a1b Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 23 Dec 2020 12:56:45 +0100 Subject: [PATCH 1/2] network: fix typo IPv6 privacy extensions are plural, not singular. --- src/network/networkd-sysctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c index add069e470..4ffb09eb06 100644 --- a/src/network/networkd-sysctl.c +++ b/src/network/networkd-sysctl.c @@ -194,7 +194,7 @@ int link_set_sysctl(Link *link) { r = link_set_ipv6_privacy_extensions(link); if (r < 0) - log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extension for interface, ignoring: %m"); + log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extensions for interface, ignoring: %m"); r = link_set_ipv6_accept_ra(link); if (r < 0) From d3ccb1b4ba71b7bdf263aab8b1b17d1274d27a47 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 23 Dec 2020 12:57:47 +0100 Subject: [PATCH 2/2] network: fix IPv6PrivacyExtensions=kernel handling When set to "kernel", systemd is not supposed to touch that sysctl. 5e0534f1c13cd50ec2b143a8b18156cd37e502f7, part of https://github.com/systemd/systemd/pull/17240 forgot to handle that case. Fixes https://github.com/systemd/systemd/issues/18003 --- src/network/networkd-sysctl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c index 4ffb09eb06..377fdac722 100644 --- a/src/network/networkd-sysctl.c +++ b/src/network/networkd-sysctl.c @@ -100,6 +100,10 @@ static int link_set_ipv6_privacy_extensions(Link *link) { if (!link->network) return 0; + // this is the special "kernel" value + if (link->network->ipv6_privacy_extensions == _IPV6_PRIVACY_EXTENSIONS_INVALID) + return 0; + return sysctl_write_ip_property_int(AF_INET6, link->ifname, "use_tempaddr", (int) link->network->ipv6_privacy_extensions); }