about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2024-05-31 12:39:12 +0000
committerGitHub <noreply@github.com>2024-05-31 12:39:12 +0000
commit66e93e7e4319a7c4e5c6ee1c6bfc52783142b7e3 (patch)
tree1e7834f9d6a0741e1dfff74b1859961a920230fa /nixos
parentbf3cd241bdb6aa95a01f3f62c7c9538653a9a9fe (diff)
parent3cf43046921d72c543a4e96611ce12b58248f877 (diff)
Merge pull request #316128 from NixOS/revert-315921-networkd-simplify-mkif
Revert "nixos/networking: use mkIfs on the inner attributes"
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix76
1 files changed, 56 insertions, 20 deletions
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index d30ed3069f553..c1241d11de879 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -95,28 +95,64 @@ let
       address = forEach (interfaceIps i)
         (ip: "${ip.address}/${toString ip.prefixLength}");
       routes = forEach (interfaceRoutes i)
-        (route: {
+        (route: mkMerge [
           # Most of these route options have not been tested.
           # Please fix or report any mistakes you may find.
-          Destination = mkIf (route.address != null && route.prefixLength != null) "${route.address}/${toString route.prefixLength}";
-          FastOpenNoCookie = mkIf (route.options ? fastopen_no_cookie) route.options.fastopen_no_cookie;
-          Gateway = mkIf (route.via != null) route.via;
-          Type = mkIf (route.type != null) route.type;
-          GatewayOnLink = mkIf (route.options ? onlink) true;
-          InitialAdvertisedReceiveWindow = mkIf (route.options ? initrwnd) route.options.initrwnd;
-          InitialCongestionWindow = mkIf (route.options ? initcwnd) route.options.initcwnd;
-          IPv6Preference = mkIf (route.options ? pref) route.options.pref;
-          MTUBytes = mkIf (route.options ? mtu) route.options.mtu;
-          Metric = mkIf (route.options ? metric) route.options.metric;
-          PreferredSource = mkIf (route.options ? src) route.options.src;
-          Protocol = mkIf (route.options ? protocol) route.options.protocol;
-          QuickAck = mkIf (route.options ? quickack) route.options.quickack;
-          Scope = mkIf (route.options ? scope) route.options.scope;
-          Source = mkIf (route.options ? from) route.options.from;
-          Table = mkIf (route.options ? table) route.options.table;
-          TCPAdvertisedMaximumSegmentSize = mkIf (route.options ? advmss) route.options.advmss;
-          TTLPropagate = mkIf (route.options ? ttl-propagate) route.options.ttl-propagate == "enabled";
-        });
+          (mkIf (route.address != null && route.prefixLength != null) {
+            Destination = "${route.address}/${toString route.prefixLength}";
+          })
+          (mkIf (route.options ? fastopen_no_cookie) {
+            FastOpenNoCookie = route.options.fastopen_no_cookie;
+          })
+          (mkIf (route.via != null) {
+            Gateway = route.via;
+          })
+          (mkIf (route.type != null) {
+            Type = route.type;
+          })
+          (mkIf (route.options ? onlink) {
+            GatewayOnLink = true;
+          })
+          (mkIf (route.options ? initrwnd) {
+            InitialAdvertisedReceiveWindow = route.options.initrwnd;
+          })
+          (mkIf (route.options ? initcwnd) {
+            InitialCongestionWindow = route.options.initcwnd;
+          })
+          (mkIf (route.options ? pref) {
+            IPv6Preference = route.options.pref;
+          })
+          (mkIf (route.options ? mtu) {
+            MTUBytes = route.options.mtu;
+          })
+          (mkIf (route.options ? metric) {
+            Metric = route.options.metric;
+          })
+          (mkIf (route.options ? src) {
+            PreferredSource = route.options.src;
+          })
+          (mkIf (route.options ? protocol) {
+            Protocol = route.options.protocol;
+          })
+          (mkIf (route.options ? quickack) {
+            QuickAck = route.options.quickack;
+          })
+          (mkIf (route.options ? scope) {
+            Scope = route.options.scope;
+          })
+          (mkIf (route.options ? from) {
+            Source = route.options.from;
+          })
+          (mkIf (route.options ? table) {
+            Table = route.options.table;
+          })
+          (mkIf (route.options ? advmss) {
+            TCPAdvertisedMaximumSegmentSize = route.options.advmss;
+          })
+          (mkIf (route.options ? ttl-propagate) {
+            TTLPropagate = route.options.ttl-propagate == "enabled";
+          })
+        ]);
       networkConfig.IPv6PrivacyExtensions = "kernel";
       linkConfig = optionalAttrs (i.macAddress != null) {
         MACAddress = i.macAddress;