]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[3418] Remaining DHCPv4 sections converted to JSON
authorTomek Mrugalski <tomasz@isc.org>
Mon, 16 Jun 2014 14:32:26 +0000 (16:32 +0200)
committerTomek Mrugalski <tomasz@isc.org>
Mon, 16 Jun 2014 14:32:26 +0000 (16:32 +0200)
doc/guide/config.xml
doc/guide/dhcp4-srv.xml
doc/guide/quickstart.xml

index bfad9ed96c02c64a7185961686bb58ddc8588137..2fc939c334d9d4aaf207f6aef097db7a39aa71eb 100644 (file)
         context. For example, when discussing IPv6 subnets configuration in
         DHCPv6, only subnet6 parameters will be mentioned. It is implied that
         remaining elements (global that holds Dhcp6, Logging and possibly
-        DhcpDdns) are present, but are omitted for clarity. </para>
+        DhcpDdns) are present, but are omitted for clarity. Usually, locations
+        where extra parameters may appear are denoted with ellipsis (triple
+        dot).</para>
     </section>
 
     <section>
index 8a4bccb1bbbe87e3b00c8568616a8ca0396e48d3..beaf2f2a2cbb40552b7247ab293899f61edff268 100644 (file)
@@ -818,13 +818,18 @@ to temporary add asterisk and retain the list of interface names.
       <para>
       The values of the option are set as follows:
 <screen>
-&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]/space "dhcp4"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[0]/code 223</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.100, 123, true, Hello World"</userinput>
-&gt; <userinput>config commit</userinput></screen>
+"Dhcp4": {
+    "option-data": [
+        {
+            <userinput>"name": "bar",
+            "space": "dhcp4",
+            "code": 223,
+            "csv-format": true,
+            "data": "192.0.2.100, 123, true, Hello World"</userinput>
+        }
+    ],
+    ...
+}</screen>
       "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.
@@ -857,37 +862,51 @@ to temporary add asterisk and retain the list of interface names.
       <para>
       The first step is to define the format of the option:
 <screen>
-&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]/code 1</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/space "vendor-encapsulated-options-space"</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/type "record"</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]/encapsulates ""</userinput>
-&gt; <userinput>config commit</userinput>
-</screen>
+"Dhcp4": {
+    "option-def": [
+        {
+            <userinput>"name": "foo",
+            "code": 1,
+            "space": "vendor-encapsulated-options-space",
+            "type": "record",
+            "array: false,
+            "record-types": "ipv4-address, uint16, string",
+            "encapsulates": ""</userinput>
+        }
+    ],
+    ...
+}</screen>
      (Note that the option space is set to "vendor-encapsulated-options-space".)
      Once the option format is defined, the next step is to define actual values
      for that option:
-     <screen>
-&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]/space "vendor-encapsulated-options-space"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[0]/code 1</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 commit</userinput></screen>
+<screen>
+"Dhcp4": {
+    "option-data": [
+        {
+            <userinput>"name": "foo"
+            "space": "vendor-encapsulated-options-space",
+            "code": 1,
+            "csv-format": true,
+            "data": "192.0.2.3, 123, Hello World"</userinput>
+        }
+    ],
+    ...
+}</screen>
     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>
-&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]/space "dhcp4"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/code 43</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/csv-format false</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/data ""</userinput>
-&gt; <userinput>config commit</userinput></screen>
+<screen>
+"Dhcp4": {
+    "option-data": [
+        {
+            <userinput>"name": "vendor-encapsulated-options"
+            "space": "dhcp4",
+            "code": 43,
+            "csv-format": false,
+            "data: ""</userinput>
+        }
+    ],
+    ...
+}</screen>
       </para>
 
       <note>
@@ -922,26 +941,29 @@ to temporary add asterisk and retain the list of interface names.
       code 222 that conveys two sub-options with codes 1 and 2.
       First we need to define the new sub-options:
 <screen>
