Browse Source

[2657] More editing of the DHCP sections of the BIND 10 Guide

Stephen Morris 12 years ago
parent
commit
3c200a3dec
1 changed files with 59 additions and 45 deletions
  1. 59 45
      doc/guide/bind10-guide.xml

+ 59 - 45
doc/guide/bind10-guide.xml

@@ -3609,7 +3609,6 @@ Dhcp4/subnet4	[]	list	(default)
         network configurations. If you want to avoid this, please use the "min-max" notation.
         network configurations. If you want to avoid this, please use the "min-max" notation.
       </para>
       </para>
       </section>
       </section>
-    </section>
 
 
     <section id="dhcp4-std-options">
     <section id="dhcp4-std-options">
       <title>Standard DHCPv4 options</title>
       <title>Standard DHCPv4 options</title>
@@ -3652,7 +3651,7 @@ Dhcp4/subnet4	[]	list	(default)
     </para>
     </para>
 
 
     <para>
     <para>
-      Options can also be configured as hex values. If csv-format is
+      Options can also be configured as hexadecimal values. If csv-format is
       set to false, option data must be specified as a hex string. The
       set to false, option data must be specified as a hex string. The
       following commands configure the domain-name-servers option for all
       following commands configure the domain-name-servers option for all
       subnets with the following addresses: 192.0.3.1 and 192.0.3.2.
       subnets with the following addresses: 192.0.3.1 and 192.0.3.2.
@@ -3898,13 +3897,15 @@ Dhcp4/subnet4	[]	list	(default)
 
 
     <section id="dhcp4-vendor-opts">
     <section id="dhcp4-vendor-opts">
       <title>DHCPv4 vendor specific options</title>
       <title>DHCPv4 vendor specific options</title>
-      <para>Currently there are three option spaces defined: dhcp4 (to
+      <para>
-      be used in DHCPv4 daemon), dhcp6, and vendor-opts-space.  The last-mentioned
+      Currently there are three option spaces defined: dhcp4 (to
-      is empty by default but options can be defined in it: those options
+      be used in DHCPv4 daemon) and dhcp6 (for the DHCPv6 daemon); there
-      are called vendor-specific information options. The following examples
+      is also vendor-opts-space, which is empty by default, but options
-      show how to define an option "foo" with code 1 that consists of IPv4 address,
+      can be defined in it. Those options are called vendor-specific
-      unsigned 16 bit integer and a string. The "foo" option is conveyed in a
+      information options. The following examples show how to define
-      vendor specific information option.
+      an option "foo" with code 1 that consists of an IPv4 address, an
+      unsigned 16 bit integer and a string. The "foo" option is conveyed
+      in a vendor specific information option.
       </para>
       </para>
       <para>
       <para>
       The first step is to define the format of the option:
       The first step is to define the format of the option:
@@ -3931,6 +3932,7 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-data[0]/data "192.0.2.3, 123, Hello World"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/data "192.0.2.3, 123, Hello World"</userinput>
 &gt; <userinput>config commit</userinput></screen>
 &gt; <userinput>config commit</userinput></screen>
     We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo".
     We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo".
+    This is required else the option will not be included in messages sent to the client.
      <screen>
      <screen>
 &gt; <userinput>config add Dhcp4/option-data</userinput>
 &gt; <userinput>config add Dhcp4/option-data</userinput>
 &gt; <userinput>config set Dhcp4/option-data[1]/name "vendor-encapsulated-options"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[1]/name "vendor-encapsulated-options"</userinput>
@@ -3954,6 +3956,7 @@ Dhcp4/subnet4	[]	list	(default)
     </section>
     </section>
 
 
     <section id="dhcp4-option-spaces">
     <section id="dhcp4-option-spaces">
+
       <title>Nested DHCPv4 options (custom option spaces)</title>
       <title>Nested DHCPv4 options (custom option spaces)</title>
       <para>It is sometimes useful to define completely new option
       <para>It is sometimes useful to define completely new option
       spaces.  This is useful if the user wants his new option to
       spaces.  This is useful if the user wants his new option to
@@ -4039,7 +4042,7 @@ Dhcp4/subnet4	[]	list	(default)
       client.
       client.
       </para>
       </para>
     </section>
     </section>
-
+        </section>
     <section id="dhcp4-serverid">
     <section id="dhcp4-serverid">
       <title>Server Identifier in DHCPv4</title>
       <title>Server Identifier in DHCPv4</title>
       <para>
       <para>
@@ -4136,7 +4139,9 @@ Dhcp4/renew-timer	1000	integer	(default)
             <simpara>Address rebinding (REBIND) and duplication report (DECLINE)
             <simpara>Address rebinding (REBIND) and duplication report (DECLINE)
             are not supported yet.</simpara>
             are not supported yet.</simpara>
           </listitem>
           </listitem>
-
+          <listitem>
+          <simpara>DNS Update is not yet supported.</simpara>
+          </listitem>
       </itemizedlist>
       </itemizedlist>
     </section>
     </section>
 
 
