diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-10-09 21:29:17 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-10-09 21:29:17 +0000 |
commit | 38a3e74e93f1f52850fd1a00ba7b9d7da600d0f7 (patch) | |
tree | a8d52af1eff7e1f02697b3217a3a3a1e1e31c019 /etc/inc | |
parent | e2f56f0d1d3a74eece151914553a80f504e5b1d8 (diff) | |
download | pfsense-38a3e74e93f1f52850fd1a00ba7b9d7da600d0f7.zip pfsense-38a3e74e93f1f52850fd1a00ba7b9d7da600d0f7.tar.gz |
Test for active bridge better
Diffstat (limited to 'etc/inc')
-rw-r--r-- | etc/inc/interfaces.inc | 19 |
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) { |