make a module for vlan

Acked-by: Daniel Barlow <<dan@telent.net>>
This commit is contained in:
Daniel Barlow
2023-08-30 23:26:44 +01:00
parent efa1919e04
commit 333327be75
5 changed files with 90 additions and 51 deletions

15
modules/vlan/service.nix Normal file
View File

@@ -0,0 +1,15 @@
{
liminix
, lib
}:
{ ifname, primary, vid } :
let
inherit (liminix.services) oneshot;
in oneshot rec {
name = "${ifname}.link";
up = ''
ip link add link $(output ${primary} ifname) name ${ifname} type vlan id ${vid}
${liminix.networking.ifup name ifname}
'';
down = "ip link set down dev ${ifname}";
}