]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[3979] Added examples demonstrating processing expired leases.
authorMarcin Siodelski <marcin@isc.org>
Mon, 26 Oct 2015 12:58:13 +0000 (13:58 +0100)
committerMarcin Siodelski <marcin@isc.org>
Mon, 26 Oct 2015 13:00:01 +0000 (14:00 +0100)
doc/Makefile.am
doc/examples/kea4/leases-expiration.json [new file with mode: 0644]
doc/examples/kea6/leases-expiration.json [new file with mode: 0644]
src/bin/dhcp4/tests/configs-list.txt

index 115e492dfa205eda89069d0de8e9ca7bf0d72237..5e31b591dea16e046b3cc2148b9f2bff4e48753f 100644 (file)
@@ -12,12 +12,14 @@ nobase_dist_doc_DATA  = examples/kea4/single-subnet.json
 nobase_dist_doc_DATA += examples/kea4/several-subnets.json
 nobase_dist_doc_DATA += examples/kea4/multiple-options.json
 nobase_dist_doc_DATA += examples/kea4/reservations.json
+nobase_dist_doc_DATA += examples/kea4/leases-expiration.json
 nobase_dist_doc_DATA += examples/kea6/simple.json
 nobase_dist_doc_DATA += examples/kea6/several-subnets.json
 nobase_dist_doc_DATA += examples/kea6/multiple-options.json
 nobase_dist_doc_DATA += examples/kea6/advanced.json
 nobase_dist_doc_DATA += examples/kea6/stateless.json
 nobase_dist_doc_DATA += examples/kea6/reservations.json
+nobase_dist_doc_DATA += examples/kea6/leases-expiration.json
 nobase_dist_doc_DATA += examples/ddns/sample1.json
 nobase_dist_doc_DATA += examples/ddns/template.json
 
