diff options
author | Renato Botelho <renato@netgate.com> | 2017-01-17 16:33:51 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2017-01-17 16:33:51 -0200 |
commit | 269677a941de996da7e865ecae4f02cca8d255d2 (patch) | |
tree | 581670e08736b863a8cc0c9f5a57f7bc82928f68 /src/etc/inc/gwlb.inc | |
parent | 5280fd8d21c71c6997e1855f8b96265bd81ccb99 (diff) | |
download | pfsense-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.inc | 6 |
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"); } |