summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-11-30 16:03:23 -0200
committerRenato Botelho <renato@netgate.com>2015-11-30 16:03:23 -0200
commit03a4e05db7a26fe6db20b302b44fb2712116f064 (patch)
treebb8c272cf74b78759f97ea093e55d3b8043de8a5 /src
parent9defee3f8c3018a807131e702c2b82ce0a7eda9c (diff)
parentf1f5005857280af5631d4506622f7d054c866715 (diff)
downloadpfsense-03a4e05db7a26fe6db20b302b44fb2712116f064.zip
pfsense-03a4e05db7a26fe6db20b302b44fb2712116f064.tar.gz
Merge pull request #2091 from mb300sd/patch-2
Diffstat (limited to 'src')
-rw-r--r--src/etc/inc/interfaces.inc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index bad0bbf..8767615 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -808,6 +808,7 @@ function interface_gre_configure(&$gre, $grekey = "") {
$realif = get_real_interface($gre['if']);
$realifip = get_interface_ip($gre['if']);
+ $realifip6 = get_interface_ipv6($gre['if']);
/* make sure the parent interface is up */
interfaces_bring_up($realif);
@@ -821,7 +822,11 @@ function interface_gre_configure(&$gre, $grekey = "") {
}
/* Do not change the order here for more see gre(4) NOTES section. */
- mwexec("/sbin/ifconfig {$greif} tunnel {$realifip} " . escapeshellarg($gre['remote-addr']));
+ if (is_ipaddrv6($gre['remote-addr'])) {
+ mwexec("/sbin/ifconfig {$greif} inet6 tunnel {$realifip6} " . escapeshellarg($gre['remote-addr']));
+ }else{
+ mwexec("/sbin/ifconfig {$greif} tunnel {$realifip} " . escapeshellarg($gre['remote-addr']));
+ }
if ((is_ipaddrv6($gre['tunnel-local-addr'])) || (is_ipaddrv6($gre['tunnel-remote-addr']))) {
/* XXX: The prefixlen argument for tunnels of ipv6 is useless since it needs to be 128 as enforced by kernel */
//mwexec("/sbin/ifconfig {$greif} inet6 " . escapeshellarg($gre['tunnel-local-addr']) . " " . escapeshellarg($gre['tunnel-remote-addr']) . " prefixlen /" . escapeshellarg($gre['tunnel-remote-net']));
@@ -937,7 +942,11 @@ function interface_gif_configure(&$gif, $gifkey = "") {
}
/* Do not change the order here for more see gif(4) NOTES section. */
- mwexec("/sbin/ifconfig {$gifif} tunnel {$realifip} " . escapeshellarg($gif['remote-addr']));
+ if (is_ipaddrv6($gif['remote-addr'])) {
+ mwexec("/sbin/ifconfig {$gifif} inet6 tunnel {$realifip} " . escapeshellarg($gif['remote-addr']));
+ } else {
+ mwexec("/sbin/ifconfig {$gifif} tunnel {$realifip} " . escapeshellarg($gif['remote-addr']));
+ }
if ((is_ipaddrv6($gif['tunnel-local-addr'])) || (is_ipaddrv6($gif['tunnel-remote-addr']))) {
/* XXX: The prefixlen argument for tunnels of ipv6 is useless since it needs to be 128 as enforced by kernel */
//mwexec("/sbin/ifconfig {$gifif} inet6 " . escapeshellarg($gif['tunnel-local-addr']) . " " . escapeshellarg($gif['tunnel-remote-addr']) . " prefixlen /" . escapeshellarg($gif['tunnel-remote-net']));
OpenPOWER on IntegriCloud