summaryrefslogtreecommitdiffstats
path: root/etc/inc/interfaces.inc
diff options
context:
space:
mode:
authorErmal Luçi <eri@pfsense.org>2010-03-09 20:34:51 +0000
committerErmal Luçi <eri@pfsense.org>2010-03-09 20:34:51 +0000
commitc0f5182ce0b30aa61b02df3dbe3d45fcda0961db (patch)
tree37ee9ac0d51d86b3540ef9eda885766dd75b18fe /etc/inc/interfaces.inc
parent68ff67b360068bf308eb0305aeb1fa841f85bc01 (diff)
downloadpfsense-c0f5182ce0b30aa61b02df3dbe3d45fcda0961db.zip
pfsense-c0f5182ce0b30aa61b02df3dbe3d45fcda0961db.tar.gz
Correctly configure the default route addition when interfaces are configured for pppoe/pptp. Handle in system routing configure dynamic interfaces. Also when chaning or configuring the defaultgw reconfigure the underlying interface, this helps when this interfaces are dynamics one.
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r--etc/inc/interfaces.inc30
1 files changed, 28 insertions, 2 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index d86b20e..c31e259 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -2034,7 +2034,20 @@ EOD;
set iface name {$realif}
EOD;
- if ($interface == "wan")
+ $setdefaultgw = false;
+ $founddefaultgw = false;
+ if (is_array($config['gateways']['gateway_item'])) {
+ foreach($config['gateways']['gateway_item'] as $gateway) {
+ if($interface == $gateway['interface'] && isset($gateway['defaultgw'])) {
+ $setdefaultgw = true;
+ break;
+ } else if (isset($gateway['defaultgw'])) {
+ $founddefaultgw = true;
+ break;
+ }
+ }
+ }
+ if (($interface == "wan" && $founddefaultgw == false) || $setdefaultgw == true)
$mpdconf .= <<<EOD
set iface route default
@@ -2183,7 +2196,20 @@ EOD;
set iface name {$realif}
EOD;
- if ($interface == "wan")
+ $setdefaultgw = false;
+ $founddefaultgw = false;
+ if (is_array($config['gateways']['gateway_item'])) {
+ foreach($config['gateways']['gateway_item'] as $gateway) {
+ if($interface == $gateway['interface'] && isset($gateway['defaultgw'])) {
+ $setdefaultgw = true;
+ break;
+ } else if (isset($gateway['defaultgw'])) {
+ $founddefaultgw = true;
+ break;
+ }
+ }
+ }
+ if (($interface == "wan" && $founddefaultgw == false) || $setdefaultgw == true)
$mpdconf .= <<<EOD
set iface route default
OpenPOWER on IntegriCloud