@@ -4170,17 +4175,7 @@ Dhcp4/renew-timer	1000	integer	(default)
 &gt; <userinput>config commit</userinput>
 &gt; <userinput>config commit</userinput>
 </screen>
 </screen>
       </para>
       </para>
-      <para>
+
-        To change one of the parameters, simply follow
-        the usual <command>bindctl</command> procedure. For example, to make the
-        leases longer, change their valid-lifetime parameter:
-        <screen>
-&gt; <userinput>config set Dhcp6/valid-lifetime 7200</userinput>
-&gt; <userinput>config commit</userinput></screen>
-        Please note that most Dhcp6 parameters are of global scope
-        and apply to all defined subnets, unless they are overridden on a
-        per-subnet basis.
-      </para>
 
 
       <para>
       <para>
         During start-up the server will detect available network interfaces
         During start-up the server will detect available network interfaces
@@ -4499,8 +4494,8 @@ Dhcp6/subnet6/	list
 <tr><td>sip-server-addr</td><td>22</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>sip-server-addr</td><td>22</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>dns-servers</td><td>23</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>dns-servers</td><td>23</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>domain-search</td><td>24</td><td>fqdn</td><td>true</td></tr>
 <tr><td>domain-search</td><td>24</td><td>fqdn</td><td>true</td></tr>
-<tr><td>ia-pd</td><td>25</td><td>record</td><td>false</td></tr>
+<!-- <tr><td>ia-pd</td><td>25</td><td>record</td><td>false</td></tr> -->
-<tr><td>iaprefix</td><td>26</td><td>record</td><td>false</td></tr>
+<!-- <tr><td>iaprefix</td><td>26</td><td>record</td><td>false</td></tr> -->
 <tr><td>nis-servers</td><td>27</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>nis-servers</td><td>27</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>nisp-servers</td><td>28</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>nisp-servers</td><td>28</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>nis-domain-name</td><td>29</td><td>fqdn</td><td>true</td></tr>
 <tr><td>nis-domain-name</td><td>29</td><td>fqdn</td><td>true</td></tr>
@@ -4579,7 +4574,12 @@ Dhcp6/subnet6/	list
 &gt; <userinput>config set Dhcp6/option-def[0]/record-types "ipv6-address, uint16, string"</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/record-types "ipv6-address, uint16, string"</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/encapsulate ""</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/encapsulate ""</userinput>
 </screen>
 </screen>
-     Its values can be later defined as follows:
+      The "type" is set to "record" to indicate that the option contains
+      multiple values of different types.  These types are given as a comma-separated
+      list in the "record-types" field and should be those listed in <xref linkend="dhcp-types"/>.
+      </para>
+      <para>
+      The values of the option are set as follows:
 <screen>
 <screen>
 &gt; <userinput>config add Dhcp6/option-data</userinput>
 &gt; <userinput>config add Dhcp6/option-data</userinput>
 &gt; <userinput>config set Dhcp6/option-data[0]/name "bar"</userinput>
 &gt; <userinput>config set Dhcp6/option-data[0]/name "bar"</userinput>
@@ -4589,19 +4589,24 @@ Dhcp6/subnet6/	list
 &gt; <userinput>config set Dhcp6/option-data[0]/data "2001:db8:1::10, 123, Hello World"</userinput>
 &gt; <userinput>config set Dhcp6/option-data[0]/data "2001:db8:1::10, 123, Hello World"</userinput>
 &gt; <userinput>config commit</userinput></screen>
 &gt; <userinput>config commit</userinput></screen>
       </para>
       </para>
+      "csv-format" is set "true" to indicate that the "data" field comprises a command-separated
+      list of values.  The values in the "data" must correspond to the types set in
+      the "record-types" field of the option definition.
     </section>
     </section>
 
 
     <section id="dhcp6-vendor-opts">
     <section id="dhcp6-vendor-opts">
       <title>DHCPv6 vendor specific options</title>
       <title>DHCPv6 vendor specific options</title>
-      <para>Currently there are three option spaces defined: dhcp4 (to
+      <para>
-      be used in DHCPv4 daemon) and dhcp6; there is also vendor-opts-space,
+      Currently there are three option spaces defined: dhcp4 (to be used
-      which is empty by default, but options can be defined in it. Those options
+      in DHCPv4 daemon) and dhcp6 (for the DHCPv6 daemon); there is also
-      are called vendor-specific information options. The following examples
+      vendor-opts-space, which is empty by default, but options can be
-      show how to define an option "foo" with code 1 that consists of IPv6 address,
+      defined in it. Those options are called vendor-specific information
-      unsigned 16 bit integer and a string. The "foo" option is conveyed in a
+      options. The following examples show how to define an option "foo"
-      vendor specific information option. This option comprises a single
+      with code 1 that consists of an IPv6 address, an unsigned 16 bit integer
-      uint32 value that is set to "12345". The sub-option "foo" follows
+      and a string. The "foo" option is conveyed in a vendor specific
-      the data field holding this value.
+      information option. This option comprises a single uint32 value
+      that is set to "12345". The sub-option "foo" follows the data
+      field holding this value.
       <screen>
       <screen>
 &gt; <userinput>config add Dhcp6/option-def</userinput>
 &gt; <userinput>config add Dhcp6/option-def</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/name "foo"</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/name "foo"</userinput>
