Browse Source

[2657] Edits to the DHCP section of the guide as part of the review

Stephen Morris 12 years ago
parent
commit
521189be3a
1 changed files with 147 additions and 102 deletions
  1. 147 102
      doc/guide/bind10-guide.xml

+ 147 - 102
doc/guide/bind10-guide.xml

@@ -3643,7 +3643,7 @@ Dhcp4/subnet4	[]	list	(default)
       values from that list. Line 4 specifies option space, which must always
       values from that list. Line 4 specifies option space, which must always
       be set to "dhcp4" as these are standard DHCPv4 options. For
       be set to "dhcp4" as these are standard DHCPv4 options. For
       other option spaces, including custom option spaces, see <xref
       other option spaces, including custom option spaces, see <xref
-      linkend="dhcp4-option-spaces"/>. The fifth line specfies the format in
+      linkend="dhcp4-option-spaces"/>. The fifth line specifies the format in
       which the data will be entered: use of CSV (comma
       which the data will be entered: use of CSV (comma
       separated values) is recommended. The sixth line gives the actual value to
       separated values) is recommended. The sixth line gives the actual value to
       be sent to clients. Data is specified as a normal text, with
       be sent to clients. Data is specified as a normal text, with
@@ -3663,13 +3663,9 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-data[0]/code 6</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/code 6</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/space "dhcp4"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/space "dhcp4"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/csv-format false</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/csv-format false</userinput>
-&gt; <userinput>config set Dhcp4/option-data[0]/data "C0 00 03 01</userinput>
+&gt; <userinput>config set Dhcp4/option-data[0]/data "C0 00 03 01 C0 00 03 02"</userinput>
-         <userinput> C0 00 03 02"</userinput>
 &gt; <userinput>config commit</userinput>
 &gt; <userinput>config commit</userinput>
         </screen>
         </screen>
-       (The value for the setting of the "data" element is split across two
-        lines in this document for clarity: when entering the command, the
-        string should be entered on the same line.)
       </para>
       </para>
 
 
       <para>
       <para>
@@ -3697,30 +3693,35 @@ Dhcp4/subnet4	[]	list	(default)
       </para>
       </para>
 
 
       <note>
       <note>
-        <para>In upcoming Kea versions, it will not be required anymore to specify
+        <para>In a future version of Kea, it will not be necessary to specify
-        option code, space and csv-format fields as those fields will be filled
+        the option code, space and csv-format fields as they will be set
         automatically.</para>
         automatically.</para>
       </note>
       </note>
 
 
       <para>
       <para>
-        Below is a list of currently supported standard DHCPv4 options. The name and code
+        Below is a list of currently supported standard DHCPv4 options. The "Name" and "Code"
-        specify name and code that should be used as a name in option-data
+        are the values that should be used as a name in the option-data
-        structures. Type designates the actual format of the data:
+        structures. "Type" designates the format of the data: the meanings of
+        the various types is given in <xref linkend="dhcp-types"/>.
+      </para>
+      <para>
+        Some options are designated as arrays, which means that more than one
+        value is allowed in such an option. For example the option time-servers
+        allows the specification of more than one IPv4 address, so allowing
+        clients to obtain the the addresses of multiple NTP servers.
       </para>
       </para>
-
       <!-- @todo: describe record types -->
       <!-- @todo: describe record types -->
 
 
-<para>
+      <para>
-<table border="1" cellpadding="5%" id="dhcp4-std-options-list">
+        <table border="1" cellpadding="5%" id="dhcp4-std-options-list">
           <caption>List of standard DHCPv4 options</caption>
           <caption>List of standard DHCPv4 options</caption>
           <thead>
           <thead>
