mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-20 04:31:52 +00:00
Merge pull request #3200 from wkennington/master.dhcpcd
nixos/dhcpcd: Add an explicit interfaces option
This commit is contained in:
commit
c42e7dfc0c
|
@ -6,6 +6,8 @@ let
|
|||
|
||||
dhcpcd = if !config.boot.isContainer then pkgs.dhcpcd else pkgs.dhcpcd.override { udev = null; };
|
||||
|
||||
cfg = config.networking.dhcpcd;
|
||||
|
||||
# Don't start dhcpcd on explicitly configured interfaces or on
|
||||
# interfaces that are part of a bridge, bond or sit device.
|
||||
ignoredInterfaces =
|
||||
|
@ -38,7 +40,10 @@ let
|
|||
# (Xen) and virbr* and vnet* (libvirt).
|
||||
denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* sit*
|
||||
|
||||
${config.networking.dhcpcd.extraConfig}
|
||||
# Use the list of allowed interfaces if specified
|
||||
${optionalString (cfg.allowInterfaces != null) "allowinterfaces ${toString cfg.allowInterfaces}"}
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
# Hook for emitting ip-up/ip-down events.
|
||||
|
@ -81,6 +86,17 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
networking.dhcpcd.allowInterfaces = mkOption {
|
||||
type = types.nullOr (types.listOf types.str);
|
||||
default = null;
|
||||
description = ''
|
||||
Enable the DHCP client for any interface whose name matches
|
||||
any of the shell glob patterns in this list. Any interface not
|
||||
explicitly matched by this pattern will be denied. This pattern only
|
||||
applies when non-null.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.dhcpcd.extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
|
|
Loading…
Reference in a new issue