diff options
author | smos <seth.mos@dds.nl> | 2012-04-03 10:27:13 +0200 |
---|---|---|
committer | smos <seth.mos@dds.nl> | 2012-04-03 10:27:13 +0200 |
commit | a6610d8242d5a516aa5aeb712151e22831290d74 (patch) | |
tree | 60f9b915f52c2eb458894a0604d13e009a9b61bc /etc/inc/pfsense-utils.inc | |
parent | 50a6400fe92c35b5042f6af5b6efaf351bb94ae6 (diff) | |
download | pfsense-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.inc | 24 |
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])) { |