"pool": "192.0.2.1 - 192.0.2.200",
"user-context": { "info": "what a large pool" }
} ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"user-context": {
"comment": "Our first subnet!"
// This causes Kea to ignore client-id values in this subnet
// and rely exclusively on MAC addresses.
"pools": [ { "pool": "192.0.3.100 - 192.0.3.200" } ],
+ "id": 2,
"subnet": "192.0.3.0/24",
"match-client-id": false
},
{
"pools": [ { "pool": "192.0.4.1 - 192.0.4.254" } ],
+ "id": 3,
"subnet": "192.0.4.0/24",
// Sometimes the relay may use an IPv4 address that does
// This causes Kea to reply to requests for unknown IP addresses
// with a DHCPNAK message.
"pools": [ { "pool": "192.0.5.100 - 192.0.5.200" } ],
+ "id": 4,
"subnet": "192.0.5.0/24",
"authoritative": true
}
"space": "docsis3-v4"
}
],
+ "id": 1,
"subnet": "192.0.2.0/24"
}
]
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id":1 ,
"subnet": "192.0.2.0/24",
"interface": "eth0"
}
// This one is for VoIP devices only.
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"client-class": "VoIP",
"interface": "eth0"
// be assigned to this class.
{
"pools": [ { "pool": "192.0.3.1 - 192.0.3.200" } ],
+ "id": 2,
"subnet": "192.0.3.0/24",
"reservations": [
{
} ],
"subnet": "192.0.4.0/23",
+ "id": 3,
"interface": "eth1"
}
],
{
// This one is for VoIP devices only.
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"client-class": "VoIP",
"interface": "eth0"
// be assigned to this class.
{
"pools": [ { "pool": "192.0.3.1 - 192.0.3.200" } ],
+ "id": 2,
"subnet": "192.0.3.0/24",
"reservations": [
{
{
"pool": "192.0.5.1 - 192.0.5.200"
} ],
+ "id": 3,
"subnet": "192.0.4.0/23",
"interface": "eth1"
},
"client-class": "KNOWN"
}
],
+ "id": 4,
"subnet": "192.0.8.0/23",
"reservations": [
{ "hw-address": "00:00:00:11:22:33", "hostname": "h1" },
"valid-lifetime": 4000,
"subnet4": [
- { "subnet": "10.10.10.0/24",
+ {
+ "id": 100,
+ "subnet": "10.10.10.0/24",
// Don't forget the "4o6-" before "interface" here!
"4o6-interface": "eth0",
"4o6-subnet": "2001:db8:1:1::/64",
// here. We tell Kea that it is directly available over local interface.
"subnet4": [
{
+ "id": 1,
"interface": "eth0",
"pools": [
{
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"interface": "eth0"
}
// This example contains a single subnet declaration.
"subnet4": [
{
+ // Subnet id.
+ "id": 1,
+
// Subnet prefix.
"subnet": "192.0.3.0/24",
// This example contains a single subnet declaration.
"subnet4": [
{
+ // Subnet id.
+ "id": 1,
+
// Subnet prefix.
"subnet": "192.0.3.0/24",
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"interface": "eth0"
}
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"interface": "eth0"
}
// for the pool.
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"option-data": [
// When specifying options, you typically need to specify
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"interface": "eth0",
// This directive tells Kea that reservations may be made both in-pool
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24"
},
{
// This particular subnet has match-client-id value changed.
"pools": [ { "pool": "192.0.3.100 - 192.0.3.200" } ],
+ "id": 2,
"subnet": "192.0.3.0/24",
"match-client-id": false
},
{
"pools": [ { "pool": "192.0.4.1 - 192.0.4.254" } ],
+ "id": 3,
"subnet": "192.0.4.0/24"
} ],
"subnet4": [
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
+ "id": 1,
"subnet": "192.0.2.0/24",
"interface": "eth0"
}
"pool": "192.0.2.50-192.0.2.50"
}
],
- "subnet": "192.0.2.0/24"
+ "subnet": "192.0.2.0/24",
+ "id": 1
}
]
}
// here. We tell Kea that it is directly available over local interface.
"subnet4": [
{
+ "id": 1,
"interface": "eth0",
"pools": [
{
{
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
"subnet": "192.0.2.0/24",
- "interface": "eth0"
+ "interface": "eth0",
+ "id": 1
}
],
}
], // end of pools
+ "id": 1,
"subnet": "2001:db8:1::/64",
"interface": "eth0",
"space": "docsis3-v6"
}
],
- "subnet": "2001:db8:d0c5:15::/64"
+ "subnet": "2001:db8:d0c5:15::/64",
+ "id": 1
}
]
}
"subnet6": [
{
"pools": [ { "pool": "2001:db8:1::/80" } ],
+ "id": 1,
"subnet": "2001:db8:1::/64",
"interface": "eth0"
}
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"client-class": "cable-modems",
// DUID 01:02:03:04:05:0A:0B:0C:0D:0E. This client will always be assigned
// to this class.
{
+ "id": 2,
"pools": [ { "pool": "2001:db8:2::/80" } ],
"subnet": "2001:db8:2::/64",
"reservations": [
// The following subnet contains a pool with a class constraint: only
// clients which belong to the class are allowed to use this pool.
{
+ "id": 3,
"pools": [
{
"pool": "2001:db8:4::/80",
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"client-class": "cable-modems",
// DUID 01:02:03:04:05:0A:0B:0C:0D:0E. This client will always be assigned
// to this class.
{
+ "id": 2,
"pools": [ { "pool": "2001:db8:2::/80" } ],
"subnet": "2001:db8:2::/64",
"reservations": [
// The following subnet contains a pool with a class constraint: only
// clients which belong to the class are allowed to use this pool.
{
+ "id": 3,
"pools": [
{
"pool": "2001:db8:4::/80",
// This happens after subnet selection and before address allocation
// from pools.
{
+ "id": 4,
"pools": [
{
"pool": "2001:db8:8::/64",
"rebind-timer": 2000,
"subnet6": [
- { "subnet": "2001:db8:1:1::/64",
+ { "id": 1,
+ "subnet": "2001:db8:1:1::/64",
"interface": "eth0",
"pools": [ { "pool": "2001:db8:1:1::1:0/112" } ] }
],
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "eth0"
}
]
}
-}
\ No newline at end of file
+}
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "eth0"
// are the same as in the regular scenario.
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8::/47",
"pools": [ { "pool": "2001:db8::/64" } ],
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8:1::/64",
"pools": [
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8:1::/64",
"pools": [
// Define a single subnet.
"subnet6": [
{
+ "id": 1,
"pools": [
{
"pool": "2001:db8:1::/80",
],
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8::/64"
}
]
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "eth0"
]
}
],
+ "id": 1,
"subnet": "2001:db8:1::/64",
"interface": "eth0"
}
// id will be used to search for the reservations within the database.
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8:1::/48",
"pools": [ { "pool": "2001:db8:1::/80" } ],
// id will be used to search for the reservations within the database.
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8:1::/48",
"pools": [ { "pool": "2001:db8:1::/80" } ],
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8:1::/48",
// This directive tells Kea that reservations may be made both in-pool
// least subnet and pool entries.
"subnet6": [
{ "pools": [ { "pool": "2001:db8:1::/80" } ],
- "subnet": "2001:db8:1::/64" },
+ "id": 1, "subnet": "2001:db8:1::/64" },
{ "pools": [ { "pool": "2001:db8:2::/80" } ],
- "subnet": "2001:db8:2::/64" },
+ "id": 2, "subnet": "2001:db8:2::/64" },
{ "pools": [ { "pool": "2001:db8:3::/80" } ],
- "subnet": "2001:db8:3::/64" },
+ "id": 3, "subnet": "2001:db8:3::/64" },
{ "pools": [ { "pool": "2001:db8:4::/80" } ],
- "subnet": "2001:db8:4::/64" } ],
+ "id": 4, "subnet": "2001:db8:4::/64" } ],
// The following configures logging. It assumes that messages with at
// least informational level (info, warn, error and fatal) should be
// This is regular subnet. It's not part of any shared-network.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:2::/80" } ],
"subnet": "2001:db8:2::/64",
"interface": "eth0"
// are out-of-pool.
// Ignored when reservations-in-subnet is false.
"reservations-out-of-pool": false,
+ "id": 2,
"subnet": "2001:db8:1::/64",
"pools": [ { "pool": "2001:db8:1:0:abcd::/80" } ],
"valid-lifetime": 40
// are out-of-pool.
// Ignored when reservations-in-subnet is false.
"reservations-out-of-pool": false,
+ "id": 3,
"subnet": "3000::/16",
"valid-lifetime": 40
}
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "eth0"
// least subnet and pool entries.
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "eth0",
"subnet6": [
{
// This subnet use default calculation
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [ { "pool": "2001:db8:1::/80" } ]
},
{
// This subnet will use explicit values. Explicit
// values override calculation.
+ "id": 2,
"subnet": "2001:db8:2::/64",
"pools": [ { "pool": "2001:db8:2::/80" } ],
"renew-timer": 1000,
},
{
// This subnet will use custom percents
+ "id": 3,
"subnet": "2001:db8:3::/64",
"pools": [ { "pool": "2001:db8:3::/80" } ],
"t1-percent": .45,
"subnet6": [
{
"pools": [ { "pool": "2001:db8:1::/80" } ],
+ "id": 1,
"subnet": "2001:db8:1::/64",
"interface": "eth0"
}
],
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.10 - 192.0.2.20" } ],
"client-class": "Client_foo"
],
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [ { "pool": "2001:db8:1::-2001:db8:1::ffff" } ],
"client-class": "Client_enterprise"
],
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
],
"subnet6": [
{
+ "id": 1,
+
"subnet": "2001:db8:1::/64",
"pools": [
"rebind-timer": 2000,
"subnet4": [{
"pools": [ { "pool": "192.0.2.1-192.0.2.200" } ],
- "subnet": "192.0.2.0/24"
+ "subnet": "192.0.2.0/24",
+ "id": 1
}],
# Now loggers are inside the DHCPv4 object.
"Dhcp4": {
"subnet4": [{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [{ "pool": "192.0.2.10 - 192.0.2.20" }],
"comment": "second floor"
"Dhcp4": {
"subnet4": [{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [{ "pool": "192.0.2.10 - 192.0.2.20" }],
"user-context": {
# Finally, we list the subnets from which we will be leasing addresses.
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
{
"subnet4": [
{
+ "id": 1,
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
"subnet": "192.0.2.0/24"
},
{
+ "id": 2,
"pools": [ { "pool": "192.0.3.100 - 192.0.3.200" } ],
"subnet": "192.0.3.0/24"
},
{
+ "id": 3,
"pools": [ { "pool": "192.0.4.1 - 192.0.4.254" } ],
"subnet": "192.0.4.0/24"
}
],
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"reservations": [
{
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"option-data": [
{
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.10 - 192.0.2.20" } ],
"client-class": "VENDOR_CLASS_docsis3.0"
],
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.10 - 192.0.2.20" } ],
"client-class": "Client_foo"
"match-client-id": true,
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.10.0/24",
"pools": [ { "pool": "192.0.2.23-192.0.2.87" } ],
"match-client-id": false
},
{
+ "id": 1,
"subnet": "10.0.0.0/8",
"pools": [ { "pool": "10.0.0.23-10.0.2.99" } ]
}
"subnet4": [
{
+ "id": 1,
"subnet": "10.10.10.0/24",
"4o6-interface": "eno33554984",
"4o6-subnet": "2001:db8:1:1::/64",
{
"subnet4": [
{
+ "id": 1,
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
"subnet": "192.0.2.0/24",
"option-data": [
{
"subnet4": [
{
+ "id": 1,
"pools": [ { "pool": "192.0.2.1 - 192.0.2.200" } ],
"subnet": "192.0.2.0/24",
"interface": "eth0",
{
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/24",
"pools": [ { "pool": "10.0.0.10-10.0.0.100" } ],
"ddns-qualifying-suffix": "example.isc.org.",
{
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/24",
"pools": [ { "pool": "10.0.0.10-10.0.0.100" } ],
"reservations": [
}
]
}
- ]
+ ],
+ ...
}
- ]
+ ],
+ ...
}
Vendor-specific options can be reserved in a similar manner:
}
]
}
- ]
+ ],
+ ...
}
- ]
+ ],
+ ...
}
Options defined at the host level have the highest priority. In other words,
"server-hostname": "server-hostname.example.org",
"boot-file-name": "/tmp/bootfile.efi"
}
- ]
+ ],
+ ...
}
- ]
+ ],
+ ...
}
Note that those parameters can be specified in combination with other
],
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/24",
"pools": [ { "pool": "10.0.0.10-10.0.0.100" } ],
"reservations": [
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"pools": [
{
"pool": "192.0.2.10-192.0.2.100"
],
"subnet4": [
{
+ "id": 1,
"pools": [
{
"pool": "192.0.2.10-192.0.2.100"
{
"reservations-global": false,
"reservations-in-subnet": false,
- "subnet": "192.0.2.0/24"
+ "subnet": "192.0.2.0/24",
+ "id": 1
}
]
}
"pool": "192.0.2.10-192.0.2.100"
}
],
- "subnet": "192.0.2.0/24"
+ "subnet": "192.0.2.0/24",
+ "id": 1
}
]
}
"valid-lifetime": 600,
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/24",
# It is replaced by the "reservations-global",
# "reservations-in-subnet", and "reservations-out-of-pool"
],
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"reservations": [
{
{
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
]
},
{
+ "id": 2,
"subnet": "192.0.3.0/24",
"pools": [
{
"ip-reservations-unique": false,
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"reservations": [
{
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
# There are two subnets in this example.
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/8",
"pools": [ { "pool": "10.0.0.1 - 10.0.0.99" } ]
},
{
+ "id": 2,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.100 - 192.0.2.199" } ]
}
# This is a regular subnet. It is not part of any shared network.
"subnet4": [
{
+ "id": 3,
"subnet": "192.0.3.0/24",
"pools": [ { "pool": "192.0.3.1 - 192.0.3.200" } ],
"interface": "eth1"
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/8",
"pools": [ { "pool": "10.0.0.1 - 10.0.0.99" } ],
} ]
},
{
+ "id": 2,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.100 - 192.0.2.199" } ],
"name": "office-floor-2",
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/8",
"pools": [ { "pool": "10.0.0.1 - 10.0.0.99" } ],
"interface": "eth0"
},
{
+ "id": 2,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.100 - 192.0.2.199" } ],
"subnet4": [
{
+ "id": 1,
"subnet": "10.0.0.0/8",
"pools": [ { "pool": "10.0.0.1 - 10.0.0.99" } ]
},
{
+ "id": 2,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.100 - 192.0.2.199" } ]
}
"name": "kakapo",
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/26",
"relay": {
"ip-addresses": [ "192.1.1.1" ]
"pools": [ { "pool": "192.0.2.63 - 192.0.2.63" } ]
},
{
+ "id": 2,
"subnet": "10.0.0.0/24",
"relay": {
# Specifying a different relay address for this
},
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/26",
"pools": [ { "pool": "192.0.2.63 - 192.0.2.63" } ]
},
{
+ "id": 2,
"subnet": "10.0.0.0/24",
"pools": [ { "pool": "10.0.0.16 - 10.0.0.16" } ]
}
"interface": "eth0",
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/26",
"pools": [ { "pool": "192.0.2.1 - 192.0.2.63" } ]
},
{
+ "id": 2,
"subnet": "10.0.0.0/24",
"pools": [ { "pool": "10.0.0.2 - 10.0.0.250" } ],
"client-class": "b-devices"
"interface": "eth0",
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/26",
"pools": [ { "pool": "192.0.2.1 - 192.0.2.63" } ],
"client-class": "a-devices"
},
{
+ "id": 2,
"subnet": "10.0.0.0/24",
"pools": [ { "pool": "10.0.0.2 - 10.0.0.250" } ],
"client-class": "b-devices"
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.10 - 192.0.2.20" } ],
"relay": {
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"subnet": "10.1.1.0/24",
"pools": [ { "pool": "10.1.1.2 - 10.1.1.20" } ],
"client-class": "docsis3.0",
}
},
{
+ "id": 2,
"subnet": "192.0.2.0/24",
"pools": [ { "pool": "192.0.2.10 - 192.0.2.20" } ],
"relay": {
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
# Finally, we list the subnets from which we will be leasing addresses.
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [
{
{
"subnet6": [
{
+ "id": 1,
"pools": [ { "pool": "2001:db8:1::/112" } ],
"subnet": "2001:db8:1::/64"
},
{
+ "id": 2,
"pools": [ { "pool": "2001:db8:2::1-2001:db8:2::ffff" } ],
"subnet": "2001:db8:2::/64"
}
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [
{ "pool": "2001:db8:1::1-2001:db8:1::ffff" }
]
},
{
+ "id": 2,
"subnet": "2001:db8:2::/64",
"pools": [
{ "pool": "2001:db8:2::/64" }
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:d8b:1::/64",
"pd-pools": [
{
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pd-pools": [
{
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:beef::/48",
"pools": [
{
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:beef::/48",
"rapid-commit": true,
"pools": [
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:beef::/48",
"pools": [
{
],
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [ { "pool": "2001:db8:1::-2001:db8:1::ffff" } ],
"client-class": "Client_enterprise"
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [
{
"rebind-timer": 2000,
"subnet6": [ {
+ "id": 1,
"subnet": "2001:db8:1:1::/64",
"interface": "eno33554984",
"pools": [ { "pool": "2001:db8:1:1::1:0/112" } ]
{
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pools": [ { "pool": "2001:db8:1::/80" } ],
"pd-pools": [
{
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pools": [ { "pool": "2001:db8:1::/80" } ],
"ddns-qualifying-suffix": "example.isc.org.",
{
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pools": [ { "pool": "2001:db8:1::/80" } ],
"reservations": [
}
],
"subnet6": [
- { "pools": [ { "pool": "2001:db8:1::/64" } ],
+ {
+ "id": 1,
+ "pools": [ { "pool": "2001:db8:1::/64" } ],
"subnet": "2001:db8:1::/48",
"reservations": [
{
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"pools": [
{
"pool": "2001:db8:1::-2001:db8:1::100"
],
"subnet6": [
{
+ "id": 1,
"pools": [
{
"pool": "2001:db8:1::-2001:db8:1::100"
{
"reservations-global": false,
"reservations-in-subnet": false,
- "subnet": "2001:db8:1::/64"
+ "subnet": "2001:db8:1::/64",
+ "id": 1
}
]
}
"pool": "2001:db8:1::-2001:db8:1::100"
}
],
- "subnet": "2001:db8:1::/64"
+ "subnet": "2001:db8:1::/64",
+ "id": 1
}
]
}
],
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"reservations": [
{
{
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [
{
]
},
{
+ "id": 2,
"subnet": "2001:db8:2::/64",
"pools": [
{
"ip-reservations-unique": false,
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"reservations": [
{
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pools": [
{
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pools": [
{
# There are two subnets in this example.
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8::/48",
"pools": [ { "pool": "2001:db8::1 - 2001:db8::ffff" } ]
},
{
+ "id": 2,
"subnet": "3ffe:ffe::/64",
"pools": [ { "pool": "3ffe:ffe::/64" } ]
}
# This is a regular subnet. It is not part of any shared-network.
"subnet6": [
{
+ "id": 3,
"subnet": "2001:db9::/48",
"pools": [ { "pool": "2001:db9::/64" } ],
"relay": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/48",
"pools": [ { "pool": "2001:db8:1::1 - 2001:db8:1::ffff" } ],
} ]
},
{
+ "id": 2,
"subnet": "2001:db8:2::/48",
"pools": [ { "pool": "2001:db8:2::1 - 2001:db8:2::ffff" } ],
"name": "office-floor-2",
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8::/64",
"pools": [ { "pool": "2001:db8::1 - 2001:db8::ffff" } ],
"interface": "eth0"
},
{
+ "id": 2,
"subnet": "3ffe:abcd::/64",
"pools": [ { "pool": "3ffe:abcd::1 - 3ffe:abcd::ffff" } ],
...
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8::/64",
"pools": [ { "pool": "2001:db8::1 - 2001:db8::ffff" } ]
},
{
+ "id": 2,
"subnet": "3ffe:abcd::/64",
"pools": [ { "pool": "3ffe:abcd::1 - 3ffe:abcd::ffff" } ]
}
"name": "kakapo",
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8::/64",
"relay": {
"ip-addresses": [ "2001:db8::1234" ]
"pools": [ { "pool": "2001:db8::1 - 2001:db8::ffff" } ]
},
{
+ "id": 2,
"subnet": "3ffe:abcd::/64",
"pools": [ { "pool": "3ffe:abcd::1 - 3ffe:abcd::ffff" } ],
"relay": {
},
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8::/64",
"pools": [ { "pool": "2001:db8::1 - 2001:db8::ffff" } ]
},
{
+ "id": 2,
"subnet": "3ffe:abcd::/64",
"pools": [ { "pool": "3ffe:abcd::1 - 3ffe:abcd::ffff" } ]
}
},
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [ { "pool": "2001:db8:1::20 - 2001:db8:1::ff" } ]
},
{
+ "id": 2,
"subnet": "2001:db8:3::/64",
"pools": [ { "pool": "2001:db8:3::20 - 2001:db8:3::ff" } ],
"client-class": "b-devices"
},
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [ { "pool": "2001:db8:1::20 - 2001:db8:1::ff" } ],
"client-class": "a-devices"
},
{
+ "id": 2,
"subnet": "2001:db8:3::/64",
"pools": [ { "pool": "2001:db8:3::20 - 2001:db8:3::ff" } ],
"client-class": "b-devices"
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [
{
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "3000::/64",
"pools": [
{ "pool": "3000::2 - 3000::ffff" }
}
},
{
+ "id": 2,
"subnet": "2001:db8:1::/64",
"pools": [
{
"lw4over6-bind-prefix-len": 56
}
} ],
+ "id": 1,
"subnet": "2001:db8::/32",
# This is a subnet-specific context. Any type of
}],
"subnet4": [{
+ "id": 1,
"subnet": "192.0.3.0/24",
"pools": [{
"pool": "192.0.3.100 - 192.0.3.250"
}],
"subnet4": [{
+ "id": 1,
"subnet": "192.0.3.0/24",
"pools": [{
"pool": "192.0.3.100 - 192.0.3.250"
}],
"subnet4": [{
+ "id": 1,
"subnet": "192.0.3.0/24",
"pools": [{
"pool": "192.0.3.100 - 192.0.3.150",
}],
"subnet4": [{
+ "id": 1,
"subnet": "192.0.3.0/24",
"pools": [{
"pool": "192.0.3.100 - 192.0.3.125",
}],
"subnet4": [{
+ "id": 1,
"subnet": "192.0.3.0/24",
"pools": [{
"pool": "192.0.3.100 - 192.0.3.250",
}],
"subnet4": [{
+ "id": 1,
"subnet": "192.0.3.0/24",
"pools": [{
"pool": "192.0.3.100 - 192.0.3.250"
"Dhcp4": {
"subnet4": [
{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [
{
"Dhcp6": {
"subnet6": [
{
+ "id": 1,
"subnet": "2001:db8:1::/64",
"pools": [
{
::
"subnet4": [{
+ "id": 1,
"subnet": "192.0.2.0/24",
"pools": [{
"pool": "192.0.2.10 - 192.0.2.20"