-          <tr><td>Name</td><td>Code</td><td>Type</td><td>Array?</td></tr>
+            <tr><th>Name</th><th>Code</th><th>Type</th><th>Array?</th></tr>
-          <tr></tr>
           </thead>
           </thead>
           <tbody>
           <tbody>
 <tr><td>subnet-mask</td><td>1</td><td>ipv4-address</td><td>false</td></tr>
 <tr><td>subnet-mask</td><td>1</td><td>ipv4-address</td><td>false</td></tr>
 <tr><td>time-offset</td><td>2</td><td>uint32</td><td>false</td></tr>
 <tr><td>time-offset</td><td>2</td><td>uint32</td><td>false</td></tr>
-<tr><td>routers</td><td>3</td><td>ipv4-address</td></tr>
+<tr><td>routers</td><td>3</td><td>ipv4-address</td><td>true</td></tr>
 <tr><td>time-servers</td><td>4</td><td>ipv4-address</td><td>true</td></tr>
 <tr><td>time-servers</td><td>4</td><td>ipv4-address</td><td>true</td></tr>
 <tr><td>name-servers</td><td>5</td><td>ipv4-address</td><td>false</td></tr>
 <tr><td>name-servers</td><td>5</td><td>ipv4-address</td><td>false</td></tr>
 <tr><td>domain-name-servers</td><td>6</td><td>ipv4-address</td><td>true</td></tr>
 <tr><td>domain-name-servers</td><td>6</td><td>ipv4-address</td><td>true</td></tr>
@@ -3799,17 +3800,37 @@ Dhcp4/subnet4	[]	list	(default)
 <tr><td>domain-search</td><td>119</td><td>binary</td><td>false</td></tr>
 <tr><td>domain-search</td><td>119</td><td>binary</td><td>false</td></tr>
 <tr><td>vivco-suboptions</td><td>124</td><td>binary</td><td>false</td></tr>
 <tr><td>vivco-suboptions</td><td>124</td><td>binary</td><td>false</td></tr>
 <tr><td>vivso-suboptions</td><td>125</td><td>binary</td><td>false</td></tr>
 <tr><td>vivso-suboptions</td><td>125</td><td>binary</td><td>false</td></tr>
-</tbody>
+          </tbody>
-</table>
+        </table>
-</para>
+      </para>
+      <para>
+        <table border="1" cellpadding="5%" id="dhcp-types">
+          <caption>List of standard DHCP option types</caption>
+          <thead>
+            <tr><th>Name</th><th>Meaning</th></tr>
+          </thead>
+          <tbody>
+            <tr><td>binary</td><td>An arbitrary string of bytes, specified as a set of hexadecimal digits.</td></tr>
+            <tr><td>boolean</td><td>Boolean value with allowed values true or false</td></tr>
+            <tr><td>empty</td><td>No value, data is carried in suboptions</td></tr>
+            <tr><td>fqdn</td><td>Fully qualified domain name (e.g. www.example.com)</td></tr>
+            <tr><td>ipv4-address</td><td>IPv4 address in the usual dotted-decimal notation (e.g. 192.0.2.1)</td></tr>
+            <tr><td>ipv6-address</td><td>IPv6 address in the usual colon notation (e.g. 2001:db8::1)</td></tr>
+            <tr><td>record</td><td>Structured data that may comprise any types (except "record" and "empty")</td></tr>
+            <tr><td>string</td><td>Any text</td></tr>
+            <tr><td>uint8</td><td>8 bit unsigned integer with allowed values 0 to 255</td></tr>
+            <tr><td>uint16</td><td>16 bit unsinged integer with allowed values 0 to 65535</td></tr>
+            <tr><td>uint32</td><td>32 bit unsigned integer with allowed values 0 to 4294967295</td></tr>
+          </tbody>
+       </table>
+      </para>
     </section>
     </section>
 
 
     <section id="dhcp4-custom-options">
     <section id="dhcp4-custom-options">
       <title>Custom DHCPv4 options</title>
       <title>Custom DHCPv4 options</title>