-&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]/code 1</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/space "isc"</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/type "ipv4-address"</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/record-types ""</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/array false</userinput>
-&gt; <userinput>config set Dhcp4/option-def[0]/encapsulate ""</userinput>
-&gt; <userinput>config commit</userinput>
-
-&gt; <userinput>config add Dhcp4/option-def</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/name "subopt2"</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/code 2</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/space "isc"</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/type "string"</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/record-types ""</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/array false</userinput>
-&gt; <userinput>config set Dhcp4/option-def[1]/encapsulate ""</userinput>
-&gt; <userinput>config commit</userinput>
-</screen>
+"Dhcp4": {
+    "option-def": [
+        {
+            <userinput>"name": "subopt1",
+            "code": 1,
+            "space": "isc",
+            "type": "ipv4-address".
+            "record-types": "",
+            "array": false,
+            "encapsulate ""
+        },
+        {
+            "name": "subopt2",
+            "code": 2,
+            "space": "isc",
+            "type": "string",
+            "record-types": "",
+            "array": false
+            "encapsulate": ""</userinput>
+        }
+    ],
+    ...
+}</screen>
     Note that we have defined the options to belong to a new option space
     (in this case, "isc").
     </para>
@@ -949,16 +971,21 @@ to temporary add asterisk and retain the list of interface names.
     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>
-&gt; <userinput>add Dhcp4/option-def</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/name "container"</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/code 222</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/space "dhcp4"</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/type "empty"</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/array false</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/record-types ""</userinput>
-&gt; <userinput>set Dhcp4/option-def[2]/encapsulate "isc"</userinput>
-&gt; <userinput>commit</userinput>
-</screen>
+"Dhcp4": {
+    "option-def": [
+        ...,
+        {
+            <userinput>"name": "container",
+            "code": 222,
+            "space": "dhcp4",
+            "type": "empty",
+            "array": false,
+            "record-types": "",
+            "encapsulate": "isc"</userinput>
+        }
+    ],
+    ...
+}</screen>
     The name of the option space in which the sub-options are defined
     is set in the "encapsulate" field. The "type" field is set to "empty"
     to indicate that this option does not carry any data other than
@@ -967,29 +994,32 @@ to temporary add asterisk and retain the list of interface names.
     <para>
     Finally, we can set values for the new options:
 <screen>
-&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]/space "isc"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[0]/code 1</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"</userinput>
-&gt; <userinput>config commit</userinput>
-<userinput></userinput>
-&gt; <userinput>config add Dhcp4/option-data</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/name "subopt2"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/space "isc"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/code 2</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/csv-format true</userinput>
-&gt; <userinput>config set Dhcp4/option-data[1]/data "Hello world"</userinput>
-&gt; <userinput>config commit</userinput>
-<userinput></userinput>
-&gt; <userinput>config add Dhcp4/option-data</userinput>
-&gt; <userinput>config set Dhcp4/option-data[2]/name "container"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[2]/space "dhcp4"</userinput>
-&gt; <userinput>config set Dhcp4/option-data[2]/code 222</userinput>
-&gt; <userinput>config set Dhcp4/option-data[2]/csv-format true</userinput>
-&gt; <userinput>config set Dhcp4/option-data[2]/data ""</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "option-data": [
+        {
+            <userinput>"name": "subopt1",
+            "space": "isc",
+            "code": 1,
+            "csv-format": true,
+            "data": "192.0.2.3"</userinput>
+        },
+        }
+            <userinput>"name": "subopt2",
+            "space": "isc",
+            "code": 2,
+            "csv-format": true,
+            "data": "Hello world"</userinput>
+        },
+        {
+            <userinput>"name": "container",
+            "space": "dhcp4",
+            "code": 222,
+            "csv-format": true,
+            "data": ""</userinput>
+        }
+    ],
+    ...
+}
 </screen>
     Even though the "container" option does not carry any data except
     sub-options, the "data" field must be explicitly set to an empty value.
@@ -1075,11 +1105,16 @@ to temporary add asterisk and retain the list of interface names.
         VENDOR_CLASS_docsis3.0 are allowed to use this subnet. Such a
         configuration can be achieved in the following way:
         <screen>
-&gt; <userinput>config add Dhcp4/subnet4</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/subnet "192.0.2.0/24"</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/pool [ "192.0.2.10 - 192.0.2.20" ]</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/client-class "VENDOR_CLASS_docsis3.0"</userinput>
-&gt; <userinput>config commit</userinput></screen>
+"Dhcp4": {
+    "subnet4": [
+        {
+            <userinput>subnet: "192.0.2.0/24",
+            "pool": [ "192.0.2.10 - 192.0.2.20" ],
+            "client-class": "VENDOR_CLASS_docsis3.0"</userinput>
+        }
+    ],
+    ...
+}</screen>
       </para>
 
       <para>
