[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PF, ALTQ, Priq & RED
On Mon, Jan 03, 2005 at 11:32:35AM +1100, Matt Pearce wrote:
> If I am running 2 rules for udp packets to be prioritized and I want a
> specific rule for prioritizing dns udp out to take preference over the
> generic udp altq out rule, do I need this rule to be above the generic
> rule and have the quick keyword or doesnt it matter as the dns rule has
> been given a higher queue number anyways ??
order of actual filter rules wherein you assign packets to queues
in pf.conf doesn't matter.
higher altq priority is what matters.
> Secondly, if I dont apply the (red) tag to some of my queue's that I
> want the highest priority to, and I apply (red) to queue's with lower
> priorities, does this mean traffic on the lowests queue's could be
> dropped while none would be dropped on queue's where (red) is not
> specified ??
i think it means that in a situation where queued outbound packet
bandwidth consumption is nearing/reaching (in your case) 220Kb/s,
queues with red on them will have packets dropped proportional
to how close to 220 you are getting. my understanding from
reading and watching queues in action is that a queue with red
shall not ever actually _reach_ its fully saturated level in
a cbq situation, but will asymptotically (or something? math word)
fall *towards* 0 as traffic increases to the limit of the declaration.
in priq, it might be considered differently, such as if a saturation
situation exists, packets with a lower priority will be dropped
first? or maybe last?
for your question directly, if you have one queue with red and
one without, the red one will have packets dropped out near
saturation, and the not-red one will have packets queued up in
the 'queue' thing (as seen in pfctl -vvsq) as much as they
can before being dropped, afaict.
red is something i have steered away from preferring currently to
let packets fill up in queuelen rather than be dropped, but my
understanding of altq is no where near the level of those who
have implemented it in code.
[ openbsd 3.6 GENERIC ( dec 11 ) // i386 ]