diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-10-09 21:07:08 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-10-09 21:07:08 +0000 |
commit | 015bb1cc59c20cc21bc4aa5b62da967eefb2dec7 (patch) | |
tree | 4974980ca5d187c4ddcc84fbed9cc710aea6108d /etc | |
parent | a2cf28d9c51a370c0e13069e221f891be4a9af6a (diff) | |
download | pfsense-015bb1cc59c20cc21bc4aa5b62da967eefb2dec7.zip pfsense-015bb1cc59c20cc21bc4aa5b62da967eefb2dec7.tar.gz |
* Add get_number_of_bridged_interfaces()
* Add get_next_available_bridge_interface()
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/interfaces.inc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 9815a3f..e2545df 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -1279,5 +1279,27 @@ function is_altq_capable($int) { return false; } +function get_number_of_bridged_interfaces() { + $bridges = array(); + $bridges = split("\n", `/sbin/ifconfig -a | /usr/bin/grep bridge`); + return array_count_values($bridges); +} + +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; + } + $last_seen_bridge_number++; + return($last_seen_bridge_number); +} + ?>
\ No newline at end of file |