diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 943960fa2..f6029c857 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -780,13 +780,13 @@ function interface_gif_configure($gif) if (is_ipaddrv4($gif['remote-addr'])) { $realifip = get_interface_ip(!empty($gif['ipaddr']) ? $gif['ipaddr'] : $gif['if']); - $realifgw = $gateways->getInterfaceGateway($gif['if'], "inet"); + $realifgw = $gateways->getInterfaceGateway(explode('_vip', $gif['if'])[0], 'inet'); } elseif (is_ipaddrv6($gif['remote-addr'])) { $realifip = get_interface_ipv6(!empty($gif['ipaddr']) ? $gif['ipaddr'] : $gif['if']); - $realifgw = $gateways->getInterfaceGateway($gif['if'], "inet6"); + $realifgw = $gateways->getInterfaceGateway(explode('_vip', $gif['if'])[0], 'inet6'); } - interfaces_bring_up(get_real_interface($gif['if'])); /* XXX overreach? */ + interfaces_bring_up(get_real_interface(explode('_vip', $gif['if'])[0]); /* XXX overreach? */ /* XXX avoid destroy/create to make routes sticky */ legacy_interface_destroy($gif['gifif']); @@ -813,8 +813,7 @@ function interface_gif_configure($gif) if (is_ipaddrv4($gif['tunnel-remote-addr'])) { file_put_contents("/tmp/{$gif['gifif']}_router", "{$gif['tunnel-remote-addr']}\n"); - } - if (is_ipaddrv6($gif['tunnel-remote-addr'])) { + } elseif (is_ipaddrv6($gif['tunnel-remote-addr'])) { file_put_contents("/tmp/{$gif['gifif']}_routerv6", "{$gif['tunnel-remote-addr']}\n"); } diff --git a/src/www/interfaces_gif_edit.php b/src/www/interfaces_gif_edit.php index aab9e0d90..00e96073b 100644 --- a/src/www/interfaces_gif_edit.php +++ b/src/www/interfaces_gif_edit.php @@ -105,7 +105,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { // interface and optional bind address if (strpos($pconfig['if'], '|') !== false) { - list($gif['if'], $gif['ipaddr']) = explode("|",$pconfig['if']); + list($gif['if'], $gif['ipaddr']) = explode('|', $pconfig['if']); } else { $gif['if'] = $pconfig['if']; $gif['ipaddr'] = null;