-      <para>It is also possible to define new options that are
+      <para>It is also possible to define options other than the standard ones.
-      currently not supported out of the box. Let's assume that we
+      Assume that we want to define a new DHCPv4 option called "foo" which will have
-      want to define a new DHCPv4 option called "foo". It will have code 222
+      code 222 and will convey a single unsigned 32 bit integer value. We can define
-      and will convey a single unsigned 32 bit integer value. We can define
       such an option by using the following commands:
       such an option by using the following commands:
       <screen>
       <screen>
 &gt; <userinput>config add Dhcp4/option-def</userinput>
 &gt; <userinput>config add Dhcp4/option-def</userinput>
@@ -3821,12 +3842,12 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-def[0]/space "dhcp4"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/space "dhcp4"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/encapsulate ""</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/encapsulate ""</userinput>
 &gt; <userinput>config commit</userinput></screen>
 &gt; <userinput>config commit</userinput></screen>
-      Note that this specifies new option format, not the values conveyed in
+      Note that the above set of comments define the format of the new option and do not
-      that option.
+      set its values.
       </para>
       </para>
-      <para>Once the new option format is defined, concrete values can then
+      <para>Once the new option format is defined, its value is set
-      be specified in the same way as standard options. For example the following
+      in the same way as for a standard option. For example the following
-      commands may be used to define global values that apply to all subnets.
+      commands set a global value that applies to all subnets.
         <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[0]/name "foo"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/name "foo"</userinput>
@@ -3838,7 +3859,7 @@ Dhcp4/subnet4	[]	list	(default)
       </para>
       </para>
 
 
       <para>New options can take more complex forms than simple use of
       <para>New options can take more complex forms than simple use of
-      primitives (uint8, string, ipv4-address etc).  It is possible to
+      primitives (uint8, string, ipv4-address etc): it is possible to
       define an option comprising a number of existing primitives.
       define an option comprising a number of existing primitives.
       </para>
       </para>
       <para>Assume we
       <para>Assume we
@@ -3855,7 +3876,12 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-def[0]/record-types "ipv4-address, uint16, string"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/record-types "ipv4-address, uint16, string"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/encapsulate ""</userinput>
 &gt; <userinput>config set Dhcp4/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 Dhcp4/option-data</userinput>
 &gt; <userinput>config add Dhcp4/option-data</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/name "bar"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/name "bar"</userinput>
@@ -3865,19 +3891,24 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-data[0]/data "192.0.2.100, 123, Hello World"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/data "192.0.2.100, 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="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>Currently there are three option spaces defined: dhcp4 (to
-      be used in DHCPv4 daemon) and dhcp4; there is also vendor-opts-space,
+      be used in DHCPv4 daemon), dhcp6, and vendor-opts-space.  The last-mentioned
-      which is empty by default, but options can be defined in it. Those options
+      is empty by default but options can be defined in it: those options
       are called vendor-specific information options. The following examples
       are called vendor-specific information options. The following examples
       show how to define an option "foo" with code 1 that consists of IPv4 address,
       show how to define an option "foo" with code 1 that consists of IPv4 address,
       unsigned 16 bit integer and a string. The "foo" option is conveyed in a
       unsigned 16 bit integer and a string. The "foo" option is conveyed in a
       vendor specific information option.
       vendor specific information option.
-      <screen>
+      </para>
+      <para>
+      The first step is to define the format of the option:
+<screen>
 &gt; <userinput>config add Dhcp4/option-def</userinput>
 &gt; <userinput>config add Dhcp4/option-def</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/name "foo"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/name "foo"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/code 1</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/code 1</userinput>
@@ -3886,8 +3917,10 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-def[0]/array false</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/array false</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/record-types "ipv4-address, uint16, string"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/record-types "ipv4-address, uint16, string"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/encapsulates ""</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/encapsulates ""</userinput>
-&gt; <userinput>config commit</userinput></screen>
+&gt; <userinput>config commit</userinput>
-     After option format is defined, the next step is to define actual values
+</screen>
+      (Note that the option space is set to "vendor-encapsulated-option-space".)
+     Once the option format is defined, the next step is to define actual values
      for that option:
      for that option:
      <screen>
      <screen>
 &gt; <userinput>config add Dhcp4/option-data</userinput>
 &gt; <userinput>config add Dhcp4/option-data</userinput>
