summaryrefslogtreecommitdiffstats
path: root/etc/inc
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-02-09 20:24:47 +0000
committerErmal <eri@pfsense.org>2013-02-09 20:25:05 +0000
commit3084ba6ee5b2169b0da0e5f4eacfd7b6ce0ad398 (patch)
treed2b7ede655dce4839bac27e506c228bf65ca6e12 /etc/inc
parent3a2de75a91650aeaa8276bd2e517e235b47ba82f (diff)
downloadpfsense-3084ba6ee5b2169b0da0e5f4eacfd7b6ce0ad398.zip
pfsense-3084ba6ee5b2169b0da0e5f4eacfd7b6ce0ad398.tar.gz
Teach dhcpd_configure about family optional parameter and use it to properly setup dhcpv6 on track6 case so that config is properly written
Diffstat (limited to 'etc/inc')
-rw-r--r--etc/inc/interfaces.inc5
-rw-r--r--etc/inc/services.inc12
2 files changed, 10 insertions, 7 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 2e30fd1..704d245 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -2999,11 +2999,10 @@ function interface_track6_configure($interface = "lan", $wancfg) {
break;
}
- if (!function_exists('services_dhcpdv6_configure'))
+ if (!function_exists('services_dhcpd_configure'))
require_once("services.inc");
- services_dhcpdv6_configure();
- services_radvd_configure();
+ services_dhcpd_configure("inet6");
return 0;
}
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index 7561f63..9b18462 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -294,7 +294,7 @@ function services_radvd_configure() {
return 0;
}
-function services_dhcpd_configure() {
+function services_dhcpd_configure($family = "all") {
global $config, $g;
/* configure DHCPD chroot once */
@@ -319,9 +319,13 @@ function services_dhcpd_configure() {
fclose($fd);
mwexec("/bin/sh {$g['tmp_path']}/dhcpd.sh");
- services_dhcpdv4_configure();
- services_dhcpdv6_configure();
- services_radvd_configure();
+ if ($family == "all" || $family == "inet")
+ services_dhcpdv4_configure();
+ if ($family == "all" || $family == "inet6") {
+ services_dhcpdv6_configure();
+ services_radvd_configure();
+ }
+
return;
}
OpenPOWER on IntegriCloud