summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/interfaces.inc16
-rwxr-xr-xusr/local/www/interfaces.php2
-rwxr-xr-xusr/local/www/interfaces_lan.php2
-rwxr-xr-xusr/local/www/interfaces_opt.php2
-rwxr-xr-xusr/local/www/interfaces_wan.php2
5 files changed, 12 insertions, 12 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 02292d3..5a6e99e 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1283,27 +1283,27 @@ function is_altq_capable($int) {
function get_number_of_bridged_interfaces() {
$bridges = trim(`/sbin/ifconfig -a | /usr/bin/grep bridge | /usr/bin/wc -l`);
- return $bridges;
+ return "{$bridges}";
}
function get_next_available_bridge_interface() {
$bridges_total = get_number_of_bridged_interfaces();
+ $interfaces = `/sbin/ifconfig -l`;
$x=0;
for($x=0; $x<$bridges_total; $x++) {
- $bridge_text = `/sbin/ifconfig bridge{$x}`;
- if(stristr($bridge_text, "does not exist") == true) {
+ if(!stristr($interfaces, "bridge{$x}")) {
$x++;
- return $x;
+ return "{$x}";
}
}
- return $x;
+ return "{$x}";
}
function destroy_bridge($bridge_num) {
mwexec("/sbin/ifconfig bridge{$bridge_num} down");
sleep(1);
mwexec("/sbin/ifconfig bridge{$bridge_num} delete");
- sleep(2);
+ sleep(1);
mwexec("/sbin/ifconfig bridge{$bridge_num} destroy");
sleep(1);
return;
@@ -1316,10 +1316,10 @@ function discover_bridge($interface1, $interface2) {
$bridge_text = `/sbin/ifconfig bridge{$x} | grep member`;
if(stristr($bridge_text, $interface1) == true and
stristr($bridge_text, $interface2) == true) {
- return $x;
+ return "{$x}";
}
}
- return false;
+ return "-1";
}
?> \ No newline at end of file
diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php
index 8be6797..3cac1da 100755
--- a/usr/local/www/interfaces.php
+++ b/usr/local/www/interfaces.php
@@ -183,7 +183,7 @@ if ($_POST) {
if (!$input_errors) {
$bridge = discover_bridge($wancfg['if'], filter_translate_type_to_real_interface($wancfg['bridge']));
- if($bridge) {
+ if($bridge <> "-1") {
destroy_bridge($bridge);
}
diff --git a/usr/local/www/interfaces_lan.php b/usr/local/www/interfaces_lan.php
index 076e7f7..bb91af1 100755
--- a/usr/local/www/interfaces_lan.php
+++ b/usr/local/www/interfaces_lan.php
@@ -107,7 +107,7 @@ if ($_POST) {
if (!$input_errors) {
$bridge = discover_bridge($lancfg['if'], filter_translate_type_to_real_interface($lancfg['bridge']));
- if($bridge) {
+ if($bridge <> "-1") {
destroy_bridge($bridge);
}
diff --git a/usr/local/www/interfaces_opt.php b/usr/local/www/interfaces_opt.php
index c836705..4b3ebc4 100755
--- a/usr/local/www/interfaces_opt.php
+++ b/usr/local/www/interfaces_opt.php
@@ -166,7 +166,7 @@ if ($_POST) {
if (!$input_errors) {
$bridge = discover_bridge($optcfg['if'], filter_translate_type_to_real_interface($optcfg['bridge']));
- if($bridge) {
+ if($bridge <> "-1") {
destroy_bridge($bridge);
}
diff --git a/usr/local/www/interfaces_wan.php b/usr/local/www/interfaces_wan.php
index 8be6797..3cac1da 100755
--- a/usr/local/www/interfaces_wan.php
+++ b/usr/local/www/interfaces_wan.php
@@ -183,7 +183,7 @@ if ($_POST) {
if (!$input_errors) {
$bridge = discover_bridge($wancfg['if'], filter_translate_type_to_real_interface($wancfg['bridge']));
- if($bridge) {
+ if($bridge <> "-1") {
destroy_bridge($bridge);
}
OpenPOWER on IntegriCloud