@@ -3897,7 +3930,7 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-data[0]/csv-format true</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/csv-format true</userinput>
 &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 should also define values for the vendor-opts, that will convey our option foo.
+    We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo".
      <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>
@@ -3927,10 +3960,12 @@ Dhcp4/subnet4	[]	list	(default)
       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 DHCPv4 options, so a separate option
       conflict with standard DHCPv4 options, so a separate option
-      space must be defined. Let's assume that we want to have a
+      space must be defined.
-      DHCPv4 option with code 222 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 DHCPv4 option called "container" with
+      code 222 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 Dhcp4/option-def</userinput>
 &gt; <userinput>config add Dhcp4/option-def</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/name "subopt1"</userinput>
 &gt; <userinput>config set Dhcp4/option-def[0]/name "subopt1"</userinput>
@@ -3952,8 +3987,12 @@ Dhcp4/subnet4	[]	list	(default)
 &gt; <userinput>config set Dhcp4/option-def[1]/encapsulate ""</userinput>
 &gt; <userinput>config set Dhcp4/option-def[1]/encapsulate ""</userinput>
 &gt; <userinput>config commit</userinput>
 &gt; <userinput>config commit</userinput>
 </screen>
 </screen>
-The next step is to define a regular DHCPv6 option and specify that it
+    Note that we have defined the options to belong to a new option space
-should include options from isc option space:
+    (in this case, "isc").
+    </para>
+    <para>
+    The next step is to define a regular DHCPv4 option with our desired
+    code and specify that it should include options from the new option space:
 <screen>
 <screen>
 &gt; <userinput>add Dhcp4/option-def</userinput>
 &gt; <userinput>add Dhcp4/option-def</userinput>
 &gt; <userinput>set Dhcp4/option-def[2]/name "container"</userinput>
 &gt; <userinput>set Dhcp4/option-def[2]/name "container"</userinput>
@@ -3965,8 +4004,11 @@ should include options from isc option space:
 &gt; <userinput>set Dhcp4/option-def[2]/encapsulate "isc"</userinput>
 &gt; <userinput>set Dhcp4/option-def[2]/encapsulate "isc"</userinput>
 &gt; <userinput>commit</userinput>
 &gt; <userinput>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 Dhcp4/option-data</userinput>
 &gt; <userinput>config add Dhcp4/option-data</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/name "subopt1"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[0]/name "subopt1"</userinput>
@@ -3992,26 +4034,31 @@ Finally, we should specify values for those new options:
 &gt; <userinput>config set Dhcp4/option-data[2]/data "123"</userinput>
 &gt; <userinput>config set Dhcp4/option-data[2]/data "123"</userinput>
 &gt; <userinput>config commit</userinput>
 &gt; <userinput>config commit</userinput>
 </screen>
 </screen>
+      Even though the "container" option comprises sub-options, we need to
+      set dummy values for it so that it is included in the data sent to a
+      client.
       </para>
       </para>
     </section>
     </section>
 
 
     <section id="dhcp4-serverid">
     <section id="dhcp4-serverid">
       <title>Server Identifier in DHCPv4</title>
       <title>Server Identifier in DHCPv4</title>
-      <para>The DHCPv4 protocol uses a "server identifier" for clients to be able
+      <para>
-      to discriminate between several servers present on the same link: this
+        The DHCPv4 protocol uses a "server identifier" for clients to be able
-      value is an IPv4 address of the server. When started for the first time,
+        to discriminate between several servers present on the same link: this
-      the DHCPv4 server will choose one of its IPv4 addresses as its server-id,
+        value is an IPv4 address of the server. When started for the first time,
-      and store the chosen value to a file. (The file is named b10-dhcp4-serverid and is
+        the DHCPv4 server will choose one of its IPv4 addresses as its server-id,
-      stored in the "local state directory".  This is set during installation
+        and store the chosen value to a file. That file will be read by the server
-      when "configure" is run, and can be changed by using "--localstatedir"
+        and the contained value used whenever the server is subsequently started.
-      on the "configure" command line.)  That file will be read by the server
-      and the contained value used whenever the server is subsequently started.
       </para>
       </para>
       <para>
       <para>
