Home | History | Annotate | Line # | Download | only in tests
      1 {
      2   # concat data expression
      3   # empty configs are not accepted by Kea
      4   "Dhcp4": {
      5     "valid-lifetime": 1800,
      6     "client-classes": [
      7       # use substring in a reductible match
      8       /// match: concat('domain=', suffix(option dhcp.host-name, 3))
      9       {
     10         "name": "reductible"
     11       },
     12       /// subclass selector 'domain=com'
     13       {
     14         "name": "sub#reductible#0",
     15         /// from: match concat('domain=', suffix(option dhcp.host-name, 3))
     16         /// data: 'domain=com'
     17         "test": "concat('domain=', substring(option[12].hex,-3,all)) == 'domain=com'"
     18       },
     19       # reduce literals too
     20       {
     21         "name": "literal",
     22         /// from: match if (option dhcp.host-name) = (concat('www.', concat('example.', 'com')))
     23         "test": "option[12].hex == 'www.example.com'"
     24       }
     25     ],
     26     "option-data": [
     27 //    # raw
     28 //    {
     29 //      "space": "dhcp4",
     30 //      "name": "host-name",
     31 //      "code": 12,
     32 //      "csv-format": false,
     33 //      "expression": {
     34 //        "concat": {
     35 //          "left": "www.",
     36 //          "right": {
     37 //            "option": {
     38 //              "universe": "dhcp",
     39 //              "name": "domain-name",
     40 //              "code": 15
     41 //            }
     42 //          }
     43 //        }
     44 //      }
     45 //    }
     46     ]
     47   }
     48 }
     49