#!/usr/local/bin/php "") { mwexec("killall pfctl"); Header("Location: status_queues.php"); exit; } $a_queues = array(); $pfctl_vsq = `/sbin/pfctl -vsq`; $pfctl_vsq_array = split("\n", $pfctl_vsq); $if = ""; foreach($pfctl_vsq_array as $pfctl) { if (preg_match_all("/queue\s+(\w+)\s+/",$pfctl,$match_array)) if(stristr($match_array[1][0],"root_")==false) $a_queues[] = $match_array[1][0] . " on {$if}" ; else { $if = preg_replace("(root_)", "", $match_array[1][0]); foreach ($config['interfaces'] as $ifkey => $ifdesc) { if ($ifdesc['if'] == $if) { if ($ifdesc['descr'] != "") { $if = htmlspecialchars($ifdesc['descr']); } else { $if = strtoupper($ifkey); } break; } } } } $pgtitle = array("Status","Traffic shaper","Queues"); include("head.inc"); ?>
"; echo "
Queue Statistics
 
   " . htmlspecialchars($queue) . "";?>    "; echo ""; echo ""; echo " "; echo "
"; echo "                "; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; ?>
 

Note:
Queue graphs take 5 seconds to sample data.
You can configure the Traffic Shaper here.


Reset queues if they do not load. 1) { mwexec("/usr/bin/killall pfctl"); exit; } $stat_line_split = split("\|", $stats_line); $packet_sampled = intval($stat_line_split[2]); $speed = $stat_line_split[1]; $borrows = intval($stat_line_split[3]); $suspends = intval($stat_line_split[4]); $drops = intval($stat_line_split[5]); echo "\n"; $i++; } /* * prevent user from running out of ram. * firefox and ie can be a bear on ram usage! */ $counter++; if($counter > 100) { echo "Redirecting to Queue Status.

"; echo ""; mwexec("/usr/bin/killall pfctl"); mwexec("/usr/bin/killall pfctl"); exit; } } mwexec("/usr/bin/killall pfctl"); mwexec("/usr/bin/killall pfctl"); ?>