From 07e080c8cbf89dd3c0524e363d998255bb532b18 Mon Sep 17 00:00:00 2001 From: Tomek Mrugalski Date: Wed, 24 Aug 2016 19:41:31 +0200 Subject: [PATCH] [4626] Documentation for fixed fields in classification written. --- doc/guide/dhcp4-srv.xml | 50 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml index e3bbab5b91..f4189cfef4 100644 --- a/doc/guide/dhcp4-srv.xml +++ b/doc/guide/dhcp4-srv.xml @@ -1638,9 +1638,7 @@ It is merely echoed by the server
Client Classification in DHCPv4 - The DHCPv4 server includes support for client classification. At the - current time the capabilities of the classification process are limited - but it is expected they will be expanded in the future. For a deeper + The DHCPv4 server includes support for client classification. For a deeper discussion of the classification process see . @@ -1690,6 +1688,52 @@ It is merely echoed by the server clients that do not meet class criteria to be denied any service altogether. +
+ Setting fixed fields in Classification + + It is possible to specify that clients belonging to a particular class + should receive packets with specific values in certain fixed fields. + In particular, three fixed fields are supported: + next-server (that conveys an IPv4 address, which is + set in the siaddr field), server-hostname (that + conveys a server hostname, can be up to 64 bytes long and will be sent + in the sname field) and boot-file-name (that + conveys the configuration file, can be up to 128 bytes long and will + be sent using file field). + + + Obviously, there are many ways to assign clients to specific classes, + but for the iPXE clients the client architecture type option (code 93, + defined in RFC4578, Section 2.1) seems to be particularly suited to + make the distinction. The following example checks if the client + identifies itself as PXE device with architecture EFI x86-64, and + sets several fields if it does. See Section 2.1 of the RFC4578 or + documentation of your client for specific values. + + +"Dhcp4": { + "client-classes": [ + { + "name": "ipxe_efi_x64", + "test": "option[93].hex == 0x0009", + "next-server": "192.0.2.254", + "server-hostname": "hal9000", + "boot-file-name": "/dev/null" + }, + ... + ], + ... + } + + + If there are multiple classes defined and incoming packet is matched + to multiple classes, then the classes are processed in the order in + which they're defined. In this case the last matching class + "overwrites" any values that may have been set by earlier matched + classes. + +
+
Using Vendor Class Information in Classification -- 2.47.2