summaryrefslogtreecommitdiffstats
path: root/etc/inc
diff options
context:
space:
mode:
authorBill Marquette <billm@pfsense.org>2005-06-04 19:39:20 +0000
committerBill Marquette <billm@pfsense.org>2005-06-04 19:39:20 +0000
commit79a6c437be0199fdb63e927c7486921732c74f2a (patch)
treee7a51b6eeee10cc3238e1f7fa714a773ed0941d1 /etc/inc
parent074d5eb4a747cb9837381b4b2d683f1ac2db87ac (diff)
downloadpfsense-79a6c437be0199fdb63e927c7486921732c74f2a.zip
pfsense-79a6c437be0199fdb63e927c7486921732c74f2a.tar.gz
More shaper work
Diffstat (limited to 'etc/inc')
-rw-r--r--etc/inc/filter.inc27
1 files changed, 23 insertions, 4 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 3652d9c..0401d2d 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -184,6 +184,19 @@ function filter_get_rule_interface($associatedrulenumber) {
return $config['shaper']['rule'][$associatedrulenumber]['interface'];
}
+function find_default_queue() {
+ global $config;
+ $qconfig = $config;
+
+ if (is_array($qconfig['shaper']['queue'])) {
+ foreach ($qconfig['shaper']['queue'] as $rule) {
+ if(isset($rule['defaultqueue']) and $rule['defaultqueue'] <> "")
+ return $rule['name'];
+ }
+ }
+}
+
+
function filter_generate_altq_queues($altq_ints) {
global $config;
$altq_rules = "";
@@ -1683,13 +1696,13 @@ EOD;
* and setup for all netgraph interfaces
*/
$line = generate_user_filter_rule($rule, $xxx);
- $line .= " queue {$queue['name']} ";
+ $line .= " queue ({$queue['name']}, acks) ";
if($line <> "")
$ipfrules .= $line . "\n";
}
} else {
$line = generate_user_filter_rule($rule, 0);
- $line .= " queue {$queue['name']} ";
+ $line .= " queue ({$queue['name']}, acks) ";
// label
if($rule['descr'] <> "" and $line <> "")
$line .= " label \"USER_RULE: " . $rule['descr'] . "\" ";
@@ -1716,11 +1729,17 @@ EOD;
* and setup for all netgraph interfaces
*/
$line = generate_user_filter_rule($rule, $xxx);
- if($line <> "")
+ if($line <> "") {
+ if (isset($config['shaper']['enable']) && is_array($config['shaper']['queue']))
+ $line .= " queue (" . find_default_queue() . ", acks) ";
$ipfrules .= $line . "\n";
+ }
}
} else {
$line = generate_user_filter_rule($rule, 0);
+ if($line <> "")
+ if (isset($config['shaper']['enable']) && is_array($config['shaper']['queue']))
+ $line .= " queue (" . find_default_queue() . ", acks) ";
// label
if($rule['descr'] <> "" and $line <> "")
$line .= " label \"USER_RULE: " . $rule['descr'] . "\" ";
@@ -1909,4 +1928,4 @@ function process_carp_rules() {
return $lines;
}
-?> \ No newline at end of file
+?>
OpenPOWER on IntegriCloud