-        It is unlikely that this parameter needs to be changed. If such a need
+        It is unlikely that this parameter should ever need to be changed.
-        arises, please stop the server, edit the file and restart the server.
+        However, if such a need arises, stop the server, edit the file and restart
-        It is a text file that should contain an IPv4 address. Spaces are
+        the server. (The file is named b10-dhcp4-serverid and by default is
-        ignored.  No extra characters are allowed in this file.
+        stored in the "var" subdirectory of the directory in which BIND 10 is installed.
+        This can be changed when BIND 10 is built by using "--localstatedir"
+        on the "configure" command line.)  The file is a text file that should
+        contain an IPv4 address. Spaces are ignored, and no extra characters are allowed
+        in this file.
       </para>
       </para>
     </section>
     </section>
 
 
@@ -4340,7 +4387,7 @@ Dhcp6/subnet6/	list
       list. Line 4 specifies option space, which must always
       list. Line 4 specifies option space, which must always
       be set to "dhcp6" as these are standard DHCPv6 options. For
       be set to "dhcp6" as these are standard DHCPv6 options. For
       other name spaces, including custom option spaces, see <xref
       other name spaces, including custom option spaces, see <xref
-      linkend="dhcp6-option-spaces"/>. The fifth line specfies the format in
+      linkend="dhcp6-option-spaces"/>. The fifth line specifies the format in
       which the data will be entered: use of CSV (comma
       which the data will be entered: use of CSV (comma
       separated values) is recommended. The sixth line gives the actual value to
       separated values) is recommended. The sixth line gives the actual value to
       be sent to clients. Data is specified as a normal text, with
       be sent to clients. Data is specified as a normal text, with
@@ -4394,42 +4441,38 @@ Dhcp6/subnet6/	list
 &gt; <userinput>config commit</userinput></screen>
 &gt; <userinput>config commit</userinput></screen>
     </para>
     </para>
 
 
-<note>
+    <note>
-  <para>In future version of Kea versions, it will not be necessary to specify
+      <para>
-  option code, space and csv-format fields as those fields will be set
+        In future version of Kea versions, it will not be necessary to specify
-  automatically.</para>
+        option code, space and csv-format fields as those fields will be set
-</note>
+        automatically.
-
+      </para>
-
+    </note>
-<para>
+
-  Below is a list of currently supported standard DHCPv6 options. The name and code
+
-  specify name and code that should be used as a name in option-data
+    <para>
-  structures. Type designates the actual format of the data:
+      Below is a list of currently supported standard DHCPv6 options. The name and code
-
+      specify name and code that should be used as a name in option-data
-  <itemizedlist id="dhcp6-option-types">
+      structures. Type designates the actual format of the data and is one of
-  <listitem><simpara>uint8 means 8 bit unsigned integer with allowed values 0 to 255.</simpara></listitem>
+      the types listed in <xref linkend="dhcp-types"/>.
-  <listitem><simpara>uint16 means 16 bit unsinged integer with allowed values 0 to 65535.</simpara></listitem>
+    </para>
-  <listitem><simpara>uint32 means 32 bit unsigned integer with allowed values 0 to 4294967295.</simpara></listitem>
+    <para>
-  <listitem><simpara>ipv6-address means a normal IPv6 address.</simpara></listitem>
+      Some options are designated as arrays, which means that more than one
-  <listitem><simpara>fqdn means fully qualified domain name.</simpara></listitem>
+      value is allowed in such an option. For example the option dns-servers
-  <listitem><simpara>String means any text.</simpara></listitem>
+      allows the specification of more than one IPv6 address, so allowing
-  </itemizedlist>
+      clients to obtain the the addresses of multiple DNS servers.
-  Some options are designated as arrays, which means that more than one
+    </para>
-  value is allowed in such an option. For example the option dns-servers
-  allows the specification of more than one IPv6 address, so allowing
-  clients to obtain the the addresses of multiple DNS servers.
-</para>
 
 
 <!-- @todo: describe record types -->
 <!-- @todo: describe record types -->
 
 
