{ # concat data expression # empty configs are not accepted by Kea "Dhcp4": { "valid-lifetime": 1800, "client-classes": [ # use substring in a reductible match /// match: concat('domain=', suffix(option dhcp.host-name, 3)) { "name": "reductible" }, /// subclass selector 'domain=com' { "name": "sub#reductible#0", /// from: match concat('domain=', suffix(option dhcp.host-name, 3)) /// data: 'domain=com' "test": "concat('domain=', substring(option[12].hex,-3,all)) == 'domain=com'" }, # reduce literals too { "name": "literal", /// from: match if (option dhcp.host-name) = (concat('www.', concat('example.', 'com'))) "test": "option[12].hex == 'www.example.com'" } ], "option-data": [ // # raw // { // "space": "dhcp4", // "name": "host-name", // "code": 12, // "csv-format": false, // "expression": { // "concat": { // "left": "www.", // "right": { // "option": { // "universe": "dhcp", // "name": "domain-name", // "code": 15 // } // } // } // } // } ] } }