blob: 7a454b5c4b3e2ec606309af8329173e4da4e4a1b [file] [log] [blame]
Jian Lie9ac2c52016-01-13 17:42:05 -08001{
2 "type": "object",
3 "title": "filteringObjective",
4 "required": [
5 "type",
6 "priority",
7 "timeout",
8 "isPermanent",
9 "deviceId",
10 "operation",
11 "key",
12 "conditions",
13 "meta"
14 ],
15 "properties": {
16 "type": {
17 "type": "string",
18 "example": "PERMIT"
19 },
20 "priority": {
21 "type": "integer",
22 "format": "int64",
23 "example": 400000
24 },
25 "timeout": {
26 "type": "integer",
27 "format": "int64",
28 "example": 0
29 },
30 "isPermanent": {
31 "type": "boolean",
32 "example": true
33 },
34 "deviceId": {
35 "type": "string",
36 "example": "of:0000000000000001"
37 },
38 "operation": {
39 "type": "string",
40 "example": "ADD"
41 },
42 "key": {
43 "type": "object",
44 "title": "key",
45 "properties": {
46 "type": {
47 "type": "string",
48 "description": "Ethernet field name",
49 "example": "ETH_TYPE"
50 },
51 "ethType": {
52 "type": "int64",
53 "format": "int64",
54 "example": "0x88cc",
55 "description": "Ethernet frame type"
56 },
57 "mac": {
58 "type": "string",
59 "example": "00:00:11:00:00:01"
60 },
61 "port": {
62 "type": "int64",
63 "format": "int64",
64 "example": 1,
65 "description": "Match port"
66 },
67 "metadata": {
68 "type": "Hex16",
69 "format": "Hex16",
70 "example": "0xabcdL",
71 "description": "Metadata passed between tables"
72 },
73 "vlanId": {
74 "type": "uint16",
75 "format": "uint16",
76 "example": "0x1000"
77 },
78 "priority": {
79 "type": "int64",
80 "format": "int64",
81 "example": 1,
82 "description": "VLAN priority."
83 },
84 "ipDscp": {
85 "type": "byte",
86 "format": "byte",
87 "description": "IP DSCP (6 bits in ToS field)"
88 },
89 "ipEcn": {
90 "type": "byte",
91 "format": "byte",
92 "description": "IP ECN (2 bits in ToS field)."
93 },
94 "protocol": {
95 "type": "uint16",
96 "format": "uint16",
97 "example": 1,
98 "description": "IP protocol"
99 },
100 "ip": {
101 "type": "string",
102 "example": "10.1.1.0/24",
103 "description": "IP source address"
104 },
105 "tcpPort": {
106 "type": "integer",
107 "format": "uint16",
108 "example": 1,
109 "description": "TCP source address"
110 },
111 "udpPort": {
112 "type": "uint16",
113 "format": "uint16",
114 "example": 1,
115 "description": "UDP source address"
116 },
117 "sctpPort": {
118 "type": "uint16",
119 "format": "uint16",
120 "example": 1,
121 "description": "SCTP source address"
122 },
123 "icmpType": {
124 "type": "uint16",
125 "format": "uint16",
126 "example": 1,
127 "description": "Internet Control Message Protocol for IPV4 code (RFC0792)"
128 },
129 "icmpCode": {
130 "type": "uint16",
131 "format": "uint16",
132 "example": 1,
133 "description": "Internet Control Message Protocol for IPV4 code (RFC0792)"
134 },
135 "flowLabel": {
136 "type": "Hex16",
137 "format": "Hex16",
138 "example": "0xffffe",
139 "description": "IPv6 Flow Label (RFC 6437)"
140 },
141 "icmpv6Type": {
142 "type": "uint16",
143 "format": "uint16",
144 "example": 1,
145 "description": "Internet Control Message Protocol for IPV6 type (RFC2463)"
146 },
147 "icmpv6Code": {
148 "type": "uint16",
149 "format": "uint16",
150 "example": 1,
151 "description": "Internet Control Message Protocol for IPV6 code (RFC2463)"
152 },
153 "targetAddress": {
154 "type": "String",
155 "example": "10.1.1.0/24",
156 "description": "IPv6 Neighbor discovery target address"
157 },
158 "label": {
159 "type": "int32",
160 "format": "int32",
161 "example": 1,
162 "description": "MPLS label"
163 },
164 "exthdrFlags": {
165 "type": "int64",
166 "format": "int64",
167 "example": 1,
168 "description": "IPv6 extension header pseudo-field"
169 },
170 "lambda": {
171 "type": "int64",
172 "format": "int64",
173 "example": 1,
174 "description": "wavelength abstraction"
175 },
176 "gridType": {
177 "type": "String",
178 "example": "DWDM",
179 "description": "Type of wavelength grid"
180 },
181 "channelSpacing": {
182 "type": "int64",
183 "format": "int64",
184 "example": 100,
185 "description": "Optical channel spacing"
186 },
187 "spacingMultiplier": {
188 "type": "integer",
189 "format": "int64",
190 "example": 4,
191 "description": "Optical channel spacing multiplier"
192 },
193 "slotGranularity": {
194 "type": "int64",
195 "format": "int64",
196 "example": 8
197 },
198 "ochSignalId": {
199 "type": "integer",
200 "format": "int64",
201 "example": 1,
202 "description": "Optical channel signal ID"
203 },
204 "tunnelId": {
205 "type": "int64",
206 "format": "int64",
207 "example": 5,
208 "description": "Tunnel ID"
209 },
210 "ochSignalType": {
211 "type": "int64",
212 "format": "int64",
213 "example": 1,
214 "description": "Optical channel signal type"
215 },
216 "oduSignalId": {
217 "type": "int64",
218 "format": "int64",
219 "example": 1,
220 "description": "ODU (Optical channel Data Unit) signal ID."
221 },
222 "tributaryPortNumber": {
223 "type": "int64",
224 "format": "int64",
225 "example": 11,
226 "description": "OPU (Optical channel Payload Unit) port number."
227 },
228 "tributarySlotLen": {
229 "type": "int64",
230 "format": "int64",
231 "example": 80,
232 "description": "OPU (Optical channel Payload Unit) slot length."
233 },
234 "tributarySlotBitmap": {
235 "type": "array",
236 "title": "tributarySlotBitmap",
237 "description": "OPU (Optical channel Payload Unit) slot bitmap.",
238 "required": [
239 "byte",
240 "port"
241 ],
242 "items": {
243 "type": "byte",
244 "title": "byte",
245 "example": 1
246 }
247 },
248 "oduSignalType": {
249 "type": "int64",
250 "format": "int64",
251 "example": 4,
252 "description": "ODU (Optical channel Data Unit) signal type."
253 }
254 }
255 },
256 "conditions": {
257 "type": "array",
258 "xml": {
259 "name": "conditions",
260 "wrapped": true
261 },
262 "items": {
263 "type": "object",
264 "title": "conditions",
265 "properties": {
266 "type": {
267 "type": "string",
268 "description": "Ethernet field name",
269 "example": "ETH_TYPE"
270 },
271 "ethType": {
272 "type": "int64",
273 "format": "int64",
274 "example": "0x88cc",
275 "description": "Ethernet frame type"
276 },
277 "mac": {
278 "type": "string",
279 "example": "00:00:11:00:00:01"
280 },
281 "port": {
282 "type": "int64",
283 "format": "int64",
284 "example": 1,
285 "description": "Match port"
286 },
287 "metadata": {
288 "type": "Hex16",
289 "format": "Hex16",
290 "example": "0xabcdL",
291 "description": "Metadata passed between tables"
292 },
293 "vlanId": {
294 "type": "uint16",
295 "format": "uint16",
296 "example": "0x1000"
297 },
298 "priority": {
299 "type": "int64",
300 "format": "int64",
301 "example": 1,
302 "description": "VLAN priority."
303 },
304 "ipDscp": {
305 "type": "byte",
306 "format": "byte",
307 "description": "IP DSCP (6 bits in ToS field)"
308 },
309 "ipEcn": {
310 "type": "byte",
311 "format": "byte",
312 "description": "IP ECN (2 bits in ToS field)."
313 },
314 "protocol": {
315 "type": "uint16",
316 "format": "uint16",
317 "example": 1,
318 "description": "IP protocol"
319 },
320 "ip": {
321 "type": "string",
322 "example": "10.1.1.0/24",
323 "description": "IP source address"
324 },
325 "tcpPort": {
326 "type": "integer",
327 "format": "uint16",
328 "example": 1,
329 "description": "TCP source address"
330 },
331 "udpPort": {
332 "type": "uint16",
333 "format": "uint16",
334 "example": 1,
335 "description": "UDP source address"
336 },
337 "sctpPort": {
338 "type": "uint16",
339 "format": "uint16",
340 "example": 1,
341 "description": "SCTP source address"
342 },
343 "icmpType": {
344 "type": "uint16",
345 "format": "uint16",
346 "example": 1,
347 "description": "Internet Control Message Protocol for IPV4 code (RFC0792)"
348 },
349 "icmpCode": {
350 "type": "uint16",
351 "format": "uint16",
352 "example": 1,
353 "description": "Internet Control Message Protocol for IPV4 code (RFC0792)"
354 },
355 "flowLabel": {
356 "type": "Hex16",
357 "format": "Hex16",
358 "example": "0xffffe",
359 "description": "IPv6 Flow Label (RFC 6437)"
360 },
361 "icmpv6Type": {
362 "type": "uint16",
363 "format": "uint16",
364 "example": 1,
365 "description": "Internet Control Message Protocol for IPV6 type (RFC2463)"
366 },
367 "icmpv6Code": {
368 "type": "uint16",
369 "format": "uint16",
370 "example": 1,
371 "description": "Internet Control Message Protocol for IPV6 code (RFC2463)"
372 },
373 "targetAddress": {
374 "type": "String",
375 "example": "10.1.1.0/24",
376 "description": "IPv6 Neighbor discovery target address"
377 },
378 "label": {
379 "type": "int32",
380 "format": "int32",
381 "example": 1,
382 "description": "MPLS label"
383 },
384 "exthdrFlags": {
385 "type": "int64",
386 "format": "int64",
387 "example": 1,
388 "description": "IPv6 extension header pseudo-field"
389 },
390 "lambda": {
391 "type": "int64",
392 "format": "int64",
393 "example": 1,
394 "description": "wavelength abstraction"
395 },
396 "gridType": {
397 "type": "String",
398 "example": "DWDM",
399 "description": "Type of wavelength grid"
400 },
401 "channelSpacing": {
402 "type": "int64",
403 "format": "int64",
404 "example": 100,
405 "description": "Optical channel spacing"
406 },
407 "spacingMultiplier": {
408 "type": "integer",
409 "format": "int64",
410 "example": 4,
411 "description": "Optical channel spacing multiplier"
412 },
413 "slotGranularity": {
414 "type": "int64",
415 "format": "int64",
416 "example": 8
417 },
418 "ochSignalId": {
419 "type": "integer",
420 "format": "int64",
421 "example": 1,
422 "description": "Optical channel signal ID"
423 },
424 "tunnelId": {
425 "type": "int64",
426 "format": "int64",
427 "example": 5,
428 "description": "Tunnel ID"
429 },
430 "ochSignalType": {
431 "type": "int64",
432 "format": "int64",
433 "example": 1,
434 "description": "Optical channel signal type"
435 },
436 "oduSignalId": {
437 "type": "int64",
438 "format": "int64",
439 "example": 1,
440 "description": "ODU (Optical channel Data Unit) signal ID."
441 },
442 "tributaryPortNumber": {
443 "type": "int64",
444 "format": "int64",
445 "example": 11,
446 "description": "OPU (Optical channel Payload Unit) port number."
447 },
448 "tributarySlotLen": {
449 "type": "int64",
450 "format": "int64",
451 "example": 80,
452 "description": "OPU (Optical channel Payload Unit) slot length."
453 },
454 "tributarySlotBitmap": {
455 "type": "array",
456 "title": "tributarySlotBitmap",
457 "description": "OPU (Optical channel Payload Unit) slot bitmap.",
458 "required": [
459 "byte",
460 "port"
461 ],
462 "items": {
463 "type": "byte",
464 "title": "byte",
465 "example": 1
466 }
467 },
468 "oduSignalType": {
469 "type": "int64",
470 "format": "int64",
471 "example": 4,
472 "description": "ODU (Optical channel Data Unit) signal type."
473 }
474 }
475 }
476 },
477 "treatment": {
478 "type": "object",
479 "title": "treatment",
480 "required": [
481 "instructions"
482 ],
483 "properties": {
484 "instructions": {
485 "type": "array",
486 "title": "treatment",
487 "required": [
488 "properties",
489 "port"
490 ],
491 "items": {
492 "type": "object",
493 "title": "instructions",
494 "required": [
495 "type",
496 "port"
497 ],
498 "properties": {
499 "type": {
500 "type": "string",
501 "example": "OUTPUT"
502 },
503 "port": {
504 "type": "string",
505 "example": "CONTROLLER"
506 }
507 }
508 }
509 }
510 }
511 }
512 }
513}