From c4780a8953bbbb61e0405889f217779a9432e9ca Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Jul 2009 00:31:22 +0000 Subject: [PATCH] * dhcp 4.1 requires IPv6 support. svn path=/nixos/branches/modular-nixos/; revision=16450 --- modules/services/networking/dhclient.nix | 29 ++++++++++++------------ 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/modules/services/networking/dhclient.nix b/modules/services/networking/dhclient.nix index c87e788b6d5..f1b523adf88 100644 --- a/modules/services/networking/dhclient.nix +++ b/modules/services/networking/dhclient.nix @@ -60,20 +60,20 @@ in config = mkIf config.networking.useDHCP { - jobs = pkgs.lib.singleton { - name = "dhclient"; + jobs = pkgs.lib.singleton + { name = "dhclient"; - job = '' - description "DHCP client" + startOn = "network-interfaces/started"; + stopOn = "network-interfaces/stop"; - start on network-interfaces/started - stop on network-interfaces/stop - - env PATH_DHCLIENT_SCRIPT=${dhcp}/sbin/dhclient-script - - script - export PATH=${nettools}/sbin:$PATH + preStart = + '' + # dhclient barfs if /proc/net/if_inet6 doesn't exist. + ${config.system.sbin.modprobe}/sbin/modprobe ipv6 || true + ''; + script = + '' # Determine the interface on which to start dhclient. interfaces= @@ -91,10 +91,9 @@ in mkdir -m 755 -p ${stateDir} - exec ${dhcp}/sbin/dhclient -d $interfaces -e "PATH=$PATH" -lf ${stateDir}/dhclient.leases - end script - ''; - }; + exec ${dhcp}/sbin/dhclient -d $interfaces -e "PATH=$PATH" -lf ${stateDir}/dhclient.leases -sf ${dhcp}/sbin/dhclient-script + ''; + }; environment.systemPackages = [dhcp];