summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/gwlb.inc
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2017-01-17 16:33:51 -0200
committerRenato Botelho <renato@netgate.com>2017-01-17 16:33:51 -0200
commit269677a941de996da7e865ecae4f02cca8d255d2 (patch)
tree581670e08736b863a8cc0c9f5a57f7bc82928f68 /src/etc/inc/gwlb.inc
parent5280fd8d21c71c6997e1855f8b96265bd81ccb99 (diff)
downloadpfsense-269677a941de996da7e865ecae4f02cca8d255d2.zip
pfsense-269677a941de996da7e865ecae4f02cca8d255d2.tar.gz
Wait while interface is in 'tentative' state before try to bind dpinger to its address
Diffstat (limited to 'src/etc/inc/gwlb.inc')
-rw-r--r--src/etc/inc/gwlb.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/etc/inc/gwlb.inc b/src/etc/inc/gwlb.inc
index fdb0151..f3e7904 100644
--- a/src/etc/inc/gwlb.inc
+++ b/src/etc/inc/gwlb.inc
@@ -164,6 +164,12 @@ function start_dpinger($gateway) {
/* Make sure we don't end up with 2 process for the same GW */
stop_dpinger($gateway['name']);
+ /* Do not try to bind IPv6 where interface is in tentative state */
+ if (is_ipaddrv6($gateway['gwifip'])) {
+ interface_wait_tentative(get_real_interface(
+ $gateway['interface']));
+ }
+
/* Redirect stdout to /dev/null to avoid exec() to wait for dpinger */
return mwexec("/usr/local/bin/dpinger {$params} {$gateway['monitor']} >/dev/null");
}
OpenPOWER on IntegriCloud