summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2014-03-10 15:12:53 +0000
committerErmal <eri@pfsense.org>2014-03-10 15:12:53 +0000
commitb67e9e626cf0ba432eeadacce5a99d5138c1b0e6 (patch)
treec261c8006119af216480c25e3a35120d4b353c42
parentd130cd4674d25fb87ff673482ce215f97b979685 (diff)
downloadpfsense-b67e9e626cf0ba432eeadacce5a99d5138c1b0e6.zip
pfsense-b67e9e626cf0ba432eeadacce5a99d5138c1b0e6.tar.gz
Fix for now 'IPv6 - LAN looses Prefix after link event'(forums) with a not elegant solution but works. Probably dhcpv6 client should solve this by itself and generate and event for it. For now just bump dhcpv6 client again to have the prefix interface reconfigured.
-rw-r--r--etc/inc/interfaces.inc17
1 files changed, 14 insertions, 3 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 37bc6d7..fc3c831 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -3043,7 +3043,7 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
interface_6to4_configure($interface, $wancfg);
break;
case 'track6':
- interface_track6_configure($interface, $wancfg);
+ interface_track6_configure($interface, $wancfg, $linkupevent);
break;
default:
/* XXX: Kludge for now related to #3280 */
@@ -3140,7 +3140,7 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
return 0;
}
-function interface_track6_configure($interface = "lan", $wancfg) {
+function interface_track6_configure($interface = "lan", $wancfg, $linkupevent = false) {
global $config, $g;
if (!is_array($wancfg))
@@ -3179,9 +3179,20 @@ function interface_track6_configure($interface = "lan", $wancfg) {
log_error("Interface {$interface} configured via {$wancfg['track6-interface']} type {$type}");
interface_track6_6rd_configure($interface, $wancfg);
break;
+ case "dhcp6":
+ if ($linkupevent == true) {
+ /*
+ * NOTE: Usually come here from rc.linkup calling so just call directly intead of generating event
+ * Instead of disrupting all other v4 configuration just restart DHCPv6 client for now
+ *
+ * XXX: Probably DHCPv6 client should handle this autmagically itself?
+ */
+ interface_dhcpv6_configure($wancfg['track6-interface'], $trackcfg);
+ }
+ break;
}
- if (!$g['booting']) {
+ if (!$g['booting'] && $linkupevent == false) {
if (!function_exists('services_dhcpd_configure'))
require_once("services.inc");
OpenPOWER on IntegriCloud