From: Tomek Mrugalski Date: Wed, 24 Aug 2016 17:41:31 +0000 (+0200) Subject: [4626] Documentation for fixed fields in classification written. X-Git-Tag: trac4631_base~1^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07e080c8cbf89dd3c0524e363d998255bb532b18;p=thirdparty%2Fkea.git [4626] Documentation for fixed fields in classification written. --- 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