diff options
author | Ermal <eri@pfsense.org> | 2010-05-25 22:24:02 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2010-05-25 22:24:02 +0000 |
commit | d1eea5235e56d311312248e6ec0cb6b3311b6462 (patch) | |
tree | bbec723e7fe782f6fdfb65a5c6fa0e2c60476420 /etc | |
parent | d76f45b1a64a2dbf5b0dee7cc3eb89fc62a35e5d (diff) | |
download | pfsense-d1eea5235e56d311312248e6ec0cb6b3311b6462.zip pfsense-d1eea5235e56d311312248e6ec0cb6b3311b6462.tar.gz |
On gre/gif case when the interface is saved do a reconfigure of the underlying interface itself. This helps when an interface is enabled/disabled as reported on http://forum.pfsense.org/index.php/topic,25329.0.html.
Diffstat (limited to 'etc')
-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 ade937e..9ff2c40 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -1952,10 +1952,25 @@ function interface_configure($interface = "wan", $reloadall = false) { mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " " . escapeshellarg($wancfg['ipaddr'] . "/" . $wancfg['subnet'])); + } else if (substr($realif, 0, 3) == "gre") { + if (is_array($config['gres']['gre'])) { + foreach ($config['gres']['gre'] as $gre) + if ($gre['greif'] == $realif) + interface_gre_configure($gre); + } + } else if (substr($realif, 0, 3) == "gif") { + if (is_array($config['gifs']['gif'])) { + foreach ($config['gifs']['gif'] as $gif) + if($gif['gifif'] == $interface) + interface_gif_configure($gif); + } + } else if (substr($realif, 0, 4) == "ovpn") { + /* XXX: Should be done anything?! */ } if (is_ipaddr($wancfg['gateway'])) file_put_contents("{$g['tmp_path']}/{$realif}_router", $wancfg['gateway']); + break; } if(does_interface_exist($wancfg['if'])) |