summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/filter.inc2
-rw-r--r--etc/inc/shaper.inc8
2 files changed, 7 insertions, 3 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index dfc1e59..6c9e74d 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -2159,6 +2159,8 @@ function create_firewall_outgoing_rules_to_itself() {
$defq = find_default_queue($ifname);
/* Handle all tagged packets */
foreach ($config['shaper']['queue'] as $queue) {
+ if(!filter_is_queue_being_used_on_interface($queue['name'], $ifname, 'out'))
+ continue;
if ($ackq == "" || $defq == "") {
/* Shaper must not be enabled on this interface */
$q = "";
diff --git a/etc/inc/shaper.inc b/etc/inc/shaper.inc
index 54f9599..37e85dd 100644
--- a/etc/inc/shaper.inc
+++ b/etc/inc/shaper.inc
@@ -180,13 +180,15 @@ function is_subqueue_used_on_interface($queuename, $interface) {
return 0;
}
-function filter_is_queue_being_used_on_interface($queuename, $interface) {
+function filter_is_queue_being_used_on_interface($queuename, $interface, $direction = 'in') {
global $config;
$lconfig = $config;
if(!is_array($lconfig['shaper']['rule'])) return null;
foreach($lconfig['shaper']['rule'] as $rule) {
- if(($rule['inqueue'] == $queuename && $rule['in-interface'] == $interface))
+ $q = $direction . 'queue';
+ $if = $direction . '-interface';
+ if(($rule[$q] == $queuename && $rule[$if] == $interface))
return $interface;
}
return null;
@@ -660,4 +662,4 @@ function filter_generate_pf_altq_rules() {
return $shaperrules;
}
-?> \ No newline at end of file
+?>
OpenPOWER on IntegriCloud