diff options
author | Ermal Luçi <eri@pfsense.org> | 2010-03-09 20:34:51 +0000 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2010-03-09 20:34:51 +0000 |
commit | c0f5182ce0b30aa61b02df3dbe3d45fcda0961db (patch) | |
tree | 37ee9ac0d51d86b3540ef9eda885766dd75b18fe /etc/inc/interfaces.inc | |
parent | 68ff67b360068bf308eb0305aeb1fa841f85bc01 (diff) | |
download | pfsense-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.inc | 30 |
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 |