Hi Aleksej,

        I happen to have recently been 'playing' with altq and trying to 
(successfully eventually) get to work well in the 100Mb utilization range.

        So you need to think of it like this, AltQ is replacing a current 
queueing system... that of the driver. Each driver has a simple FIFO queue. 
AltQ is just a more sophisticated queue for the driver to use when sending out 
packets (enforcement). If, in-fact, a driver happens to implement another queue 
underneath the AltQ queue (sometimes happens in sophisticated hardware) then 
this 'lower' queue will probably be a FIFO queue and may wind up destroying the 
value of AltQ.

        Now a piece of that added sophistication is classification. Site 
administrators set policy on which packets are more or less preferential to 
drop during congestion. AltQ's classification is implemented via the 
packet-filters.

        A very common use case for classification is to distinguish traffic 
based on layer3 and layer4 (IP and TCP/UDP/ICMP/SCTP...) headers. However this 
is not the only use case and classification based on layer2 headers should 
continue to be supported for those few sites that wish it.

        In conclusion, AltQ enforcement must be implemented at the lowest 
layer, and AltQ classification should maintain ability to examine low level 
headers even though it is much more common to examine layer3 /layer4 headers.


        So much for philosophy. About compiling, yes you understood quite 
correctly. I have found these web sites to have helpful AltQ info (in no 
particular order):

http://www.sonycsl.co.jp/~kjc/software/altq-new-design.txt
http://www.sonycsl.co.jp/person/kjc/software.html#ALTQ
http://www.sonycsl.co.jp/person/kjc/software/TIPS.txt
http://www.openbsd.org/faq/pf/index.html
http://openbsd.org/faq/pf/queueing.html
http://loquefaltaba.com/documentacion/pf/en/altqintro.html
http://system-tribudi.blogspot.com/2006/08/pf-hfsc-part-i.html
http://www.probsd.net/pf/index.php/Hednod%27s_HFSC_explained
http://www.icir.org/floyd/cbq.html



---
Ricky Charlet





> -----Original Message-----
> From: owner-freebsd...@freebsd.org [mailto:owner-freebsd-
> p...@freebsd.org] On Behalf Of Spenst, Aleksej
> Sent: Wednesday, December 22, 2010 4:00 AM
> To: 'freebsd-pf@freebsd.org'
> Subject: why ALTQ must be supported by interface drivers?
>
> Hi All,
>
> at what network level is ALTQ (QoS) implemented? At the IP level or at
> the driver level?
>
> I would think that all queuing functionality is probabliy working at
> the IP level and should not depend on underlying interfaces. Is that
> correct? If this is true, I don't understand why ALTQ must be supported
> by interface drivers? If I understand it correctly: (1) the driver has
> to support ALTQ. (2) the driver has to be compiled as ALTQ-aware with
> some special flags.
>
> Thanks,
> Aleksej.
>
>
>
>
> _______________________________________________
> freebsd-pf@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-pf
> To unsubscribe, send any mail to "freebsd-pf-unsubscr...@freebsd.org"
_______________________________________________
freebsd-pf@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to "freebsd-pf-unsubscr...@freebsd.org"

Reply via email to