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