remove interface.device

build-time uses can mostly be replaced with interface.name

for runtime uses, switch to $(output ${interface} name)
This commit is contained in:
Daniel Barlow 2023-08-27 23:20:58 +01:00
parent 6da0e67621
commit 540a1dfd76
6 changed files with 22 additions and 22 deletions

View file

@ -105,7 +105,7 @@ in rec {
inherit interface; inherit interface;
ranges = [ ranges = [
"10.8.0.10,10.8.0.240" "10.8.0.10,10.8.0.240"
"::,constructor:${interface.device},ra-stateless" "::,constructor:$(output ${interface} ifname),ra-stateless"
]; ];
domain = "fake.liminix.org"; domain = "fake.liminix.org";
}; };
@ -188,7 +188,7 @@ in rec {
let script = pkgs.callPackage ./acquire-delegated-prefix.nix { }; let script = pkgs.callPackage ./acquire-delegated-prefix.nix { };
in longrun { in longrun {
name = "acquire-lan-prefix"; name = "acquire-lan-prefix";
run = "${script} /run/service-state/dhcp6c.wan ${services.int.device}"; run = "${script} /run/service-state/dhcp6c.wan $(output ${services.int} ifname)";
dependencies = [ services.dhcp6 ]; dependencies = [ services.dhcp6 ];
}; };

View file

@ -13,14 +13,15 @@ let
type = "bridge"; type = "bridge";
}; };
addif = member : addif = member :
oneshot { let ifname = "$(output ${member} ifname)";
name = "add-${member.device}-to-br-${primary.device}"; in oneshot {
up = "${ifwait}/bin/ifwait ${member.device} running && ip link set dev ${member.device} master ${primary.device}"; name = "add-${member.name}-to-br-${primary.name}";
down = "ip link set dev ${member.device} nomaster"; up = "${ifwait}/bin/ifwait ${ifname} running && ip link set dev ${ifname} master $(output ${primary} ifname)";
down = "ip link set dev ${ifname} nomaster";
dependencies = [ primary member ]; dependencies = [ primary member ];
}; };
in (bundle { in bundle {
name = "bridge-${primary.device}-members"; name = "bridge-${primary.name}-members";
contents = [ primary ] ++ map addif members; contents = [ primary ] ++ map addif members;
}) // { device = primary.device; } }

View file

@ -14,7 +14,7 @@
, resolvconf , resolvconf
}: }:
let let
name = "${interface.device}.dnsmasq"; name = "${interface.name}.dnsmasq";
inherit (liminix.services) longrun; inherit (liminix.services) longrun;
inherit (lib) concatStringsSep; inherit (lib) concatStringsSep;
in in
@ -27,7 +27,7 @@ longrun {
--user=${user} \ --user=${user} \
--domain=${domain} \ --domain=${domain} \
--group=${group} \ --group=${group} \
--interface=${interface.device} \ --interface=$(output ${interface} ifname) \
${lib.concatStringsSep " " (builtins.map (r: "--dhcp-range=${r}") ranges)} \ ${lib.concatStringsSep " " (builtins.map (r: "--dhcp-range=${r}") ranges)} \
${lib.concatStringsSep " " (builtins.map (r: "--server=${r}") upstreams)} \ ${lib.concatStringsSep " " (builtins.map (r: "--server=${r}") upstreams)} \
--keep-in-foreground \ --keep-in-foreground \

View file

@ -17,7 +17,7 @@ let
# we'll add them as top-level attributes and rename params to # we'll add them as top-level attributes and rename params to
# extraParams # extraParams
name = "${interface.device}.hostapd"; name = "${interface.name}.hostapd";
defaults = { defaults = {
driver = "nl80211"; driver = "nl80211";
logger_syslog = "-1"; logger_syslog = "-1";
@ -35,5 +35,5 @@ let
in longrun { in longrun {
inherit name; inherit name;
dependencies = [ interface ]; dependencies = [ interface ];
run = "${hostapd}/bin/hostapd -i ${interface.device} -P /run/${name}.pid -S ${conf}"; run = "${hostapd}/bin/hostapd -i $(output ${interface} ifname) -P /run/${name}.pid -S ${conf}";
} }

View file

@ -9,7 +9,7 @@
{ interface, ppp-options }: { interface, ppp-options }:
let let
inherit (liminix.services) longrun; inherit (liminix.services) longrun;
name = "${interface.device}.pppoe"; name = "${interface.name}.pppoe";
ip-up = writeAshScript "ip-up" {} '' ip-up = writeAshScript "ip-up" {} ''
. ${serviceFns} . ${serviceFns}
(in_outputs ${name} (in_outputs ${name}
@ -42,7 +42,10 @@ let
in in
longrun { longrun {
inherit name; inherit name;
run = "${ppp}/bin/pppd pty '${pppoe}/bin/pppoe -I ${interface.device}' ${lib.concatStringsSep " " ppp-options'}" ; run = ''
. ${serviceFns}
${ppp}/bin/pppd pty "${pppoe}/bin/pppoe -I $(output ${interface} ifname)" ${lib.concatStringsSep " " ppp-options'}
'';
notification-fd = 10; notification-fd = 10;
dependencies = [ interface ]; dependencies = [ interface ];
} }

View file

@ -25,18 +25,14 @@ in {
up = lib.concatStringsSep "\n" ups; up = lib.concatStringsSep "\n" ups;
down = "ip link set down dev ${device}"; down = "ip link set down dev ${device}";
dependencies = dependencies ++ lib.optional (primary != null) primary; dependencies = dependencies ++ lib.optional (primary != null) primary;
} // {
inherit device;
}; };
address = interface: { family, dependencies ? [], prefixLength, address } @ args: address = interface: { family, dependencies ? [], prefixLength, address } @ args:
let inherit (builtins) toString; let inherit (builtins) toString;
in oneshot { in oneshot {
dependencies = [ interface ] ++ dependencies; dependencies = [ interface ] ++ dependencies;
name = "${interface.device}.addr.${address}"; name = "${interface.name}.addr.${address}";
up = "ip address add ${address}/${toString prefixLength} dev ${interface.device} "; up = "ip address add ${address}/${toString prefixLength} dev $(output ${interface} ifname)";
down = "ip address del ${address}/${toString prefixLength} dev ${interface.device} "; down = "ip address del ${address}/${toString prefixLength} dev $(output ${interface} ifname)";
} // {
inherit (interface) device;
}; };
route = { name, target, via, dependencies, dev ? null }: route = { name, target, via, dependencies, dev ? null }:
let with_dev = if dev != null then "dev ${dev}" else ""; let with_dev = if dev != null then "dev ${dev}" else "";