summaryrefslogtreecommitdiff
path: root/keama/tests/subclass4.out
blob: 7113240a9aced3185fbb5194650b0031ca42ab6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
{
  # subclass declaration config
  # authoritative is mandatory
  "Dhcp4": {
    "option-def": [
      # options
      {
        "space": "dhcp4",
        "name": "mysystem",
        "code": 250,
        "type": "string"
      },
      {
        "space": "dhcp4",
        "name": "myversion",
        "code": 251,
        "type": "uint16"
      }
    ],
    "client-classes": [
      # superclass declaration
      {
        "name": "foobar",
//      "spawning": false,
//      "submatch": {
//        "option": {
//          "universe": "dhcp",
//          "name": "mysystem"
//        }
//      },
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "1"
          }
        ]
      },
      # simple subclass declaration
      /// subclass selector 'version1'
      {
        "name": "sub#foobar#0",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "1"
          }
        ],
        /// from: match option dhcp.mysystem
        /// data: 'version1'
        "test": "option[250].hex == 'version1'"
      },
      # option setting subclass declaration
      /// subclass selector 'version2'
      {
        "name": "sub#foobar#1",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "2"
          }
        ],
        /// from: match option dhcp.mysystem
        /// data: 'version2'
        "test": "option[250].hex == 'version2'"
      },
      # complex subclass declaration
      /// subclass selector 'version3'
      {
        "name": "sub#foobar#2",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "3"
          }
        ],
        "next-server": "192.168.0.1",
        /// from: match option dhcp.mysystem
        /// data: 'version3'
        "test": "option[250].hex == 'version3'"
      }
    ]
  }
}