nixos/networkd: warn about naively replacing IPForward

See https://github.com/systemd/systemd/issues/33414.

The way this was phrased sounded like a dumb search/replace operation to
me. This resulted in random parts of my routing being broken (forward
from if X -> Y being fine, but the opposite direction being broken).

This change makes it explicit that it's a little more complicated and
you should really consult the docs before making that change.

(cherry picked from commit 06f50f4adf)
This commit is contained in:
Maximilian Bosch 2024-11-18 14:16:38 +01:00 committed by github-actions[bot]
parent 2eec61e84f
commit 63e1dc6ace

View File

@ -716,7 +716,7 @@ let
(assertValueOneOf "EmitLLDP" (boolValues ++ ["nearest-bridge" "non-tpmr-bridge" "customer-bridge"])) (assertValueOneOf "EmitLLDP" (boolValues ++ ["nearest-bridge" "non-tpmr-bridge" "customer-bridge"]))
(assertValueOneOf "UseDomains" (boolValues ++ ["route"])) (assertValueOneOf "UseDomains" (boolValues ++ ["route"]))
(assertValueOneOf "DNSDefaultRoute" boolValues) (assertValueOneOf "DNSDefaultRoute" boolValues)
(assertRemoved "IPForward" "IPv4Forwarding and IPv6Forwarding in systemd.network(5) and networkd.conf(5)") (assertRemoved "IPForward" "IPv4Forwarding and IPv6Forwarding in systemd.network(5) and networkd.conf(5). Please note that setting these options on multiple interfaces may lead to unintended results, see https://github.com/systemd/systemd/issues/33414 or the relevant sections in systemd.network(5).")
(assertValueOneOf "IPv4Forwarding" boolValues) (assertValueOneOf "IPv4Forwarding" boolValues)
(assertValueOneOf "IPv6Forwarding" boolValues) (assertValueOneOf "IPv6Forwarding" boolValues)
(assertValueOneOf "IPMasquerade" (boolValues ++ ["ipv4" "ipv6" "both"])) (assertValueOneOf "IPMasquerade" (boolValues ++ ["ipv4" "ipv6" "both"]))