Damian Gerow wrote:
> Thus spake Melameth, Daniel D. ([EMAIL PROTECTED]) [13/05/06
> 20:06]: 
> > It would seem altq wants a bandwidth declaration.  However, from
> > man 5 pf.conf: 
> > 
> >     If bandwidth is not specified, the interface bandwidth is used.
> 
> And OpenBSD complains bitterly when not defining the bandwidth on a
> pppoe virtual interface: 
> 
>     # pfctl -F queue -f /etc/pf.conf
>     altq cleared
>     cannot determine interface bandwidth for pppoe0, specify an
>     absolute bandwidth
>     altq not defined on pppoe0
>     /etc/pf.conf:73: errors in queue definition
>     <more specific queue errors here>
>     pfctl: Syntax error in config file: pf rules not loaded
>     #

Perhaps the man page should be updated, but this doesn't appear to be
anything major and the message is quite verbose.

> > In any event, all my priq queues appear to simply be prioritized
> > and the overall outbound bandwidth of all queues, collectively,
> > never exceeds the altq bandwidth keyword--and this works well for
> > me with the exception of the annoying PR 4312.
> 
> The way I'm reading 4312 is that priq is doing something it isn't
> supposed to do -- bandwidth throttling.  No? 
> 
> And yes, it looks like I've run into 4312 as well.  Annoying.
> 
> The answer to my previous question leads me to one followup:
> 
> My altq definition:
> 
>     altq on $ext_if priq bandwidth 700Kb queue { default, high,
>     bittorrent, vpn, pubservices } queue default priority 3
>     priq(default) queue high priority 7
>     queue bittorrent priority 0
>     queue vpn priority 4
>     queue pubservices priority 5

> As priq seems to be doing bandwidth throttling, does this not place
> an artificial bandwidth restriction of 700Kb/s on my /inbound/
> traffic as well (which is something more in the order of a raw
> 3Mbps)?  Yes, I fully recognize that by the time it gets here it's
> already traversed the pipe, but if altq only allows the OS to process
> at 700Kbps, then the pipe is effectively 700Kbps.     
> 
> (FWIW, I've done a few bandwidth tests that conradict that directly
> -- i.e. 
> I transfer close to the practical maximum of 3Mbps, not the
> artificial maximum of 700Kbps.  Hence my question.) 

"Altq" is doing the bandwidth throttling for all queues on the
interface.  Since priq cannot do bandwidth throttling on its individual
queues, it just does scheduling.  As discussed in the past, altq only
work on outbound packets so this will not, directly, throttle your
download speed unless you apply it on your internal interface (with some
caveats.)

At least that's how I understand it.

Reply via email to