From owner-svn-doc-head@FreeBSD.ORG Fri Feb 14 17:19:01 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DCE53235; Fri, 14 Feb 2014 17:19:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C5860106A; Fri, 14 Feb 2014 17:19:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1EHJ1LG043346; Fri, 14 Feb 2014 17:19:01 GMT (envelope-from dru@svn.freebsd.org) Received: (from dru@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1EHJ1mr043345; Fri, 14 Feb 2014 17:19:01 GMT (envelope-from dru@svn.freebsd.org) Message-Id: <201402141719.s1EHJ1mr043345@svn.freebsd.org> From: Dru Lavigne Date: Fri, 14 Feb 2014 17:19:01 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r43924 - head/en_US.ISO8859-1/books/handbook/firewalls X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 17:19:01 -0000 Author: dru Date: Fri Feb 14 17:19:01 2014 New Revision: 43924 URL: http://svnweb.freebsd.org/changeset/doc/43924 Log: Cleanup the ALTQ section. At some point, a FreeBSD specific example should be added. Sponsored by: iXsystems Modified: head/en_US.ISO8859-1/books/handbook/firewalls/chapter.xml Modified: head/en_US.ISO8859-1/books/handbook/firewalls/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/handbook/firewalls/chapter.xml Fri Feb 14 09:18:38 2014 (r43923) +++ head/en_US.ISO8859-1/books/handbook/firewalls/chapter.xml Fri Feb 14 17:19:01 2014 (r43924) @@ -191,7 +191,7 @@ - PF and <acronym>ALTQ</acronym> + PF @@ -347,6 +347,97 @@ device pfsync + Enabling <application>ALTQ</application> + + On &os;, ALTQ can be used with + PF to provide Quality of Service + (QOS). Once ALTQ is + enabled, queues can be defined in the ruleset which + determine the processing priority of outbound packets. + + + Before enabling ALTQ, refer to + &man.altq.4; + to determine if the drivers for the network cards installed on the system support + it. + + ALTQ is not available as a + loadable kernel module. If the system's interfaces support ALTQ, + create a custom kernel using the instructions in . + The following kernel options are available. The first is + needed to enable + ALTQ. At least one of the other options + is necessary to specify the queueing scheduler algorithm: + + options ALTQ +options ALTQ_CBQ # Class Based Queuing (CBQ) +options ALTQ_RED # Random Early Detection (RED) +options ALTQ_RIO # RED In/Out +options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) +options ALTQ_PRIQ # Priority Queuing (PRIQ) + + The following scheduler algorithms are available: + + + + CBQ + + Class Based Queuing + (CBQ) + is used to divide a connection's bandwidth into different + classes or queues to prioritize traffic based on filter + rules. + + + + + RED + + Random Early Detection + (RED) is + used to avoid network congestion by measuring the length of + the queue and comparing it to the minimum and maximum + thresholds for the queue. When the queue is over the maximum, + all new packets are randomly dropped. + + + + + RIO + + In Random Early Detection In and Out (RIO) mode, + RED maintains multiple average queue + lengths and multiple threshold values, one for each + QOS level. + + + + + HFSC + + Hierarchical Fair Service Curve Packet + Scheduler (HFSC) is described in + http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html. + + + + + PRIQ + + Priority Queuing + (PRIQ) + always passes traffic that is in a higher queue first. + + + + + More information about the scheduling + algorithms and example rulesets are available at http://www.openbsd.org/faq/pf/queueing.html. + + + Creating Filtering Rules By default, PF reads its @@ -429,66 +520,6 @@ device pfsync - - Enabling <acronym>ALTQ</acronym> - - ALTQ is only available by compiling its - support into the &os; kernel. ALTQ is not - supported by all network card drivers. Refer to &man.altq.4; - for a list of drivers that are supported by the release of - &os;. - - The following kernel options will enable - ALTQ and add additional - functionality: - - options ALTQ -options ALTQ_CBQ # Class Based Queuing (CBQ) -options ALTQ_RED # Random Early Detection (RED) -options ALTQ_RIO # RED In/Out -options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) -options ALTQ_PRIQ # Priority Queuing (PRIQ) -options ALTQ_NOPCC # Required for SMP build - - options ALTQ enables the - ALTQ framework. - - options ALTQ_CBQ enables - Class Based Queuing - (CBQ). CBQ - can be used to divide a connection's bandwidth into different - classes or queues to prioritize traffic based on filter - rules. - - options ALTQ_RED enables - Random Early Detection - (RED). RED is - used to avoid network congestion by measuring the length of - the queue and comparing it to the minimum and maximum - thresholds for the queue. If the queue is over the maximum, - all new packets will be dropped. RED drops - packets from different connections randomly. - - options ALTQ_RIO enables - Random Early Detection In and Out. - - options ALTQ_HFSC enables the - Hierarchical Fair Service Curve Packet - Scheduler HFSC. For more - information, refer to http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html. - - options ALTQ_PRIQ enables - Priority Queuing - (PRIQ). PRIQ will - always pass traffic that is in a higher queue first. - - options ALTQ_NOPCC enables - SMP support for ALTQ. - This option is required on SMP - systems. - - <application>PF</application> Rule Sets and