summaryrefslogtreecommitdiffstats
path: root/doc/examples/kea6/leases-expiration.json
diff options
context:
space:
mode:
Diffstat (limited to 'doc/examples/kea6/leases-expiration.json')
-rw-r--r--doc/examples/kea6/leases-expiration.json85
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/examples/kea6/leases-expiration.json b/doc/examples/kea6/leases-expiration.json
new file mode 100644
index 0000000..d70b763
--- /dev/null
+++ b/doc/examples/kea6/leases-expiration.json
@@ -0,0 +1,85 @@
+// 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 eth0 interface only.
+ "interfaces-config": {
+ "interfaces": [ "eth0" ]
+ },
+
+// We need to specify the database used to store leases. As of
+// June 2022, three database backends are supported: MySQL,
+// PostgreSQL and the in-memory database, Memfile.
+// We'll use memfile because it doesn't require any prior set up.
+// Note, we're setting the maximum number of row read errors to 100,
+// (defaults to 0, meaning unlimited).
+ "lease-database": {
+ "type": "memfile",
+ "lfc-interval": 3600,
+ "max-row-errors": 100
+ },
+
+// 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.
+// If both "flush-reclaimed-timer-wait-time" and "hold-reclaimed-time" are not
+// 0, when the client sends a release message the lease is expired instead of
+// being deleted from lease storage.
+ "expired-leases-processing": {
+ "reclaim-timer-wait-time": 5,
+ "hold-reclaimed-time": 1800,
+ "flush-reclaimed-timer-wait-time": 10,
+ "max-reclaim-leases": 500,
+ "max-reclaim-time": 100,
+ "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": [
+ {
+ "id": 1,
+ "pools": [ { "pool": "2001:db8:1::/80" } ],
+ "subnet": "2001:db8:1::/64",
+ "interface": "eth0"
+ }
+ ],
+
+// The following configures logging. It assumes that messages with at
+// least informational level (info, warn, error and fatal) should be
+// logged to stdout.
+ "loggers": [
+ {
+ "name": "kea-dhcp6",
+ "output-options": [
+ {
+ "output": "stdout"
+ }
+ ],
+ "debuglevel": 0,
+ "severity": "INFO"
+ }
+ ]
+}
+
+}