dhcp6.spec 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. {
  2. "module_spec": {
  3. "module_name": "Dhcp6",
  4. "module_description": "DHCPv6 server daemon",
  5. "config_data": [
  6. {
  7. "item_name": "hooks-libraries",
  8. "item_type": "list",
  9. "item_optional": true,
  10. "item_default": [],
  11. "list_item_spec":
  12. {
  13. "item_name": "hooks-library",
  14. "item_type": "string",
  15. "item_optional": false,
  16. "item_default": ""
  17. }
  18. },
  19. { "item_name": "interfaces",
  20. "item_type": "list",
  21. "item_optional": false,
  22. "item_default": [ "*" ],
  23. "list_item_spec":
  24. {
  25. "item_name": "interface_name",
  26. "item_type": "string",
  27. "item_optional": false,
  28. "item_default": "*"
  29. }
  30. } ,
  31. { "item_name": "renew-timer",
  32. "item_type": "integer",
  33. "item_optional": false,
  34. "item_default": 1000
  35. },
  36. { "item_name": "rebind-timer",
  37. "item_type": "integer",
  38. "item_optional": false,
  39. "item_default": 2000
  40. },
  41. { "item_name": "preferred-lifetime",
  42. "item_type": "integer",
  43. "item_optional": false,
  44. "item_default": 3000
  45. },
  46. { "item_name": "valid-lifetime",
  47. "item_type": "integer",
  48. "item_optional": false,
  49. "item_default": 4000
  50. },
  51. { "item_name": "option-def",
  52. "item_type": "list",
  53. "item_optional": false,
  54. "item_default": [],
  55. "list_item_spec":
  56. {
  57. "item_name": "single-option-def",
  58. "item_type": "map",
  59. "item_optional": false,
  60. "item_default": {},
  61. "map_item_spec": [
  62. {
  63. "item_name": "name",
  64. "item_type": "string",
  65. "item_optional": false,
  66. "item_default": ""
  67. },
  68. { "item_name": "code",
  69. "item_type": "integer",
  70. "item_optional": false,
  71. "item_default": 0
  72. },
  73. { "item_name": "type",
  74. "item_type": "string",
  75. "item_optional": false,
  76. "item_default": ""
  77. },
  78. { "item_name": "array",
  79. "item_type": "boolean",
  80. "item_optional": false,
  81. "item_default": False
  82. },
  83. { "item_name": "record-types",
  84. "item_type": "string",
  85. "item_optional": false,
  86. "item_default": ""
  87. },
  88. { "item_name": "space",
  89. "item_type": "string",
  90. "item_optional": false,
  91. "item_default": ""
  92. },
  93. { "item_name": "encapsulate",
  94. "item_type": "string",
  95. "item_optional": false,
  96. "item_default": ""
  97. } ]
  98. }
  99. },
  100. { "item_name": "option-data",
  101. "item_type": "list",
  102. "item_optional": false,
  103. "item_default": [],
  104. "list_item_spec":
  105. {
  106. "item_name": "single-option-data",
  107. "item_type": "map",
  108. "item_optional": false,
  109. "item_default": {},
  110. "map_item_spec": [
  111. {
  112. "item_name": "name",
  113. "item_type": "string",
  114. "item_optional": false,
  115. "item_default": ""
  116. },
  117. { "item_name": "code",
  118. "item_type": "integer",
  119. "item_optional": false,
  120. "item_default": 0
  121. },
  122. { "item_name": "data",
  123. "item_type": "string",
  124. "item_optional": false,
  125. "item_default": ""
  126. },
  127. { "item_name": "csv-format",
  128. "item_type": "boolean",
  129. "item_optional": false,
  130. "item_default": False
  131. },
  132. { "item_name": "space",
  133. "item_type": "string",
  134. "item_optional": false,
  135. "item_default": "dhcp6"
  136. } ]
  137. }
  138. },
  139. { "item_name": "lease-database",
  140. "item_type": "map",
  141. "item_optional": false,
  142. "item_default": {"type": "memfile"},
  143. "map_item_spec": [
  144. {
  145. "item_name": "type",
  146. "item_type": "string",
  147. "item_optional": false,
  148. "item_default": ""
  149. },
  150. {
  151. "item_name": "name",
  152. "item_type": "string",
  153. "item_optional": true,
  154. "item_default": ""
  155. },
  156. {
  157. "item_name": "user",
  158. "item_type": "string",
  159. "item_optional": true,
  160. "item_default": ""
  161. },
  162. {
  163. "item_name": "host",
  164. "item_type": "string",
  165. "item_optional": true,
  166. "item_default": ""
  167. },
  168. {
  169. "item_name": "password",
  170. "item_type": "string",
  171. "item_optional": true,
  172. "item_default": ""
  173. }
  174. ]
  175. },
  176. { "item_name": "subnet6",
  177. "item_type": "list",
  178. "item_optional": false,
  179. "item_default": [],
  180. "list_item_spec":
  181. {
  182. "item_name": "single-subnet6",
  183. "item_type": "map",
  184. "item_optional": false,
  185. "item_default": {},
  186. "map_item_spec": [
  187. { "item_name": "subnet",
  188. "item_type": "string",
  189. "item_optional": false,
  190. "item_default": ""
  191. },
  192. { "item_name": "interface",
  193. "item_type": "string",
  194. "item_optional": false,
  195. "item_default": ""
  196. },
  197. { "item_name": "interface-id",
  198. "item_type": "string",
  199. "item_optional": false,
  200. "item_default": ""
  201. },
  202. { "item_name": "renew-timer",
  203. "item_type": "integer",
  204. "item_optional": false,
  205. "item_default": 1000
  206. },
  207. { "item_name": "rebind-timer",
  208. "item_type": "integer",
  209. "item_optional": false,
  210. "item_default": 2000
  211. },
  212. { "item_name": "preferred-lifetime",
  213. "item_type": "integer",
  214. "item_optional": false,
  215. "item_default": 3000
  216. },
  217. { "item_name": "valid-lifetime",
  218. "item_type": "integer",
  219. "item_optional": false,
  220. "item_default": 7200
  221. },
  222. { "item_name": "pool",
  223. "item_type": "list",
  224. "item_optional": false,
  225. "item_default": [],
  226. "list_item_spec":
  227. {
  228. "item_name": "type",
  229. "item_type": "string",
  230. "item_optional": false,
  231. "item_default": ""
  232. }
  233. },
  234. { "item_name": "client-class",
  235. "item_type": "string",
  236. "item_optional": false,
  237. "item_default": "",
  238. "item_description" : "Restricts access to this subnet to specified client class (if defined)"
  239. },
  240. { "item_name": "relay",
  241. "item_type": "map",
  242. "item_optional": false,
  243. "item_default": {},
  244. "item_description" : "Structure holding optional relay information.",
  245. "map_item_spec": [
  246. {
  247. "item_name": "ip-address",
  248. "item_type": "string",
  249. "item_optional": false,
  250. "item_default": "::",
  251. "item_description" : "IPv6 address of the relay (optional)."
  252. }
  253. ]
  254. },
  255. {
  256. "item_name": "pd-pools",
  257. "item_type": "list",
  258. "item_optional": true,
  259. "item_default": [],
  260. "list_item_spec":
  261. {
  262. "item_name": "pd-pool",
  263. "item_type": "map",
  264. "item_optional": false,
  265. "item_default": {},
  266. "map_item_spec": [
  267. {
  268. "item_name": "prefix",
  269. "item_type": "string",
  270. "item_optional": false,
  271. "item_default": ""
  272. },
  273. {
  274. "item_name": "prefix-len",
  275. "item_type": "integer",
  276. "item_optional": false,
  277. "item_default": 128
  278. },
  279. {
  280. "item_name": "delegated-len",
  281. "item_type": "integer",
  282. "item_optional": false,
  283. "item_default": 128
  284. }]
  285. }
  286. },
  287. { "item_name": "option-data",
  288. "item_type": "list",
  289. "item_optional": false,
  290. "item_default": [],
  291. "list_item_spec":
  292. {
  293. "item_name": "single-option-data",
  294. "item_type": "map",
  295. "item_optional": false,
  296. "item_default": {},
  297. "map_item_spec": [
  298. {
  299. "item_name": "name",
  300. "item_type": "string",
  301. "item_optional": false,
  302. "item_default": ""
  303. },
  304. {
  305. "item_name": "code",
  306. "item_type": "integer",
  307. "item_optional": false,
  308. "item_default": 0
  309. },
  310. {
  311. "item_name": "data",
  312. "item_type": "string",
  313. "item_optional": false,
  314. "item_default": ""
  315. },
  316. { "item_name": "csv-format",
  317. "item_type": "boolean",
  318. "item_optional": false,
  319. "item_default": False
  320. },
  321. { "item_name": "space",
  322. "item_type": "string",
  323. "item_optional": false,
  324. "item_default": "dhcp6"
  325. } ]
  326. }
  327. } ]
  328. }
  329. }
  330. ],
  331. "commands": [
  332. {
  333. "command_name": "shutdown",
  334. "command_description": "Shuts down DHCPv6 server.",
  335. "command_args": [
  336. {
  337. "item_name": "pid",
  338. "item_type": "integer",
  339. "item_optional": true
  340. }
  341. ]
  342. },
  343. {
  344. "command_name": "libreload",
  345. "command_description": "Reloads the current hooks libraries.",
  346. "command_args": []
  347. }
  348. ]
  349. }
  350. }