From owner-freebsd-pf@FreeBSD.ORG Wed Dec 22 19:29:22 2010 Return-Path: Delivered-To: freebsd-pf@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EDFF106566B for ; Wed, 22 Dec 2010 19:29:22 +0000 (UTC) (envelope-from RCharlet@adaranet.com) Received: from barracuda.adaranet.com (smtp.adaranet.com [72.5.229.2]) by mx1.freebsd.org (Postfix) with ESMTP id E33E48FC19 for ; Wed, 22 Dec 2010 19:29:21 +0000 (UTC) X-ASG-Debug-ID: 1293036896-48919a7e0001-7tp3by Received: from SJ-EXCH-1.adaranet.com ([10.10.1.29]) by barracuda.adaranet.com with ESMTP id b6wOybmYzxOlZujC; Wed, 22 Dec 2010 08:54:56 -0800 (PST) X-Barracuda-Envelope-From: RCharlet@adaranet.com Received: from SJ-EXCH-1.adaranet.com ([fe80::7042:d8c2:5973:c523]) by SJ-EXCH-1.adaranet.com ([fe80::7042:d8c2:5973:c523%14]) with mapi; Wed, 22 Dec 2010 08:54:56 -0800 From: "Ricky Charlet" X-Barracuda-BBL-IP: fe80::7042:d8c2:5973:c523 X-Barracuda-RBL-IP: fe80::7042:d8c2:5973:c523 To: "'Spenst, Aleksej'" , "'freebsd-pf@freebsd.org'" Date: Wed, 22 Dec 2010 08:54:55 -0800 X-ASG-Orig-Subj: RE: why ALTQ must be supported by interface drivers? Thread-Topic: why ALTQ must be supported by interface drivers? Thread-Index: Acuhz70V44smhZJVTimJ0E+cLgBkGAAJwq/A Message-ID: <32AB5C9615CC494997D9ABB1DB12783C024C6FC1BC@SJ-EXCH-1.adaranet.com> References: <20290C577F743240B5256C89EFA753810CAC5EC003@HIKAWSEX01.ad.harman.com> In-Reply-To: <20290C577F743240B5256C89EFA753810CAC5EC003@HIKAWSEX01.ad.harman.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: UNKNOWN[10.10.1.29] X-Barracuda-Start-Time: 1293036896 X-Barracuda-URL: http://172.16.10.203:8000/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at adaranet.com Cc: Subject: RE: why ALTQ must be supported by interface drivers? X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Dec 2010 19:29:22 -0000 Hi Aleksej, I happen to have recently been 'playing' with altq and trying to (s= uccessfully eventually) get to work well in the 100Mb utilization range. So you need to think of it like this, AltQ is replacing a current q= ueueing 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 anoth= er queue underneath the AltQ queue (sometimes happens in sophisticated hard= ware) 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 ad= ministrators set policy on which packets are more or less preferential to d= rop 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 sh= ould continue to be supported for those few sites that wish it. In conclusion, AltQ enforcement must be implemented at the lowest l= ayer, and AltQ classification should maintain ability to examine low level = headers even though it is much more common to examine layer3 /layer4 header= s. So much for philosophy. About compiling, yes you understood quite c= orrectly. I have found these web sites to have helpful AltQ info (in no par= ticular 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-pf@freebsd.org [mailto:owner-freebsd- > pf@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-unsubscribe@freebsd.org"