Date: Fri, 14 Feb 2014 17:19:01 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> 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 Message-ID: <201402141719.s1EHJ1mr043345@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 @@ <sect1 xml:id="firewalls-pf"> <info> - <title>PF and <acronym>ALTQ</acronym></title> + <title>PF</title> <authorgroup> <author> @@ -347,6 +347,97 @@ device pfsync</programlisting> </sect2> <sect2> + <title>Enabling <application>ALTQ</application></title> + + <para>On &os;, <application>ALTQ</application> can be used with + <application>PF</application> to provide Quality of Service + (<acronym>QOS</acronym>). Once <application>ALTQ</application> is + enabled, queues can be defined in the ruleset which + determine the processing priority of outbound packets. + </para> + + <para>Before enabling <application>ALTQ</application>, refer to + &man.altq.4; + to determine if the drivers for the network cards installed on the system support + it.</para> + + <para><application>ALTQ</application> is not available as a + loadable kernel module. If the system's interfaces support <application>ALTQ</application>, + create a custom kernel using the instructions in <xref linkend="kernelconfig"/>. + The following kernel options are available. The first is + needed to enable + <application>ALTQ</application>. At least one of the other options + is necessary to specify the queueing scheduler algorithm:</para> + + <programlisting>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)</programlisting> + + <para>The following scheduler algorithms are available:</para> + + <variablelist> + <varlistentry> + <term>CBQ</term> + <listitem> + <para>Class Based Queuing + (<acronym>CBQ</acronym>) + is used to divide a connection's bandwidth into different + classes or queues to prioritize traffic based on filter + rules.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RED</term> + <listitem> + <para>Random Early Detection + (<acronym>RED</acronym>) 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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RIO</term> + <listitem> + <para>In Random Early Detection In and Out (<acronym>RIO</acronym>) mode, + <acronym>RED</acronym> maintains multiple average queue + lengths and multiple threshold values, one for each + <acronym>QOS</acronym> level.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>HFSC</term> + <listitem> + <para>Hierarchical Fair Service Curve Packet + Scheduler (<acronym>HFSC</acronym>) is described in + <uri + xlink:href="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html">http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html</uri>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>PRIQ</term> + <listitem> + <para>Priority Queuing + (<acronym>PRIQ</acronym>) + always passes traffic that is in a higher queue first.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>More information about the scheduling + algorithms and example rulesets are available at <uri + xlink:href="http://www.openbsd.org/faq/pf/queueing.html">http://www.openbsd.org/faq/pf/queueing.html</uri>.</para> + </sect2> + + <sect2> <title>Creating Filtering Rules</title> <para>By default, <application>PF</application> reads its @@ -429,66 +520,6 @@ device pfsync</programlisting> </informaltable> </sect2> - <sect2> - <title>Enabling <acronym>ALTQ</acronym></title> - - <para><acronym>ALTQ</acronym> is only available by compiling its - support into the &os; kernel. <acronym>ALTQ</acronym> 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;.</para> - - <para>The following kernel options will enable - <acronym>ALTQ</acronym> and add additional - functionality:</para> - - <programlisting>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</programlisting> - - <para><literal>options ALTQ</literal> enables the - <acronym>ALTQ</acronym> framework.</para> - - <para><literal>options ALTQ_CBQ</literal> enables - <emphasis>Class Based Queuing</emphasis> - (<acronym>CBQ</acronym>). <acronym>CBQ</acronym> - can be used to divide a connection's bandwidth into different - classes or queues to prioritize traffic based on filter - rules.</para> - - <para><literal>options ALTQ_RED</literal> enables - <emphasis>Random Early Detection</emphasis> - (<acronym>RED</acronym>). <acronym>RED</acronym> 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. <acronym>RED</acronym> drops - packets from different connections randomly.</para> - - <para><literal>options ALTQ_RIO</literal> enables - <emphasis>Random Early Detection In and Out</emphasis>.</para> - - <para><literal>options ALTQ_HFSC</literal> enables the - <emphasis>Hierarchical Fair Service Curve Packet - Scheduler</emphasis> <acronym>HFSC</acronym>. For more - information, refer to <uri - xlink:href="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html">http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html</uri>.</para> - - <para><literal>options ALTQ_PRIQ</literal> enables - <emphasis>Priority Queuing</emphasis> - (<acronym>PRIQ</acronym>). <acronym>PRIQ</acronym> will - always pass traffic that is in a higher queue first.</para> - - <para><literal>options ALTQ_NOPCC</literal> enables - <acronym>SMP</acronym> support for <acronym>ALTQ</acronym>. - This option is required on <acronym>SMP</acronym> - systems.</para> - </sect2> - <sect2 xml:id="pf-tutorial"> <info> <title><application>PF</application> Rule Sets and
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402141719.s1EHJ1mr043345>