blob: ff9471d6cecb088703563426c6689d59737761c9 [file] [log] [blame]
Thomas Vachuskaa1ae5e12016-03-28 10:36:30 -07001{
2 "type": "object",
3 "title": "flows",
4 "required": [
5 "flows"
6 ],
7 "properties": {
8 "flows": {
9 "type": "array",
10 "xml": {
11 "name": "flows",
12 "wrapped": true
13 },
14 "items": {
15 "type": "object",
16 "title": "flow",
17 "required": [
18 "priority",
19 "timeout",
20 "isPermanent",
21 "deviceId"
22 ],
23 "properties": {
24 "priority": {
25 "type": "integer",
26 "format": "int64",
27 "example": 400000
28 },
29 "timeout": {
30 "type": "integer",
31 "format": "int64",
32 "example": 0
33 },
34 "isPermanent": {
35 "type": "boolean",
36 "example": true
37 },
38 "deviceId": {
39 "type": "string",
40 "example": "of:0000000000000001"
41 },
42 "treatment": {
43 "type": "object",
44 "title": "treatment",
45 "required": [
46 "instructions",
47 "deferred"
48 ],
49 "properties": {
50 "instructions": {
51 "type": "array",
52 "title": "treatment",
53 "required": [
54 "properties",
55 "port"
56 ],
57 "items": {
58 "type": "object",
59 "title": "instructions",
60 "required": [
61 "type",
62 "port"
63 ],
64 "properties": {
65 "type": {
66 "type": "string",
67 "example": "OUTPUT"
68 },
69 "port": {
70 "type": "string",
71 "example": "CONTROLLER"
72 }
73 }
74 }
75 }
76 }
77 },
78 "selector": {
79 "type": "object",
80 "title": "selector",
81 "required": [
82 "criteria"
83 ],
84 "properties": {
85 "criteria": {
86 "type": "array",
87 "xml": {
88 "name": "criteria",
89 "wrapped": true
90 },
91 "items": {
92 "type": "object",
93 "title": "criteria",
94 "properties": {
95 "type": {
96 "type": "string",
97 "description": "Ethernet field name",
98 "example": "ETH_TYPE"
99 },
100 "ethType": {
101 "type": "int64",
102 "format": "int64",
103 "example": "0x88cc",
104 "description": "Ethernet frame type"
105 }
106 }
107 }
108 }
109 }
110 }
111 }
112 }
113 }
114 }
115}