diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 645c48c88..14f47753b 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -3210,10 +3210,9 @@ function interface_dhcpv6_configure($interface = 'wan', $wancfg) $rtsoldscript .= "\techo \${2} > /tmp/{$wanif}_routerv6\n"; $rtsoldscript .= "\techo \${2} > /tmp/{$wanif}_defaultgwv6\n"; $rtsoldscript .= "fi\n"; - $rtsoldscript .= "PID=$(cat /var/run/dhcp6c_{$wanif}.pid)\n"; - $rtsoldscript .= "if [ -n \"\${PID}\" ]; then\n"; - $rtsoldscript .= "\t/bin/kill \${PID}\n"; - $rtsoldscript .= "\t/bin/pwait \${PID}\n"; + $rtsoldscript .= "if [ -f /var/run/dhcp6c_{$wanif}.pid ]; then\n"; + $rtsoldscript .= "\t/bin/pkill -F /var/run/dhcp6c_{$wanif}.pid\n"; + $rtsoldscript .= "\t/bin/sleep 1\n"; $rtsoldscript .= "fi\n"; $rtsoldscript .= "/usr/bin/logger -t rtsold \"Starting dhcp6 client for interface {$interface}({$wanif})\"\n"; $rtsoldscript .= "$dhcp6ccommand\n"; diff --git a/src/www/interfaces.php b/src/www/interfaces.php index 68c95b30b..31c7cd558 100644 --- a/src/www/interfaces.php +++ b/src/www/interfaces.php @@ -1267,7 +1267,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { if (!empty($old_config['ipaddrv6']) && $old_config['ipaddrv6'] == 'dhcp6' && $new_config['ipaddrv6'] != 'dhcp6') { // change from dhcp to something else, kill dhcp6c - killbypid("/var/run/dhcp6c_{$old_config['if']}.pid", 'TERM', true); + killbypid("/var/run/dhcp6c_{$old_config['if']}.pid"); } // save to config