summaryrefslogtreecommitdiffstats
path: root/usr/local/www/interfaces_lagg.php
diff options
context:
space:
mode:
authorErmal Luçi <eri@pfsense.org>2010-01-18 18:21:34 +0000
committerErmal Luçi <eri@pfsense.org>2010-01-18 18:21:34 +0000
commit67b6de9ee2367034708dac0af576788854ed6747 (patch)
tree5581b7df7742c80ce0b9b01d2f7cd886ec4b022f /usr/local/www/interfaces_lagg.php
parent6a94050a53d095ff44ab8600eb1e114e70514bbe (diff)
downloadpfsense-67b6de9ee2367034708dac0af576788854ed6747.zip
pfsense-67b6de9ee2367034708dac0af576788854ed6747.tar.gz
Do not allow deleting lagg interfaces when they have vlans on top.
Diffstat (limited to 'usr/local/www/interfaces_lagg.php')
-rw-r--r--usr/local/www/interfaces_lagg.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/usr/local/www/interfaces_lagg.php b/usr/local/www/interfaces_lagg.php
index e8a9e54..a8ffd26 100644
--- a/usr/local/www/interfaces_lagg.php
+++ b/usr/local/www/interfaces_lagg.php
@@ -47,7 +47,7 @@ if (!is_array($config['laggs']['lagg']))
$a_laggs = &$config['laggs']['lagg'] ;
function lagg_inuse($num) {
- global $config;
+ global $config, $a_laggs;
$iflist = get_configured_interface_list(false, true);
foreach ($iflist as $if) {
@@ -55,6 +55,12 @@ function lagg_inuse($num) {
return true;
}
+ if (is_array($config['vlans']['vlan']) && count($config['vlans']['vlan'])) {
+ foreach ($config['vlans']['vlan'] as $vlan) {
+ if($vlan['if'] == $a_laggs[$num]['laggif'])
+ return true;
+ }
+ }
return false;
}
@@ -63,7 +69,7 @@ if ($_GET['act'] == "del") {
if (lagg_inuse($_GET['id'])) {
$input_errors[] = "This lagg interface cannot be deleted because it is still being used.";
} else {
- mwexec("/sbin/ifconfig " . $a_laggs[$_GET['id']]['laggif'] . " destroy");
+ mwexec_bg("/sbin/ifconfig " . $a_laggs[$_GET['id']]['laggif'] . " destroy");
unset($a_laggs[$_GET['id']]);
write_config();
OpenPOWER on IntegriCloud