diff --git a/doc/examples/kea4/leases-expiration.json b/doc/examples/kea4/leases-expiration.json
new file mode 100644 (file)
index 0000000..3771eca
--- /dev/null
@@ -0,0 +1,71 @@
+# This is an example configuration file for the DHCPv4 server in Kea.
+# It provides parameters controlling processing of expired leases,
+# a.k.a. leases reclamation.
+
+{ "Dhcp4":
+
+{
+# Kea is told to listen on ethX interface only.
+  "interfaces-config": {
+    "interfaces": [ "ethX" ]
+  },
+
+# We need to specify lease type. As of May 2014, three backends are supported:
+# memfile, mysql and pgsql. We'll just use memfile, because it doesn't require
+# any prior set up.
+  "lease-database": {
+    "type": "memfile"
+  },
+
+# The following parameters control processing expired leases. Expired leases
+# will be reclaimed periodically according to the "reclaim-timer-wait-time"
+# parameter. Reclaimed leases will be held in the database for 1800s to
+# facilitate lease affinity. After this period the leases will be removed.
+# The frequency of removal is controlled by the "flush-reclaimed-timer-wait-time"
+# parameter. The lease reclamation routine will process at most 500 leases
+# or will last for at most 100ms, during a single run. If there are still
+# some unreclaimed leases after 10 attempts, a warning message is issued.
+  "expired-leases-processing": {
+    "reclaim-timer-wait-time": 5,
+    "flush-reclaimed-timer-wait-time": 10,
+    "max-reclaim-leases": 500,
+    "max-reclaim-time": 100,
+    "hold-reclaimed-time": 1800,
+    "unwarned-reclaim-cycles": 10
+  },
+
+# Addresses will be assigned with valid lifetimes being 4000. Client
+# is told to start renewing after 1000 seconds. If the server does not respond
+# after 2000 seconds since the lease was granted, client is supposed
+# to start REBIND procedure (emergency renewal that allows switching
+# to a different server).
+  "valid-lifetime": 4000,
+
+# The following list defines subnets. We have only one subnet
+# here. We tell Kea that it is directly available over local interface.
+  "subnet4": [
+    {
+       "pools": [ { "pool":  "192.0.2.1 - 192.0.2.200" } ],
+       "subnet": "192.0.2.0/24",
+       "interface": "ethX"
+    }
+  ]
+},
+
+# The following configures logging. It assumes that messages with at least
+# informational level (info, warn, error) will will be logged to stdout.
+"Logging": {
+    "loggers": [
+        {
+            "name": "kea-dhcp4",
+            "output_options": [
+                {
+                    "output": "stdout"
+                }
+            ],
+            "severity": "INFO"
+        }
+    ]
+}
+
+}
diff --git a/doc/examples/kea6/leases-expiration.json b/doc/examples/kea6/leases-expiration.json
new file mode 100644 (file)
index 0000000..0f66bfc
--- /dev/null
@@ -0,0 +1,77 @@
+# This is an example configuration file for DHCPv6 server in Kea.
+# It provides parameters controlling processing of expired leases,
+# a.k.a. leases reclamation.
+
+{ "Dhcp6":
+
+{
+# Kea is told to listen on ethX interface only.
+  "interfaces-config": {
+    "interfaces": [ "ethX" ]
+  },
+
+# We need to specify lease type. As of May 2014, three backends are supported:
+# memfile, mysql and pgsql. We'll just use memfile, because it doesn't require
+# any prior set up.
+  "lease-database": {
+    "type": "memfile"
+  },
+
+# The following parameters control processing expired leases. Expired leases
+# will be reclaimed periodically according to the "reclaim-timer-wait-time"
+# parameter. Reclaimed leases will be held in the database for 1800s to
+# facilitate lease affinity. After this period the leases will be removed.
+# The frequency of removal is controlled by the "flush-reclaimed-timer-wait-time"
+# parameter. The lease reclamation routine will process at most 500 leases
+# or will last for at most 100ms, during a single run. If there are still
+# some unreclaimed leases after 10 attempts, a warning message is issued.
+  "expired-leases-processing": {
+    "reclaim-timer-wait-time": 5,
+    "flush-reclaimed-timer-wait-time": 10,
+    "max-reclaim-leases": 500,
+    "max-reclaim-time": 100,
+    "hold-reclaimed-time": 1800,
+    "unwarned-reclaim-cycles": 10
+  },
+
+# Addresses will be assigned with preferred and valid lifetimes
+# being 3000 and 4000, respectively. Client is told to start
+# renewing after 1000 seconds. If the server does not respond
+# after 2000 seconds since the lease was granted, client is supposed
+# to start REBIND procedure (emergency renewal that allows switching
+# to a different server).
+  "preferred-lifetime": 3000,
+  "valid-lifetime": 4000,
+  "renew-timer": 1000,
+  "rebind-timer": 2000,
+
+# The following list defines subnets. Each subnet consists of at
+# least subnet and pool entries.
+  "subnet6": [
+    {
+      "pools": [ { "pool": "2001:db8:1::/80" } ],
+      "subnet": "2001:db8:1::/64",
+      "interface": "ethX"
+    }
+  ]
+},
+
+# The following configures logging. Kea will log all debug messages
+# to /var/log/kea-debug.log file.
+"Logging": {
+    "loggers": [
+        {
+            "name": "kea-dhcp6",
+            "output_options": [
+                {
+                    "output": "/var/log/kea-debug.log"
+                }
+            ],
+            "debuglevel": 99,
+            "severity": "DEBUG"
+        }
+    ]
+}
+
+}
+
index f7e5587bd0259f90f24003161375bd3c666d9a51..0ba561666947553dbb485d9180420acc9f442e25 100644 (file)
@@ -3,3 +3,4 @@
 
 ../../../../doc/examples/kea4/single-subnet.json
 ../../../../doc/examples/kea4/several-subnets.json
+../../../../doc/examples/kea4/leases-expiration.json