]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5632] Updated User's Guide saying that HA_ is builtin.
authorMarcin Siodelski <marcin@isc.org>
Fri, 25 May 2018 07:47:18 +0000 (09:47 +0200)
committerMarcin Siodelski <marcin@isc.org>
Fri, 25 May 2018 07:47:18 +0000 (09:47 +0200)
doc/guide/classify.xml
doc/guide/hooks-ha.xml

index 23efe97e0315911f419c13ccf5c16f86c98f68fe..178aa88c54175ae41cb2b08de5d2310c7b9336ba 100644 (file)
       packet will belong to class &quot;VENDOR_CLASS_docsis3.0&quot;.
       </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
       </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.
index 702483c6281744a5081104c0f4c07b2f718c6234..d7f6adf538169bcb3bfa6e087a762bc056742016 100644 (file)
 "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'",
         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