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: [email protected] [mailto:owner-freebsd-
> [email protected]] On Behalf Of Spenst, Aleksej
> Sent: Wednesday, December 22, 2010 4:00 AM
> To: '[email protected]'
> 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.
>
>
>
>
> _______________________________________________
> [email protected] mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-pf
> To unsubscribe, send any mail to "[email protected]"
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to "[email protected]"