diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-10-12 23:31:38 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-10-12 23:31:38 +0000 |
commit | 0d429e435ef2d699f941b018413fe928f2a58a02 (patch) | |
tree | 1504218b6b3cc3401cfcc031eb7fb35d92cb3bc7 /etc/inc | |
parent | d5ec969c02ca7ff64c400b956b095657e94a8bc8 (diff) | |
download | pfsense-0d429e435ef2d699f941b018413fe928f2a58a02.zip pfsense-0d429e435ef2d699f941b018413fe928f2a58a02.tar.gz |
* Correctly bring up a new bridge
* Correctly destroy a bridge when no longer used
Diffstat (limited to 'etc/inc')
-rw-r--r-- | etc/inc/interfaces.inc | 16 |
1 files changed, 8 insertions, 8 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 |