xref: /netbsd-src/external/mpl/dhcp/dist/keama/tests/suffixdx4.out (revision eceb233b9bd0dfebb902ed73b531ae6964fa3f9b)
1{
2  # suffix data expression
3  # in fact ISC DHCP suffix can be reduced into Kea substring
4  # empty configs are not accepted by Kea
5  "Dhcp4": {
6    "valid-lifetime": 1800,
7    "client-classes": [
8      # use suffix in a reductible match
9      /// match: suffix(option dhcp.host-name, 3)
10      {
11        "name": "reductible"
12      },
13      /// subclass selector 'com'
14      {
15        "name": "sub#reductible#0",
16        "option-data": [
17          {
18            "space": "dhcp4",
19            "name": "domain-search",
20            "code": 119,
21//          "original-data": "\"example.com\"",
22            "data": "example.com"
23          }
24        ],
25        /// from: match suffix(option dhcp.host-name, 3)
26        /// data: 'com'
27        "test": "substring(option[12].hex,-3,all) == 'com'"
28      },
29      /// subclass selector 'org'
30      {
31        "name": "sub#reductible#1",
32        "option-data": [
33          {
34            "space": "dhcp4",
35            "name": "domain-search",
36            "code": 119,
37//          "original-data": "\"example.org\"",
38            "data": "example.org"
39          }
40        ],
41        /// from: match suffix(option dhcp.host-name, 3)
42        /// data: 'org'
43        "test": "substring(option[12].hex,-3,all) == 'org'"
44      },
45      # reduce literals too
46      {
47        "name": "literal",
48        /// from: match if (option dhcp.domain-name) = (suffix('www.example.com', 3))
49        "test": "option[15].hex == '.example.com'"
50      }
51    ],
52    "option-data": [
53//    # raw
54//    {
55//      "space": "dhcp4",
56//      "name": "domain-name",
57//      "code": 15,
58//      "csv-format": false,
59//      "expression": {
60//        "suffix": {
61//          "expression": {
62//            "option": {
63//              "universe": "dhcp",
64//              "name": "domain-name",
65//              "code": 15
66//            }
67//          },
68//          "length": 3
69//        }
70//      }
71//    }
72    ]
73  }
74}
75