From 47724fc77c7b53def3ecb66bf8c925cd17b8f069 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 28 Oct 2019 20:51:17 +0100 Subject: [PATCH] nixos/networkd: add `ipv4-fallback` and `fallback` as valid options to `LinkLocalAddressing` Both options were introduced in systemd v243[1]. Those options can be used to ensure that LinkLocalAddressing is only configured for a given interface if DHCPv4 fails. To quote `systemd.network(5)`: ``` If "fallback" or "ipv4-fallback" is specified, then an IPv4 link-local address is configured only when DHCPv4 fails. If "fallback", an IPv6 link-local address is always configured, and if "ipv4-fallback", the address is not configured. Note that, the fallback mechanism works only when DHCPv4 client is enabled, that is, it requires "DHCP=yes" or "DHCP=ipv4". ``` [1] https://github.com/systemd/systemd/commit/8bc17bb3f707c99b6c9ad295563c92b38141a1f4 --- nixos/modules/system/boot/networkd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index f2060e21509c..85a106527fe0 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -187,7 +187,7 @@ let # Note: For DHCP the values both, none, v4, v6 are deprecated (assertValueOneOf "DHCP" ["yes" "no" "ipv4" "ipv6" "both" "none" "v4" "v6"]) (assertValueOneOf "DHCPServer" boolValues) - (assertValueOneOf "LinkLocalAddressing" ["yes" "no" "ipv4" "ipv6"]) + (assertValueOneOf "LinkLocalAddressing" ["yes" "no" "ipv4" "ipv6" "ipv4-fallback" "fallback"]) (assertValueOneOf "IPv4LLRoute" boolValues) (assertValueOneOf "LLMNR" ["yes" "resolve" "no"]) (assertValueOneOf "MulticastDNS" ["yes" "resolve" "no"])