summaryrefslogtreecommitdiffstats
path: root/etc/inc/pfsense-utils.inc
diff options
context:
space:
mode:
authorsmos <seth.mos@dds.nl>2012-04-03 10:27:13 +0200
committersmos <seth.mos@dds.nl>2012-04-03 10:27:13 +0200
commita6610d8242d5a516aa5aeb712151e22831290d74 (patch)
tree60f9b915f52c2eb458894a0604d13e009a9b61bc /etc/inc/pfsense-utils.inc
parent50a6400fe92c35b5042f6af5b6efaf351bb94ae6 (diff)
downloadpfsense-a6610d8242d5a516aa5aeb712151e22831290d74.zip
pfsense-a6610d8242d5a516aa5aeb712151e22831290d74.tar.gz
Automatically configure DHCPv6 servers for interfaces set to track6 another WAN.
If the prefix length permits it we setup DHPP-PD for the LAN clients so it can be daisy chained.
Diffstat (limited to 'etc/inc/pfsense-utils.inc')
-rw-r--r--etc/inc/pfsense-utils.inc24
1 files changed, 23 insertions, 1 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index a72c05a..edc2680 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -1023,7 +1023,7 @@ function is_dhcp_server_enabled()
$dhcpdenable = false;
- if ((!is_array($config['dhcpd'])) && (!is_array($config['dhcpdv6'])))
+ if (!is_array($config['dhcpd']))
return false;
$Iflist = get_configured_interface_list();
@@ -1037,6 +1037,28 @@ function is_dhcp_server_enabled()
}
}
+ return $dhcpdenable;
+}
+
+/* DHCP enabled on any interfaces? */
+function is_dhcpv6_server_enabled()
+{
+ global $config;
+
+ $dhcpdenable = false;
+
+ $Iflist = get_configured_interface_list();
+
+ foreach($Iflist as $ifname) {
+ if($config['interfaces'][$ifname]['track6-interface'] <> "") {
+ return true;
+ }
+ }
+
+ if (!is_array($config['dhcpdv6']))
+ return false;
+
+
if(is_array($config['dhcpdv6'])) {
foreach ($config['dhcpdv6'] as $dhcpv6if => $dhcpv6ifconf) {
if (isset($dhcpv6ifconf['enable']) && isset($Iflist[$dhcpv6if])) {
OpenPOWER on IntegriCloud