diff options
author | Bill Marquette <billm@pfsense.org> | 2005-06-04 19:39:20 +0000 |
---|---|---|
committer | Bill Marquette <billm@pfsense.org> | 2005-06-04 19:39:20 +0000 |
commit | 79a6c437be0199fdb63e927c7486921732c74f2a (patch) | |
tree | e7a51b6eeee10cc3238e1f7fa714a773ed0941d1 /etc/inc | |
parent | 074d5eb4a747cb9837381b4b2d683f1ac2db87ac (diff) | |
download | pfsense-79a6c437be0199fdb63e927c7486921732c74f2a.zip pfsense-79a6c437be0199fdb63e927c7486921732c74f2a.tar.gz |
More shaper work
Diffstat (limited to 'etc/inc')
-rw-r--r-- | etc/inc/filter.inc | 27 |
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 +?> |