Commit 2a0e4226 authored by Marcin Siodelski's avatar Marcin Siodelski
Browse files

[5632] Updated User's Guide saying that HA_ is builtin.

parent 12279475
......@@ -183,6 +183,15 @@
packet will belong to class "VENDOR_CLASS_docsis3.0".
</para>
<para>The &quot;HA_&quot; prefix is used by the High Availability
hooks library to designate certain servers to process DHCP packets
as a result of load balancing. The class name is constructed by
prepending the &quot;HA_&quot; prefix to the name of the server
which should process the DHCP packet. This server will use appropriate
pool or subnet to allocate IP addresses (and/or prefixes) from, based on
the client classes assigned. The details can be found in
<xref linkend="high-availability-library"/>.</para>
<para>Other examples are: the ALL class which all incoming packets
belong to, and the KNOWN class assigned when host reservations exist
for the particular client. By convention, builtin classes' names
......@@ -190,7 +199,7 @@
</para>
<para>Currently recognized builtin class names are ALL and KNOWN
and prefixes VENDOR_CLASS_, AFTER_ and EXTERNAL_. The AFTER_ prefix
and prefixes VENDOR_CLASS_, AFTER_ , EXTERNAL_ and HA_. The AFTER_ prefix
is a provision for a not yet written hook, the EXTERNAL_ prefix
can be freely used: builtin classes are implicitly defined so
never raise warnings if they do not appear in the configuration.
......
......@@ -667,16 +667,6 @@
"Dhcp4": {
"client-classes": [
{
// No test expression for this class. Incoming packets will be
// assigned to that class dynamically by the HA Hook library.
"name": "HA_server1"
},
{
// No test expression for this class. Incoming packets will be
// assigned to that class dynamically by the HA Hook library.
"name": "HA_server2"
},
{
"name": "phones",
"test": "substring(option[60].hex,0,6) == 'Aastra'",
......@@ -765,17 +755,14 @@
four pools. Two pools are dedicated to server1 and two are dedicated for
server2. Each server can assign leases to both phones and laptops.
Both groups of devices are assigned addresses from different pools.
Note that definition of classes <command>HA_server1</command> and
<command>HA_server2</command> is required because other classes
refer to them via <command>member</command> expression. These classes
do not include <command>test</command> parameter because they are
not evaluated with other classes. They are assigned dynamically
by the HA hook library as a result of load balancing algorithm.
The <command>phones_*</command> and <command>laptop_*</command>
evaluate to "true" when the query belongs to a given combination
of other classes, e.g. <command>HA_server1</command> and
<command>phones</command>. The pool will be selected accordingly
as a result of such evaluation.
The <command>HA_server1</command> and <command>HA_server2</command>
are builtin classes (see <xref linkend="classification-using-vendor"/>)
and they don't need to be declared. They are assigned dynamically by
the HA hook library as a result of load balancing algorithm. The
<command>phones_*</command> and <command>laptop_*</command> evaluate to
"true" when the query belongs to a given combination of other classes,
e.g. <command>HA_server1</command> and <command>phones</command>.
The pool will be selected accordingly as a result of such evaluation.
</para>
<para>Consult <xref linkend="classify"/> for details on how to use
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment