]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5132] Reservation examples updated.
authorTomek <tomasz@isc.org>
Wed, 29 Mar 2017 15:40:23 +0000 (10:40 -0500)
committerTomek <tomasz@isc.org>
Wed, 29 Mar 2017 15:40:23 +0000 (10:40 -0500)
doc/examples/kea4/reservations.json
doc/examples/kea6/reservations.json

index db90fb2022e0a47fc4fc6d5ba3627f3042f7b2ba..4dc9feee659be9434eaa2dca40ef34009adf2c3c 100644 (file)
 # set. Three supported fields are next-server, server-hostname and
 # boot-file-name
          {
-             "client-id": "01:0a:0b:0c:0d:0e:of",
+             "client-id": "01:0a:0b:0c:0d:0e:0f",
              "ip-address": "192.0.2.205",
              "next-server": "192.0.2.1",
              "server-hostname": "hal9000",
              "boot-file-name": "/dev/null"
+         },
+
+// This reservation is using flexible identifier. Instead of relying on specific
+// field, sysadmin can define an expression similar to what is used for client
+// classification, e.g. substring(relay[0].option[17],0,6). Then, based on the
+// value of that expression for incoming packet, the reservation is matched.
+// Expression can be specified either as hex or plain text using single
+// quotes.
+// Note: flexible identifier requires flex_id hook library to be loaded to work.
+         {
+             "flex-id": "s0mEVaLue",
+             "ip-address": "192.0.2.206"
          }
+
        ]
     }
   ]
index 8a48ebc6b06e1e7a8e0b3a1fcd192596264b2dbb..15a7a1dd0f4ab77ae623746913a58300b267337d 100644 (file)
       "pools": [ { "pool": "2001:db8:1::/120" } ],
 
       "pd-pools": [
-          {
-              "prefix": "2001:db8:1:8000::",
-              "prefix-len": 56,
-              "delegated-len": 64
-          }
+         {
+             "prefix": "2001:db8:1:8000::",
+             "prefix-len": 56,
+             "delegated-len": 64
+         }
       ],
       "interface": "ethX",
 
       "reservations": [
 # This is a simple host reservation. The host with DUID matching
 # the specified value will get an address of 2001:db8:1::100.
-          {
-              "duid": "01:02:03:04:05:0A:0B:0C:0D:0E",
-              "ip-addresses": [ "2001:db8:1::100" ]
-          },
+         {
+             "duid": "01:02:03:04:05:0A:0B:0C:0D:0E",
+             "ip-addresses": [ "2001:db8:1::100" ]
+         },
 # This is similar to the previous one, but this time the reservation is done
 # based on hardware/MAC address. The server will do its best to extract
 # the hardware/MAC address from received packets (see 'mac-sources' directive
 # to be available for this client. If there are options with the same code
 # specified in a global, subnet or class scope, the values defined at host level
 # take precedence.
-          {
-              "hw-address": "00:01:02:03:04:05",
-              "ip-addresses": [ "2001:db8:1::101" ],
-              "option-data": [
-              {
-                  "name": "dns-servers",
-                  "data": "3000:1::234"
-              },
-              {
-                  "name": "nis-servers",
-                  "data": "3000:1::234"
-              }],
-              "client-classes": [ "special_snowflake", "office" ]
-          },
+         {
+             "hw-address": "00:01:02:03:04:05",
+             "ip-addresses": [ "2001:db8:1::101" ],
+             "option-data": [
+             {
+                 "name": "dns-servers",
+                 "data": "3000:1::234"
+             },
+             {
+                 "name": "nis-servers",
+                 "data": "3000:1::234"
+             }],
+             "client-classes": [ "special_snowflake", "office" ]
+         },
 # This is a bit more advanced reservation. The client with the specified
 # DUID will get a reserved address, a reserved prefix and a hostname.
 # This reservation is for an address that it not within the dynamic pool.
 # Finally, this reservation features vendor specific options for CableLabs,
 # which happen to use enterprise-id 4491. Those particular values will
 # be returned only to the client that has a DUID matching this reservation.
-          {
-              "duid": "01:02:03:04:05:06:07:08:09:0A",
-              "ip-addresses": [ "2001:db8:1:cafe::1" ],
-              "prefixes": [ "2001:db8:2:abcd::/64" ],
-              "hostname": "foo.example.com",
-              "option-data": [ {
-                  "name": "vendor-opts",
-                  "data": "4491"
-              },
-              {
-                  "name": "tftp-servers",
-                  "space": "vendor-4491",
-                  "data": "3000:1::234"
-              } ]
+         {
+             "duid": "01:02:03:04:05:06:07:08:09:0A",
+             "ip-addresses": [ "2001:db8:1:cafe::1" ],
+             "prefixes": [ "2001:db8:2:abcd::/64" ],
+             "hostname": "foo.example.com",
+             "option-data": [ {
+                 "name": "vendor-opts",
+                 "data": "4491"
+             },
+             {
+                 "name": "tftp-servers",
+                 "space": "vendor-4491",
+                 "data": "3000:1::234"
+             } ]
+
+         },
+// This reservation is using flexible identifier. Instead of relying on specific
+// field, sysadmin can define an expression similar to what is used for client
+// classification, e.g. substring(relay[0].option[17],0,6). Then, based on the
+// value of that expression for incoming packet, the reservation is matched.
+// Expression can be specified either as hex or plain text using single
+// quotes.
+// Note: flexible identifier requires flex_id hook library to be loaded to work.
+        {
+            "flex-id": "'somevalue'",
+            "ip-addresses": [ "2001:db8:1:cafe::2" ]
+        }
 
-          }
       ]
     }
   ]
 # informational level (info, warn, error and fatal) should be logged to stdout.
 "Logging": {
     "loggers": [
-        {
-            "name": "kea-dhcp6",
-            "output_options": [
-                {
-                    "output": "stdout"
-                }
-            ],
-            "debuglevel": 0,
-            "severity": "INFO"
-        }
+       {
+           "name": "kea-dhcp6",
+           "output_options": [
+               {
+                   "output": "stdout"
+               }
+           ],
+           "debuglevel": 0,
+           "severity": "INFO"
+       }
     ]
 }