nixos/networking-interfaces: set default value for virtualType
This commit is contained in:
parent
dc52fc6dda
commit
46c158a32f
@ -230,9 +230,7 @@ let
|
|||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
ip tuntap add dev "${i.name}" \
|
ip tuntap add dev "${i.name}" mode "${i.virtualType}" user "${i.virtualOwner}"
|
||||||
${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
|
|
||||||
user "${i.virtualOwner}"
|
|
||||||
'';
|
'';
|
||||||
postStop = ''
|
postStop = ''
|
||||||
ip link del ${i.name} || true
|
ip link del ${i.name} || true
|
||||||
|
@ -74,17 +74,13 @@ in
|
|||||||
networks."99-main" = genericNetwork mkDefault;
|
networks."99-main" = genericNetwork mkDefault;
|
||||||
}
|
}
|
||||||
(mkMerge (flip map interfaces (i: {
|
(mkMerge (flip map interfaces (i: {
|
||||||
netdevs = mkIf i.virtual (
|
netdevs = mkIf i.virtual ({
|
||||||
let
|
|
||||||
devType = if i.virtualType != null then i.virtualType
|
|
||||||
else (if hasPrefix "tun" i.name then "tun" else "tap");
|
|
||||||
in {
|
|
||||||
"40-${i.name}" = {
|
"40-${i.name}" = {
|
||||||
netdevConfig = {
|
netdevConfig = {
|
||||||
Name = i.name;
|
Name = i.name;
|
||||||
Kind = devType;
|
Kind = i.virtualType;
|
||||||
};
|
};
|
||||||
"${devType}Config" = optionalAttrs (i.virtualOwner != null) {
|
"${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) {
|
||||||
User = i.virtualOwner;
|
User = i.virtualOwner;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -273,11 +273,13 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
virtualType = mkOption {
|
virtualType = mkOption {
|
||||||
default = null;
|
default = if hasPrefix "tun" name then "tun" else "tap";
|
||||||
type = with types; nullOr (enum [ "tun" "tap" ]);
|
defaultText = ''if hasPrefix "tun" name then "tun" else "tap"'';
|
||||||
|
type = with types; enum [ "tun" "tap" ];
|
||||||
description = ''
|
description = ''
|
||||||
The explicit type of interface to create. Accepts tun or tap strings.
|
The type of interface to create.
|
||||||
Also accepts null to implicitly detect the type of device.
|
The default is TUN for an interface name starting
|
||||||
|
with "tun", otherwise TAP.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user