@@ -1107,24 +1142,29 @@ to temporary add asterisk and retain the list of interface names.
       </orderedlist>
       The parameters for controlling the generation of NCRs for submission to D2
       are contained in the "dhcp-ddns" section of the b10-dhcp4 server
-      configuration. The default values for this section appears as follows:
+      configuration. The default values for this section appear as follows:
 <screen>
-&gt; <userinput>config show Dhcp4/dhcp-ddns</userinput>
-Dhcp4/dhcp-ddns/enable-updates true    boolean
-Dhcp4/dhcp-ddns/server-ip      "127.0.0.1"     string
-Dhcp4/dhcp-ddns/server-port    53001   integer
-Dhcp4/dhcp-ddns/sender-ip      ""      string
-Dhcp4/dhcp-ddns/sender-port    0       integer
-Dhcp4/dhcp-ddns/max-queue-size 1024    integer
-Dhcp4/dhcp-ddns/ncr-protocol   "UDP"   string
-Dhcp4/dhcp-ddns/ncr-format     "JSON"  string
-Dhcp4/dhcp-ddns/override-no-update     false   boolean
-Dhcp4/dhcp-ddns/override-client-update false   boolean
-Dhcp4/dhcp-ddns/replace-client-name    false   boolean
-Dhcp4/dhcp-ddns/generated-prefix       "myhost"        string
-Dhcp4/dhcp-ddns/qualifying-suffix      "example.com"   string
+"Dhcp4": {
+    "dhcp-ddns": {
+        <userinput>"enable-updates": true,
+        "server-ip": "127.0.0.1",
+        "server-port": 53001,
+        "sender-ip": "",
+        "sender-port: 0,
+        "max-queue-size": 1024,
+        "ncr-protocol": "UDP",
+        "ncr-format": "JSON",
+        "override-no-update": false,
+        "override-client-update": false,
+        "replace-client-name": false,
+        "generated-prefix": "myhost",
+        "qualifying-suffix": "example.com"</userinput>
+    },
+    ...
+}
 </screen>
       </para>
+      <!-- this paragraph no longer applies as we don't have default values
       <para>
       The "enable-updates" parameter determines whether or not b10-dhcp4 will
       generate NCRs.  By default, this value is false hence DDNS updates are
@@ -1133,7 +1173,7 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com"   string
 <screen>
 &gt; <userinput>config set Dhcp4/dhcp-ddns/enable-updates true</userinput>
 &gt; <userinput>config commit</userinput>
-</screen>
+</screen> -->
       <section id="dhcpv4-d2-io-config">
       <title>DHCP-DDNS Server Connectivity</title>
       <para>
@@ -1182,12 +1222,17 @@ Dhcp4/dhcp-ddns/qualifying-suffix       "example.com"   string
       all of the default values mentioned above should be sufficient.
       If, however, D2 has been configured to listen on a different address or
       port, these values must altered accordingly. For example, if D2 has been
-      configured to listen on 198.162.1.10 port 900, the following commands
+      configured to listen on 192.168.1.10 port 900, the following commands
       would be required:
 <screen>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/server-ip "198.162.1.10"</userinput>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/server-port 900</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "dhcp-ddns: {
+        <userinput>"server-ip": "192.168.1.10",
+        "server-port": 900</userinput>,
+        ...
+    },
+    ...
+}
 </screen>
       </para>
       </section>
@@ -1289,11 +1334,17 @@ Dhcp4/dhcp-ddns/qualifying-suffix       "example.com"   string
       will be dropped by the b10-dhcp4.)
       </para>
       <para>
-      To override client delegation, issue the following commands:
+      To override client delegation, set the following values in your configuration
+      file:
       </para>
 <screen>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/override-client-update true</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "dhcp-ddns": {
+        <userinput>"override-client-update": true</userinput>,
+        ...
+    },
+    ...
+}
 </screen>
       <para>
       The third row in the table above describes the case in which the client
@@ -1307,8 +1358,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix        "example.com"   string
       To override client delegation, issue the following commands:
       </para>
 <screen>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/override-no-update true</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "dhcp-ddns": {
+        <userinput>"override-no-update": true</userinput>,
+        ...
+    },
+    ...
+}
 </screen>
       <para>
       b10-dhcp4 will always generate DDNS update requests if the client request
