From 293f28abb102c5a14d81b2bef68fd5cbe0073821 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sun, 5 Jul 2026 01:01:35 +0900 Subject: [PATCH] lupine5: set up bridge and tap netdevs --- hosts/lupine/configuration.nix | 59 +++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/hosts/lupine/configuration.nix b/hosts/lupine/configuration.nix index 83b88ca..b5115dd 100644 --- a/hosts/lupine/configuration.nix +++ b/hosts/lupine/configuration.nix @@ -15,14 +15,57 @@ "i686-linux" ]; - systemd.network.networks."30-enp0s31f6" = values.defaultNetworkConfig // { - matchConfig.Name = "enp0s31f6"; - address = with values.hosts.${lupineName}; [ (ipv4 + "/25") (ipv6 + "/64") ]; - networkConfig.LLDP = false; - }; - systemd.network.wait-online = { - anyInterface = true; - }; + systemd.network = if (lupineName != "lupine-5") + then { + networks."30-enp0s31f6" = (values.defaultNetworkConfig // { + matchConfig.Name = "enp0s31f6"; + address = with values.hosts.${lupineName}; [ (ipv4 + "/25") (ipv6 + "/64") ]; + networkConfig.LLDP = false; + }); + + wait-online = { + anyInterface = true; + }; + } + else { + netdevs."10-br0".netdevConfig = { + Name = "br0"; + Kind = "bridge"; + }; + + netdevs."20-tap0".netdevConfig = { + Name = "tap0"; + Kind = "tap"; + }; + + networks."10-enp0s31f6" = { + matchConfig.Name = "enp0s31f6"; + bridge = [ "br0" ]; + }; + + networks."20-br0" = { + matchConfig.Name = "br0"; + + address = with values.hosts.${lupineName}; [ (ipv4 + "/25") (ipv6 + "/64") ]; + networkConfig.LLDP = false; + + dns = ["129.241.0.200" "129.241.0.201" "2001:700:300:1900::200" "2001:700:300:1900::201"]; + domains = ["pvv.ntnu.no" "pvv.org"]; + gateway = [values.hosts.gateway values.hosts.gateway6]; + + networkConfig.IPv6AcceptRA = "no"; + DHCP = "no"; + }; + + networks."30-tap0" = { + matchConfig.Name = "tap0"; + bridge = [ "br0" ]; + }; + + wait-online = { + anyInterface = true; + }; + }; # Don't change (even during upgrades) unless you know what you are doing. # See https://search.nixos.org/options?show=system.stateVersion