diff options
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r-- | etc/inc/interfaces.inc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 9b79e4a..253e7d9 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -1199,6 +1199,9 @@ function interface_bring_down($interface = "wan", $destroy = false, $ifacecfg = $pidv6 = find_dhcp6c_process($realif); if($pidv6) posix_kill($pidv6, SIGTERM); + $pidv6 = find_rtsold_process($realif) + if($pidv6) + posix_kill($pidv6, SIGTERM); sleep(3); unlink_if_exists("{$g['varetc_path']}/dhcp6c_{$interface}.conf"); if (does_interface_exist("$realif")) { @@ -2688,6 +2691,18 @@ function find_dhclient_process($interface) { return intval($pid); } +function find_rtsold_process($interface) { + global $g; + + if ($interface) + if (isvalidpid("{$g['varrun_path']}/rtsold_{$interface}.pid")) + $pid = trim(file_get_contents("{$g['varrun_path']}/rtsold_{$interface}.pid"), " \n"); + else + return(false); + + return intval($pid); +} + function find_dhcp6c_process($interface) { global $g; |