@@ -1354,8 +1410,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix        "example.com"   string
       parameter "replace-client-name" to true as follows:
       </para>
 <screen>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/replace-client-name true</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "dhcp-ddns": {
+        <userinput>"replace-client-name": true</userinput>,
+        ...
+    },
+    ...
+}
 </screen>
       <para>
       The prefix used in the generation of a FQDN is specified by the
@@ -1363,8 +1424,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix        "example.com"   string
       its value simply set it to the desired string:
       </para>
 <screen>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/generated-prefix "another.host"</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "dhcp-ddns": {
+        <userinput>"generated-prefix": "another.host"</userinput>,
+        ...
+    },
+    ...
+}
 </screen>
       <para>
       The suffix used when generating a FQDN or when qualifying a partial
@@ -1373,8 +1439,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix        "example.com"   string
       string:
       </para>
 <screen>
-&gt; <userinput>config set Dhcp4/dhcp-ddns/generated-prefix "our.net"</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    "dhcp-ddns": {
+        <userinput>"generated-prefix": "foo.example.org"</userinput>,
+        ...
+    },
+    ...
+}
 </screen>
       </section>
       <para>
@@ -1394,26 +1465,6 @@ Dhcp4/dhcp-ddns/qualifying-suffix        "example.com"   string
       </para>
     </section>
 
-  </section> <!-- end of configuring b10-dhcp4 server section with many subsections -->
-
-    <section id="dhcp4-serverid">
-      <title>Server Identifier in DHCPv4</title>
-      <para>
-        The DHCPv4 protocol uses a "server identifier" for clients to be able
-        to discriminate between several servers present on the same link: this
-        value is an IPv4 address of the server. The server chooses the IPv4 address
-        of the interface on which the message from the client (or relay) has been
-        received. A single server instance will use multiple server identifiers
-        if it is receiving queries on multiple interfaces.
-      </para>
-      <para>
-        Currently there is no mechanism to override the default server identifiers
-        by an administrator. In the future, the configuration mechanism will be used
-        to specify the custom server identifier.
-      </para>
-    </section>
-
-
     <section id="dhcp4-next-server">
       <title>Next server (siaddr)</title>
       <para>In some cases, clients want to obtain configuration from the TFTP server.
@@ -1427,15 +1478,17 @@ Dhcp4/dhcp-ddns/qualifying-suffix       "example.com"   string
       </para>
 
 <screen>
-&gt; <userinput>config add Dhcp4/next-server</userinput>
-&gt; <userinput>config set Dhcp4/next-server "192.0.2.123"</userinput>
-&gt; <userinput>config commit</userinput>
-<userinput></userinput>
-&gt; <userinput>config add Dhcp4/subnet[0]/next-server</userinput>
-&gt; <userinput>config set Dhcp4/subnet[0]/next-server "192.0.2.234"</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    <userinput>"next-server": "192.0.2.123"</userinput>,
+    ...,
+    "subnet4": {
+        [
+            <userinput>"next-server": "192.0.2.234"</userinput>,
+            ...
+        ]
+    }
+}
 </screen>
-
     </section>
 
     <section id="dhcp4-echo-client-id">
@@ -1454,15 +1507,37 @@ Dhcp4/dhcp-ddns/qualifying-suffix       "example.com"   string
       use the following commands:</para>
 
 <screen>
-&gt; <userinput>config add Dhcp4/echo-client-id</userinput>
-&gt; <userinput>config set Dhcp4/echo-client-id False</userinput>
-&gt; <userinput>config commit</userinput>
+"Dhcp4": {
+    <userinput>"echo-client-id": false</userinput>,
+    ...
+}
 </screen>
+    </section>
+
+
+  thomson
 
+  </section> <!-- end of configuring b10-dhcp4 server section with many subsections -->
+
+    <section id="dhcp4-serverid">
+      <title>Server Identifier in DHCPv4</title>
+      <para>
+        The DHCPv4 protocol uses a "server identifier" for clients to be able
+        to discriminate between several servers present on the same link: this
+        value is an IPv4 address of the server. The server chooses the IPv4 address
+        of the interface on which the message from the client (or relay) has been
+        received. A single server instance will use multiple server identifiers
+        if it is receiving queries on multiple interfaces.
+      </para>
+      <para>
+        Currently there is no mechanism to override the default server identifiers
+        by an administrator. In the future, the configuration mechanism will be used
+        to specify the custom server identifier.
+      </para>
     </section>
 
     <section id="dhcp4-subnet-selection">
