diff options
author | Luiz Souza <luiz@netgate.com> | 2017-08-11 23:21:35 -0500 |
---|---|---|
committer | Luiz Souza <luiz@netgate.com> | 2017-08-11 23:21:35 -0500 |
commit | 363a5c4c72c898b7ec5386c1ce95a69ec523b7b4 (patch) | |
tree | 196e1d945791abaff0ccd3419d9ad063a6c28818 /src/etc | |
parent | b76e0baebb70775b192507ec18f523141800ce95 (diff) | |
download | pfsense-363a5c4c72c898b7ec5386c1ce95a69ec523b7b4.zip pfsense-363a5c4c72c898b7ec5386c1ce95a69ec523b7b4.tar.gz |
Do not run the dpinger when the IPv6 address has the tentative flag even after the timeout.
Diffstat (limited to 'src/etc')
-rw-r--r-- | src/etc/inc/gwlb.inc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/etc/inc/gwlb.inc b/src/etc/inc/gwlb.inc index 83c2592..97347ad 100644 --- a/src/etc/inc/gwlb.inc +++ b/src/etc/inc/gwlb.inc @@ -92,7 +92,7 @@ function start_dpinger($gateway) { global $g; if (!isset($gateway['gwifip'])) { - return; + return (false); } $dpinger_defaults = return_dpinger_defaults(); @@ -166,8 +166,12 @@ function start_dpinger($gateway) { /* Do not try to bind IPv6 where interface is in tentative state */ if (is_ipaddrv6($gateway['gwifip'])) { - interface_wait_tentative(get_real_interface( + $err = interface_wait_tentative(get_real_interface( $gateway['interface'])); + if ($err == false) { + log_error(gettext("Timeout waiting for IPv6 address in tentative state. dpinger will not run.")); + return (false); + } } /* Redirect stdout to /dev/null to avoid exec() to wait for dpinger */ |