diff options
author | smos <seth.mos@dds.nl> | 2011-11-21 20:03:58 +0100 |
---|---|---|
committer | smos <seth.mos@dds.nl> | 2011-11-21 20:03:58 +0100 |
commit | 82769dfe367074b2b958a5658cfdcdfc41b1269b (patch) | |
tree | f6fe10dd2a143d66972e4050bcad80c2af3e692d | |
parent | 39cad6aed92e181270ab68c7953b525f217b1d23 (diff) | |
download | pfsense-82769dfe367074b2b958a5658cfdcdfc41b1269b.zip pfsense-82769dfe367074b2b958a5658cfdcdfc41b1269b.tar.gz |
Add strategic sleep commands into the configure and renewal process so that prefix delegation gets a chance to work.
-rw-r--r-- | etc/inc/interfaces.inc | 7 | ||||
-rwxr-xr-x | etc/rc.newwanipv6 | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index e630c01..76a7df4 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -2981,11 +2981,9 @@ function interface_dhcpv6_configure($interface = "wan") { log_error("Accept router advertisements on interface {$wanif} "); mwexec("/sbin/ifconfig {$wanif} inet6 accept_rtadv"); mwexec("/sbin/ifconfig {$wanif} inet6 defroute_rtadv"); - sleep(1); + /* fire up dhcp6c for IPv6 first, this backgrounds immediately */ - sleep(1); mwexec("/usr/local/sbin/dhcp6c -d -c {$g['varetc_path']}/dhcp6c_{$interface}.conf {$wanif}"); - sleep(1); exec("/sbin/rtsol -d {$wanif} 2>&1", $out, $ret); if(!empty($out)) { echo "Output from rtsol {$wanif}\n"; @@ -2999,6 +2997,9 @@ function interface_dhcpv6_configure($interface = "wan") { } } } + /* sleep a few seconds before returning to give the client some time + * to configure a lan interface with a prefix */ + sleep(5); return 0; } diff --git a/etc/rc.newwanipv6 b/etc/rc.newwanipv6 index 32d0625..a4d6dbc 100755 --- a/etc/rc.newwanipv6 +++ b/etc/rc.newwanipv6 @@ -136,6 +136,9 @@ services_dnsupdate_process($interface); /* signal dyndns update */ services_dyndns_configure($interface); +/* wait for the dhcp6c process to configure the LAN interface */ +sleep(5); + /* reconfigure IPsec tunnels */ vpn_ipsec_force_reload(); |