summaryrefslogtreecommitdiffstats
path: root/etc/inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-10-09 21:07:08 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-10-09 21:07:08 +0000
commit015bb1cc59c20cc21bc4aa5b62da967eefb2dec7 (patch)
tree4974980ca5d187c4ddcc84fbed9cc710aea6108d /etc/inc
parenta2cf28d9c51a370c0e13069e221f891be4a9af6a (diff)
downloadpfsense-015bb1cc59c20cc21bc4aa5b62da967eefb2dec7.zip
pfsense-015bb1cc59c20cc21bc4aa5b62da967eefb2dec7.tar.gz
* Add get_number_of_bridged_interfaces()
* Add get_next_available_bridge_interface()
Diffstat (limited to 'etc/inc')
-rw-r--r--etc/inc/interfaces.inc22
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
OpenPOWER on IntegriCloud