@@ -4641,10 +4646,12 @@ Dhcp6/subnet6/	list
       convey sub-options that use separate numbering scheme, for
       convey sub-options that use separate numbering scheme, for
       example sub-options with codes 1 and 2. Those option codes
       example sub-options with codes 1 and 2. Those option codes
       conflict with standard DHCPv6 options, so a separate option
       conflict with standard DHCPv6 options, so a separate option
-      space must be defined. Let's assume that we want to have a
+      space must be defined.
-      DHCPv6 option with code 102 that conveys two sub-options with
+      </para>
-      codes 1 and 2. This could be achieved with the following examples.
+      <para>
-      First we need to define those new sub-options:
+      Assume that we want to have a DHCPv6 option called "container"
+      with code 102 that conveys two sub-options with codes 1 and 2. 
+      First we need to define the new sub-options:
 <screen>
 <screen>
 &gt; <userinput>config add Dhcp6/option-def</userinput>
 &gt; <userinput>config add Dhcp6/option-def</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/name "subopt1"</userinput>
 &gt; <userinput>config set Dhcp6/option-def[0]/name "subopt1"</userinput>
@@ -4666,6 +4673,10 @@ Dhcp6/subnet6/	list
 &gt; <userinput>config set Dhcp6/option-def[1]/encapsulate ""</userinput>
 &gt; <userinput>config set Dhcp6/option-def[1]/encapsulate ""</userinput>
 &gt; <userinput>config commit</userinput>
 &gt; <userinput>config commit</userinput>
 </screen>
 </screen>
+    Note that we have defined the options to belong to a new option space
+    (in this case, "isc").
+    </para>
+    <para>
 The next step is to define a regular DHCPv6 option and specify that it
 The next step is to define a regular DHCPv6 option and specify that it
 should include options from isc option space:
 should include options from isc option space:
 <screen>
 <screen>
@@ -4679,8 +4690,11 @@ should include options from isc option space:
 &gt; <userinput>config set Dhcp6/option-def[2]/encapsulate "isc"</userinput>
 &gt; <userinput>config set Dhcp6/option-def[2]/encapsulate "isc"</userinput>
 &gt; <userinput>config commit</userinput>
 &gt; <userinput>config commit</userinput>
 </screen>
 </screen>
-
+    The name of the option space in which the sub-options are defined
-Finally, we should specify values for those new options:
+    is set in the "encapsulates" field.
+    </para>
+    <para>
+    Finally, we can set values for the new options:
 <screen>
 <screen>
 &gt; <userinput>config add Dhcp6/option-data</userinput>
 &gt; <userinput>config add Dhcp6/option-data</userinput>
 &gt; <userinput>config set Dhcp6/option-data[0]/name "subopt1"</userinput>
 &gt; <userinput>config set Dhcp6/option-data[0]/name "subopt1"</userinput>
@@ -4714,9 +4728,9 @@ Finally, we should specify values for those new options:
       <section id="dhcp6-config-subnets">
       <section id="dhcp6-config-subnets">
         <title>Subnet Selection</title>
         <title>Subnet Selection</title>
           <para>
           <para>
-          The DHCPv6 server may receive requests from local (connected to the same
+          The DHCPv6 server may receive requests from local (connected
-          subnet as the server) and remote (connecting via relays)
+          to the same subnet as the server) and remote (connecting via
-          clients.
+          relays) clients.
           <note>
           <note>
           <para>
           <para>
           Currently relayed DHCPv6 traffic is not supported.  The server will
           Currently relayed DHCPv6 traffic is not supported.  The server will
@@ -4754,7 +4768,7 @@ Finally, we should specify values for those new options:
       <para>The DHCPv6 protocol uses a "server identifier" (also known
       <para>The DHCPv6 protocol uses a "server identifier" (also known
       as a DUID) for clients to be able to discriminate between several
       as a DUID) for clients to be able to discriminate between several
       servers present on the same link.  There are several types of
       servers present on the same link.  There are several types of
-      DUIDs defined, but RFC 3315 instructs servers to use DUID-LLT if
+      DUIDs defined, but <ulink url="http://tools.ietf.org/html/rfc3315">RFC 3315</ulink> instructs servers to use DUID-LLT if
       possible. This format consists of a link-layer (MAC) address and a
       possible. This format consists of a link-layer (MAC) address and a
       timestamp. When started for the first time, the DHCPv6 server will
       timestamp. When started for the first time, the DHCPv6 server will
       automatically generate such a DUID and store the chosen value to
       automatically generate such a DUID and store the chosen value to
@@ -4777,7 +4791,7 @@ Finally, we should specify values for those new options:
     </section>
     </section>
 
 
     <section id="dhcp6-std">
     <section id="dhcp6-std">
-      <title>Supported DHCPv6 Standards</title>
+      <title>Supported Standards</title>
       <para>The following standards and draft standards are currently
       <para>The following standards and draft standards are currently
       supported:</para>
       supported:</para>
       <itemizedlist>
       <itemizedlist>