summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Marquette <billm@pfsense.org>2005-06-06 04:45:56 +0000
committerBill Marquette <billm@pfsense.org>2005-06-06 04:45:56 +0000
commite4ec999c4c5db59603387a69829e234192aa416f (patch)
treec229772b69c4907239d056fe4d7c746ea23ae1ff
parentff0e0e1a3d5d70bdbb1dc16cd1f3e335dbdffef7 (diff)
downloadpfsense-e4ec999c4c5db59603387a69829e234192aa416f.zip
pfsense-e4ec999c4c5db59603387a69829e234192aa416f.tar.gz
Outbound shaper tags for ticket #125
-rw-r--r--etc/inc/filter.inc19
1 files changed, 14 insertions, 5 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 72a48e8..a906dac 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -574,8 +574,9 @@ function filter_generate_pf_altq_rules() {
}
for ($iif = 0; $iif < $nif; $iif++) {
+ foreach ( array('in', 'out') as $direction) {
- $line = "pass in on ";
+ $line = "pass {$direction} on ";
if ($ispptp) {
$line .= " ng" . ($iif+1);
@@ -583,9 +584,15 @@ function filter_generate_pf_altq_rules() {
$if = $config['interfaces'][$rule['interface']]['if'];
if ($rule['interface'] == "wan")
- $if = $wanif;
+ if($direction=="in")
+ $if = $wanif;
+ else
+ $if = $lanif;
else if($rule['interface'] == "lan")
- $if = $lanif;
+ if($direction=="in")
+ $if = $lanif;
+ else
+ $if = $wanif;
$line .= " {$if} ";
}
@@ -595,7 +602,7 @@ function filter_generate_pf_altq_rules() {
}
/* source address */
- if (isset($rule['source']['any'])) {
+ if (isset($rule['source']['any']) || $direction == "out") {
$src = "any";
} else if ($rule['source']['network']) {
if (strstr($rule['source']['network'], "opt")) {
@@ -721,10 +728,12 @@ function filter_generate_pf_altq_rules() {
$line .= "out xmit ";
*/
- $line .= " keep state tag {$rule['inqueue']} ";
+ $qtag = "{$direction}queue";
+ $line .= " keep state tag {$rule[$qtag]} ";
$line .= "\n";
$shaperrules .= $line;
+ }
}
$i++;
OpenPOWER on IntegriCloud