Use ipfw to create the pipes/queues for pf dummynet rules, until we can catch up with dummynet v3.

This commit is contained in:
Ermal 2010-04-02 01:23:16 +00:00
parent 703539b6ae
commit d41e63b6ee
2 changed files with 11 additions and 6 deletions

View File

@ -249,7 +249,8 @@ function filter_configure_sync() {
update_filter_reload_status("Setting up SCRUB information");
$rules .= filter_generate_scrubing();
$rules .= "\n";
$rules .= "{$dummynet_rules}\n";
/* NOTE: Disabled until we catch up with dummynet changes. */
//$rules .= "{$dummynet_rules}\n";
$rules .= "{$altq_queues}\n";
$rules .= "{$natrules}\n";
$rules .= "{$pfrules}\n";

View File

@ -2865,9 +2865,9 @@ class dnpipe_class extends dummynet_class {
if ($this->GetEnabled() == "")
return;
$pfq_rule = "\ndnpipe ". $this->GetNumber();
$pfq_rule = "\npipe ". $this->GetNumber();
if ($this->GetBandwidth() && $this->GetBwscale())
$pfq_rule .= " bandwidth ".trim($this->GetBandwidth()).$this->GetBwscale();
$pfq_rule .= " bw ".trim($this->GetBandwidth()).$this->GetBwscale();
if ($this->GetQlimit())
$pfq_rule .= " queue " . $this->GetQlimit();
if ($this->GetPlr())
@ -3114,7 +3114,7 @@ class dnqueue_class extends dummynet_class {
return;
$parent =& $this->GetParent();
$pfq_rule = "dnqueue ". $this->GetNumber() . " dnpipe " . $parent->GetNumber();
$pfq_rule = "queue ". $this->GetNumber() . " dnpipe " . $parent->GetNumber();
if ($this->GetQlimit())
$pfq_rule .= " queue " . $this->GetQimit();
if ($this->GetWeight())
@ -3886,7 +3886,7 @@ function filter_generate_altq_queues() {
}
function filter_generate_dummynet_rules() {
global $dummynet_pipe_list;
global $g, $dummynet_pipe_list;
read_dummynet_config();
@ -3901,7 +3901,11 @@ function filter_generate_dummynet_rules() {
foreach ($dummynet_pipe_list as $dn)
$dn_rules .= $dn->build_rules();
return $dn_rules;
if (!empty($dnrules)) {
file_put_contents("{$g['tmp_path']}/rules.limiter", $dn_rules);
mwexec("/sbin/ipfw {$g['tmp_path']}/rules.limiter");
}
//return $dn_rules;
}
function build_iface_without_this_queue($iface, $qname) {