diff options
author | Ermal Luçi <eri@pfsense.org> | 2008-11-05 20:24:32 +0000 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2008-11-05 20:24:32 +0000 |
commit | a47a5798aaaabed5777c4aa7f04d75b30b7ec87e (patch) | |
tree | 4c415694d9fe9f13c91c63d10ba7762dd41a2208 /etc/inc/interfaces.inc | |
parent | 31241000c625268eb7c84f086652b507538d74a2 (diff) | |
download | pfsense-a47a5798aaaabed5777c4aa7f04d75b30b7ec87e.zip pfsense-a47a5798aaaabed5777c4aa7f04d75b30b7ec87e.tar.gz |
Do some better checking before acting on the bridge.
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r-- | etc/inc/interfaces.inc | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 8cb4a87..601c8c5 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -203,36 +203,48 @@ function interface_bridge_configure(&$bridge) $realif = get_real_interface($bridge['span']); mwexec("/sbin/ifconfig {$bridgeif} span {$realif}"); } - $edgeifs = explode(',', $bridge['edge']); - foreach ($edgeifs as $edgeif) { - $realif = get_real_interface($edgeif); - mwexec("/sbin/ifconfig {$bridgeif} edge {$realif}"); - } - $edgeifs = explode(',', $bridge['autoedge']); - foreach ($edgeifs as $edgeif) { - $realif = get_real_interface($edgeif); - mwexec("/sbin/ifconfig {$bridgeif} -autoedge {$realif}"); - } - $ptpifs = explode(',', $bridge['ptp']); - foreach ($ptpifs as $ptpif) { - $realif = get_real_interface($ptpif); - mwexec("/sbin/ifconfig {$bridgeif} ptp {$realif}"); - } - $ptpifs = explode(',', $bridge['autoptp']); - foreach ($ptpifs as $ptpif) { - $realif = get_real_interface($ptpif); - mwexec("/sbin/ifconfig {$bridgeif} -autoptp {$realif}"); - } - $stickyifs = explode(',', $bridge['static']); - foreach ($stickyifs as $stickyif) { - $realif = get_real_interface($stickyif); - mwexec("/sbin/ifconfig {$bridgeif} sticky {$realif}"); - } - $privateifs = explode(',', $bridge['private']); - foreach ($privateifs as $privateif) { - $realif = get_real_interface($privateif); - mwexec("/sbin/ifconfig {$bridgeif} private {$realif}"); - } + if (!empty($bridge['edge'])) { + $edgeifs = explode(',', $bridge['edge']); + foreach ($edgeifs as $edgeif) { + $realif = get_real_interface($edgeif); + mwexec("/sbin/ifconfig {$bridgeif} edge {$realif}"); + } + } + if (!empty($bridge['autoedge'])) { + $edgeifs = explode(',', $bridge['autoedge']); + foreach ($edgeifs as $edgeif) { + $realif = get_real_interface($edgeif); + mwexec("/sbin/ifconfig {$bridgeif} -autoedge {$realif}"); + } + } + if (!empty($bridge['ptp'])) { + $ptpifs = explode(',', $bridge['ptp']); + foreach ($ptpifs as $ptpif) { + $realif = get_real_interface($ptpif); + mwexec("/sbin/ifconfig {$bridgeif} ptp {$realif}"); + } + } + if (!empty($bridge['autoptp'])) { + $ptpifs = explode(',', $bridge['autoptp']); + foreach ($ptpifs as $ptpif) { + $realif = get_real_interface($ptpif); + mwexec("/sbin/ifconfig {$bridgeif} -autoptp {$realif}"); + } + } + if (!empty($bridge['static'])) { + $stickyifs = explode(',', $bridge['static']); + foreach ($stickyifs as $stickyif) { + $realif = get_real_interface($stickyif); + mwexec("/sbin/ifconfig {$bridgeif} sticky {$realif}"); + } + } + if (!empty($bridge['private'])) { + $privateifs = explode(',', $bridge['private']); + foreach ($privateifs as $privateif) { + $realif = get_real_interface($privateif); + mwexec("/sbin/ifconfig {$bridgeif} private {$realif}"); + } + } mwexec("/sbin/ifconfig {$bridgeif} up"); |