-      <title>How DHCPv4 server selects subnet for a client</title>
+      <title>How DHCPv4 server selects a subnet for the client</title>
       <para>
         The DHCPv4 server differentiates between the directly connected clients,
         clients trying to renew leases and clients sending their messages through
@@ -1498,7 +1573,6 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com"   string
         mechanism alters the way in which subnet is selected for the client,
         depending on the classes that the client belongs to.</para>
       </note>
-    </section>
 
     <section id="dhcp4-relay-override">
       <title>Using specific relay agent for a subnet</title>
@@ -1528,12 +1602,21 @@ Dhcp4/dhcp-ddns/qualifying-suffix       "example.com"   string
         The server will be able to select this subnet for any incoming packets
         that came from a relay that has an address in 192.0.2.0/24 subnet.
         It will also select that subnet for a relay with address 10.0.0.1.
-        <screen>
-&gt; <userinput>config add Dhcp4/subnet4</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/subnet "192.0.2.0/24"</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/pool [ "192.0.2.10 - 192.0.2.20" ]</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/relay/ip-address "10.0.0.1"</userinput>
-&gt; <userinput>config commit</userinput></screen>
+<screen>
+"Dhcp4": {
+    "subnet4: [
+        {
+            "subnet": "192.0.2.0/24",
+            "pool": [ "192.0.2.10 - 192.0.2.20" ],
+            <userinput>"relay": {
+                "ip-address": "10.0.0.1"
+            }</userinput>,
+            ...
+        }
+    ],
+    ...
+}
+</screen>
       </para>
 
     </section>
@@ -1555,20 +1638,34 @@ Dhcp4/dhcp-ddns/qualifying-suffix       "example.com"   string
           everything connected behind modems should get addresses from another
           subnet (192.0.2.0/24). The CMTS that acts as a relay an uses address
           10.1.1.1. The following configuration can serve that configuration:
-        <screen>
-&gt; <userinput>config add Dhcp4/subnet4</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/subnet "10.1.1.0/24"</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/pool [ "10.1.1.2 - 10.1.1.20" ]</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/client-class "docsis3.0"</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[0]/relay/ip-address "10.1.1.1"</userinput>
-&gt; <userinput>config add Dhcp4/subnet4</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[1]/subnet "192.0.2.0/24"</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[1]/pool [ "192.0.2.10 - 192.0.2.20" ]</userinput>
-&gt; <userinput>config set Dhcp4/subnet4[1]/relay/ip-address "10.1.1.1"</userinput>
-&gt; <userinput>config commit</userinput></screen>
+<screen>
+"Dhcp4": {
+    "subnet4: [
+        {
+            "subnet": "10.1.1.0/24",
+            "pool":  [ "10.1.1.2 - 10.1.1.20" ],
+            <userinput>"client-class" "docsis3.0",
+            "relay": {
+                "ip-address": "10.1.1.1"
+            }</userinput>
+        },
+        {
+            "subnet": "192.0.2.0/24",
+            "pool": [ "192.0.2.10 - 192.0.2.20" ],
+            <userinput>"relay": {
+                "ip-address": "10.1.1.1"
+            }</userinput>
+        }
+    ],
+    ...
+}
+</screen>
       </para>
       </section>
 
+    </section>
+
+
     <section id="dhcp4-std">
       <title>Supported Standards</title>
       <para>The following standards and draft standards are currently
@@ -1617,6 +1714,12 @@ Dhcp4/dhcp-ddns/qualifying-suffix        "example.com"   string
               <xref linkend="ipv4-subnet-id"/>.
             </simpara>
           </listitem>
+          <listitem>
+            <simpara>Host reservation (statis addresses) is not supported yet.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Full featured client classification is not supported yet.</simpara>
+          </listitem>
           <listitem>
             <simpara>
               BOOTP (<ulink url="http://tools.ietf.org/html/rfc951">RFC 951</ulink>)
index 12efe32aec696aa0ca272b1ba2d648931d49dae1..076cbb97e1e50964ae65e58b9fd9034673aa9dc5 100644 (file)
@@ -49,8 +49,8 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
         </listitem>
 
         <listitem>
-          <para>Install it as root (by default to prefix
-          <filename>/usr/local/</filename>):
+          <para>Install it (by default the installation prefix is <filename>/usr/local/</filename>,
+          so you need root privileges for that step):
             <screen>$ <userinput>make install</userinput></screen>
           </para>
         </listitem>