-<para>
+    <para>
-<table border="1" cellpadding="5%" id="dhcp6-std-options-list">
+      <table border="1" cellpadding="5%" id="dhcp6-std-options-list">
-          <caption>List of standard DHCPv6 options</caption>
+        <caption>List of standard DHCPv6 options</caption>
-          <thead>
+        <thead>
-          <tr><td>Name</td><td>Code</td><td>Type</td><td>Array?</td></tr>
+          <tr><th>Name</th><th>Code</th><th>Type</th><th>Array?</th></tr>
           <tr></tr>
           <tr></tr>
-          </thead>
+        </thead>
-          <tbody>
+        <tbody>
 <!-- Our engine uses those options on its own, admin must not configure them on his own
 <!-- Our engine uses those options on its own, admin must not configure them on his own
 <tr><td>clientid</td><td>1</td><td>binary</td><td>false</td></tr>
 <tr><td>clientid</td><td>1</td><td>binary</td><td>false</td></tr>
 <tr><td>serverid</td><td>2</td><td>binary</td><td>false</td></tr>
 <tr><td>serverid</td><td>2</td><td>binary</td><td>false</td></tr>
@@ -4479,9 +4522,9 @@ Dhcp6/subnet6/	list
 <tr><td>clt-time</td><td>46</td><td>uint32</td><td>false</td></tr>
 <tr><td>clt-time</td><td>46</td><td>uint32</td><td>false</td></tr>
 <tr><td>lq-relay-data</td><td>47</td><td>record</td><td>false</td></tr>
 <tr><td>lq-relay-data</td><td>47</td><td>record</td><td>false</td></tr>
 <tr><td>lq-client-link</td><td>48</td><td>ipv6-address</td><td>true</td></tr>
 <tr><td>lq-client-link</td><td>48</td><td>ipv6-address</td><td>true</td></tr>
-</tbody>
+        </tbody>
-</table>
+      </table>
-</para>
+    </para>
     </section>
     </section>
 
 
     <section id="dhcp6-custom-options">
     <section id="dhcp6-custom-options">
@@ -4715,20 +4758,22 @@ Finally, we should specify values for those new options:
       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
-      a file (The file is named b10-dhcp6-serverid and is stored in the
+      a file.  That file is read by the server
-      "local state directory".  This is set during installation when
-      "configure" is run, and can be changed by using "--localstatedir"
-      on the "configure" command line.)  That file will be read by the server
       and the contained value used whenever the server is subsequently started.
       and the contained value used whenever the server is subsequently started.
       </para>
       </para>
       <para>
       <para>
-        It is unlikely that this parameter needs to be changed. If such a need
+        It is unlikely that this parameter should ever need to be changed.
-        arises, please stop the server, edit the file and start the server
+        However, if such a need arises, stop the server, edit the file and restart
-        again. It is a text file that contains double digit hexadecimal values
+        the server. (The file is named b10-dhcp6-serverid and by default is
+        stored in the "var" subdirectory of the directory in which BIND 10 is installed.
+        This can be changed when BIND 10 is built by using "--localstatedir"
+        on the "configure" command line.)  The file is a text file that contains
+        double digit hexadecimal values
         separated by colons. This format is similar to typical MAC address
         separated by colons. This format is similar to typical MAC address
         format. Spaces are ignored. No extra characters are allowed in this
         format. Spaces are ignored. No extra characters are allowed in this
         file.
         file.
       </para>
       </para>
+
     </section>
     </section>
 
 
     <section id="dhcp6-std">
     <section id="dhcp6-std">