blob: f265070cfd82adf2d6f5a3ba5e836ff4bc7f059e [file] [log] [blame]
andrea1ce2bc82015-11-18 16:58:10 -08001{
2 "type": "object",
3 "title": "flow",
4 "required": [
5 "priority",
6 "timeout",
7 "isPermanent",
8 "deviceId"
9 ],
10 "properties": {
11 "priority": {
12 "type": "integer",
13 "format": "int64",
14 "example": 400000
15 },
16 "timeout": {
17 "type": "integer",
18 "format": "int64",
19 "example": 0
20 },
21 "isPermanent": {
22 "type": "boolean",
23 "example": true
24 },
25 "deviceId": {
26 "type": "string",
andread35f89c2015-11-23 10:02:07 -080027 "example": "of:0000000000000001"
andrea1ce2bc82015-11-18 16:58:10 -080028 },
29 "treatment": {
30 "type": "object",
31 "title": "treatment",
32 "required": [
33 "instructions",
34 "deferred"
35 ],
36 "properties": {
37 "instructions": {
38 "type": "array",
39 "title": "treatment",
40 "required": [
41 "properties",
42 "port"
43 ],
44 "items": {
45 "type": "object",
46 "title": "instructions",
47 "required": [
48 "type",
49 "port"
50 ],
51 "properties": {
52 "type": {
53 "type": "string",
54 "example": "OUTPUT"
55 },
56 "port": {
Andrea Campanella5df35952015-12-08 15:46:49 -080057 "type": "string",
58 "example": "CONTROLLER"
andrea1ce2bc82015-11-18 16:58:10 -080059 }
60 }
61 }
62 }
63 }
64 },
65 "selector": {
66 "type": "object",
67 "title": "selector",
68 "required": [
69 "criteria"
70 ],
71 "properties": {
72 "criteria": {
73 "type": "array",
74 "xml": {
75 "name": "criteria",
76 "wrapped": true
77 },
78 "items": {
79 "type": "object",
80 "title": "criteria",
andrea1ce2bc82015-11-18 16:58:10 -080081 "properties": {
82 "type": {
83 "type": "string",
Andrea Campanella82baf6b2015-12-14 10:23:37 -080084 "description":"Ethernet field name",
andrea1ce2bc82015-11-18 16:58:10 -080085 "example": "ETH_TYPE"
86 },
87 "ethType": {
Andrea Campanella82baf6b2015-12-14 10:23:37 -080088 "type": "int64",
89 "format": "int64",
90 "example": "0x88cc",
91 "description":"Ethernet frame type"
92 },
93 "mac": {
94 "type": "string",
95 "example": "00:00:11:00:00:01"
96 },
97 "port": {
98 "type": "int64",
99 "format": "int64",
100 "example": 1,
101 "description":"Match port"
102 },
103 "metadata": {
104 "type": "Hex16",
105 "format": "Hex16",
106 "example": "0xabcdL",
107 "description":"Metadata passed between tables"
108 },
109 "vlanId": {
110 "type": "uint16",
111 "format": "uint16",
112 "example": "0x1000"
113 },
114 "priority": {
115 "type": "int64",
116 "format": "int64",
117 "example": 1,
118 "description":"VLAN priority."
119 },
120 "ipDscp": {
121 "type": "byte",
122 "format": "byte",
123 "description":"IP DSCP (6 bits in ToS field)"
124 },
125 "ipEcn": {
126 "type": "byte",
127 "format": "byte",
128 "description":"IP ECN (2 bits in ToS field)."
129 },
130 "protocol": {
131 "type": "uint16",
132 "format": "uint16",
133 "example": 1,
134 "description":"IP protocol"
135 },
136 "ip": {
137 "type": "string",
138 "example": "10.1.1.0/24",
139 "description":"IP source address"
140 },
141 "tcpPort": {
142 "type": "integer",
143 "format": "uint16",
144 "example": 1,
145 "description":"TCP source address"
146 },
147 "udpPort": {
148 "type": "uint16",
149 "format": "uint16",
150 "example": 1,
151 "description":"UDP source address"
152 },
153 "sctpPort": {
154 "type": "uint16",
155 "format": "uint16",
156 "example": 1,
157 "description":"SCTP source address"
158 },
159 "icmpType": {
160 "type": "uint16",
161 "format": "uint16",
162 "example": 1,
163 "description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
164 },
165 "icmpCode": {
166 "type": "uint16",
167 "format": "uint16",
168 "example": 1,
169 "description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
170 },
171 "flowLabel": {
172 "type": "Hex16",
173 "format": "Hex16",
174 "example": "0xffffe",
175 "description":"IPv6 Flow Label (RFC 6437)"
176 },
177 "icmpv6Type": {
178 "type": "uint16",
179 "format": "uint16",
180 "example": 1,
181 "description":"Internet Control Message Protocol for IPV6 type (RFC2463)"
182 },
183 "icmpv6Code": {
184 "type": "uint16",
185 "format": "uint16",
186 "example": 1,
187 "description":"Internet Control Message Protocol for IPV6 code (RFC2463)"
188 },
189 "targetAddress": {
190 "type": "String",
191 "example": "10.1.1.0/24",
192 "description":"IPv6 Neighbor discovery target address"
193 },
194 "label": {
195 "type": "int32",
196 "format": "int32",
197 "example": 1,
198 "description":"MPLS label"
199 },
200 "exthdrFlags": {
201 "type": "int64",
202 "format": "int64",
203 "example": 1,
204 "description":"IPv6 extension header pseudo-field"
205 },
206 "lambda": {
207 "type": "int64",
208 "format": "int64",
209 "example": 1,
210 "description":"wavelength abstraction"
211 },
212 "gridType": {
213 "type": "String",
214 "example": "DWDM",
215 "description":"Type of wavelength grid"
216 },
217 "channelSpacing": {
218 "type": "int64",
219 "format": "int64",
220 "example": 100,
221 "description":"Optical channel spacing"
222 },
223 "spacingMultiplier": {
andrea1ce2bc82015-11-18 16:58:10 -0800224 "type": "integer",
225 "format": "int64",
Andrea Campanella82baf6b2015-12-14 10:23:37 -0800226 "example": 4,
227 "description":"Optical channel spacing multiplier"
228 },
229 "slotGranularity": {
230 "type": "int64",
231 "format": "int64",
232 "example": 8
233 },
234 "ochSignalId": {
235 "type": "integer",
236 "format": "int64",
237 "example": 1,
238 "description":"Optical channel signal ID"
239 },
240 "tunnelId": {
241 "type": "int64",
242 "format": "int64",
243 "example": 5,
244 "description":"Tunnel ID"
245 },
246 "ochSignalType": {
247 "type": "int64",
248 "format": "int64",
249 "example": 1,
250 "description":"Optical channel signal type"
251 },
252 "oduSignalId": {
253 "type": "int64",
254 "format": "int64",
255 "example": 1,
256 "description":"ODU (Optical channel Data Unit) signal ID."
257 },
258 "tributaryPortNumber": {
259 "type": "int64",
260 "format": "int64",
261 "example": 11,
262 "description":"OPU (Optical channel Payload Unit) port number."
263 },
264 "tributarySlotLen": {
265 "type": "int64",
266 "format": "int64",
267 "example": 80,
268 "description":"OPU (Optical channel Payload Unit) slot length."
269 },
270 "tributarySlotBitmap": {
271 "type": "array",
272 "title": "tributarySlotBitmap",
273 "description":"OPU (Optical channel Payload Unit) slot bitmap.",
274 "required": [
275 "byte",
276 "port"
277 ],
278 "items": {
279 "type": "byte",
280 "title": "byte",
281 "example": 1
282 }
283 },
284 "oduSignalType": {
285 "type": "int64",
286 "format": "int64",
287 "example": 4,
288 "description":"ODU (Optical channel Data Unit) signal type."
andrea1ce2bc82015-11-18 16:58:10 -0800289 }
290 }
291 }
292 }
293 }
294 }
295 }
296}