summaryrefslogtreecommitdiffstats
path: root/etc/inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-10-09 21:29:17 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-10-09 21:29:17 +0000
commit38a3e74e93f1f52850fd1a00ba7b9d7da600d0f7 (patch)
treea8d52af1eff7e1f02697b3217a3a3a1e1e31c019 /etc/inc
parente2f56f0d1d3a74eece151914553a80f504e5b1d8 (diff)
downloadpfsense-38a3e74e93f1f52850fd1a00ba7b9d7da600d0f7.zip
pfsense-38a3e74e93f1f52850fd1a00ba7b9d7da600d0f7.tar.gz
Test for active bridge better
Diffstat (limited to 'etc/inc')
-rw-r--r--etc/inc/interfaces.inc19
1 files changed, 7 insertions, 12 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index acb9546..8064150 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1282,19 +1282,14 @@ function get_number_of_bridged_interfaces() {
}
function get_next_available_bridge_interface() {
- $bridges = array();
- $bridges = split("\n", `/sbin/ifconfig -a | /usr/bin/grep bridge`);
- $last_seen_bridge_number = 0;
- foreach ($bridges as $bridge) {
- preg_match_all("/bridge([0-999])/",$bridge,$match_array)
- $bridge_number = $match_array[1][0];
- if($bridge_number - $last_seen_bridge_number > 1) {
- return $bridge_number-1;
- }
- $last_seen_bridge_number = $bridge_number;
+ $bridges_total = get_number_of_bridged_interfaces();
+ for($x=0; $x<$total_bridges; $x++) {
+ $bridge_text = `/sbin/ifconfig bridge{$x}`;
+ if(stristr($bridge_text, "does not exist") == true)
+ return "bridge{$x}";
}
- $last_seen_bridge_number++;
- return($last_seen_bridge_number);
+ $x++;
+ return "bridge{$x}";
}
function destroy_bridge($bridge_num) {
OpenPOWER on IntegriCloud