Commit 008208dc authored by Wlodzimierz Wencel's avatar Wlodzimierz Wencel

[master] documentation and examples updated for flex-id hook

parent 2d2bc63d
......@@ -31,8 +31,9 @@
// Kea supports reservations by several different types of identifiers:
// hw-address (hardware/MAC address of the client), duid (DUID inserted by the
// client), client-id (client identifier inserted by the client) and circuit-id
// (circuit identifier inserted by the relay agent). When told to do so, Kea can
// client), client-id (client identifier inserted by the client), circuit-id
// (circuit identifier inserted by the relay agent) and flex-id (flexible identifier
// available when flex_id hook library is loaded). When told to do so, Kea can
// check for all of those identifier types, but it takes a costly database lookup
// to do so. It is therefore useful from a performance perspective to use only
// the reservation types that are actually used in a given network.
......@@ -40,7 +41,8 @@
// The example below is not optimal from a performance perspective, but it
// nicely showcases the host reservation capabilities. Please use the minimum
// set of identifier types used in your network.
"host-reservation-identifiers": [ "circuit-id", "hw-address", "duid", "client-id" ],
"host-reservation-identifiers": [ "circuit-id", "hw-address", "duid",
"client-id", "flex-id" ],
// Define a subnet with four reservations. Some of the reservations belong
// to the dynamic pool. Kea is able to handle this case, but it is not
......
......@@ -27,12 +27,13 @@
"renew-timer": 1000,
"rebind-timer": 2000,
// Kea supports two types of identifiers in DHCPv6: hw-address (hardware/MAC address
// of the client) and duid (DUID inserted by the client). When told to do so, Kea can
// Kea supports three types of identifiers in DHCPv6: hw-address (hardware/MAC address
// of the client), duid (DUID inserted by the client) and flex-id (flexible identifier
// available when flex_id hook library is loaded) When told to do so, Kea can
// check for each of these identifier types, but it takes a costly database lookup
// to do so. It is therefore useful from a performance perspective to use only
// the reservation types that are actually used in a given network.
"host-reservation-identifiers": [ "duid", "hw-address" ],
"host-reservation-identifiers": [ "duid", "hw-address", "flex-id" ],
// The following list defines subnets. Subnet, pools and interface definitions
// are the same as in the regular scenario, without host reservations.
......
......@@ -630,8 +630,9 @@ link address: 3001::1, hop count: 1, identified by remote-id:
only the first 6 bytes of the interface-id are interesting, because
remaining bytes are either randomly changed or not unique between
devices. Therefore the customer decided to use first 6 bytes of the
interface-id option inserted by the relay agent. This could be
achieved by using the following configuration:
interface-id option inserted by the relay agent. After adding "flex-id"
host-reservation-identifiers goal can be achieved by using the
following configuration:
<screen>
"Dhcp6": {
"subnet6": [{ ..., // subnet definition starts here
......@@ -640,11 +641,12 @@ link address: 3001::1, hop count: 1, identified by remote-id:
"ip-addresses": [ "2001:db8::1" ]
],
}], // end of subnet definitions
"host-reservation-identifiers": ["duid", "flex-id"], // add "flex-id" to reservation identifiers
"hooks-libraries": [
{
"library": "/path/libdhcp_flex_id.so",
"parameters": {
"identifier-expression": "<userinput>substring(relay6[0].option[18],0,8)</userinput>"
"identifier-expression": "<userinput>substring(relay6[0].option[18].hex,0,8)</userinput>"
}
},
...
......@@ -672,6 +674,26 @@ link address: 3001::1, hop count: 1, identified by remote-id:
The former is more convenient for printable characters, while hex
string values are more convenient for non-printable characters.
</para>
<screen>
"Dhcp6": {
"subnet6": [{ ..., // subnet definition starts here
"reservations": [
<userinput>"flex-id": "01:02:03:04:05:06"</userinput>, // value of the first 8 bytes of the interface-id
"ip-addresses": [ "2001:db8::1" ]
],
}], // end of subnet definitions
"host-reservation-identifiers": ["duid", "flex-id"], // add "flex-id" to reservation identifiers
"hooks-libraries": [
{
"library": "/path/libdhcp_flex_id.so",
"parameters": {
"identifier-expression": "<userinput>vendor[4491].option[1026].hex</userinput>"
}
},
...
]
}
</screen>
</section>
<section id="host-cmds">
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment