Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Turns out that I didn't quite understand how altq works. When I created a queue on my external interface with only one queue I created a default for <em>all</em> connections. As a result I had to define my top speed plus create a default queue for everything else.</p> <p>For example if my system has 100Mb top</p> <pre><code>altq on $ext_if cbq bandwidth 100Mb queue { qin-www, qin-tor } queue qin-www bandwidth 98Mb priority 1 cbq ( default borrow ) queue qin-tor bandwidth 56Kb priority 7 cbq ( rio ) ... pass in on $ext_if inet proto tcp to $IP4_PUB3 port www synproxy state pass in on $ext_if inet proto tcp from &lt;torlist&gt; to $IP4_PUB3 port www synproxy state queue qin-tor </code></pre> <p>(doesn't need to be on top since pf parses all the rules unless you use 'quick') </p> <p>In this way only those IPs matching in gets throttled down to the qin-tor queue, everything else not defined defaults to the qin-www queue. </p> <p>The FAQ on OpenBSD's pf didn't seem to make this clear to me until I thought about why there would be an error for a "default", then I figured maybe it applies to the whole interface, so need to define a default for rules not marked to a specific queue. </p> <p>So there it is... the solution to my 'simple' problem. Hopefully anyone else who has this problem comes accross this. </p> <p>This is the FAQ I was going by for packet queueing: <a href="http://www.openbsd.org/faq/pf/queueing.html" rel="nofollow">http://www.openbsd.org/faq/pf/queueing.html</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload