blob: e3fa3f078a1f8a4b21aa463dd582936559eaf612 [file] [log] [blame]
andrea1ce2bc82015-11-18 16:58:10 -08001{
2 "type": "object",
3 "title": "flows",
4 "required": [
5 "flows"
6 ],
7 "properties": {
8 "flows": {
9 "type": "array",
10 "xml": {
11 "name": "hosts",
12 "wrapped": true
13 },
14 "items": {
15 "type": "object",
16 "title": "flow",
17 "required": [
18 "id",
Srikanth Vavilapallid120f5c2015-11-24 14:15:01 -080019 "tableId",
andrea1ce2bc82015-11-18 16:58:10 -080020 "appId",
21 "groupId",
22 "priority",
23 "timeout",
24 "isPermanent",
25 "deviceId",
26 "state",
27 "life",
28 "packets",
29 "bytes",
30 "lastSeen"
31 ],
32 "properties": {
33 "id": {
34 "type": "string",
35 "example": "12103425214920339"
36 },
Srikanth Vavilapallid120f5c2015-11-24 14:15:01 -080037 "tableId": {
38 "type": "integer",
39 "format": "int64",
40 "example": 3
41 },
andrea1ce2bc82015-11-18 16:58:10 -080042 "appId": {
43 "type": "string",
44 "example": "org.onosproject.core"
45 },
46 "groupId": {
47 "type": "integer",
48 "format": "int64",
49 "example": 0
50 },
51 "priority": {
52 "type": "integer",
53 "format": "int64",
54 "example": 400000
55 },
56 "timeout": {
57 "type": "integer",
58 "format": "int64",
59 "example": 0
60 },
61 "isPermanent": {
62 "type": "boolean",
63 "example": true
64 },
65 "deviceId": {
66 "type": "string",
67 "example": "of:0000000000000003"
68 },
69 "state": {
70 "type": "string",
71 "example": "ADDED"
72 },
73 "life": {
74 "type": "integer",
75 "format": "int64",
76 "example": 69889
77 },
78 "packets": {
79 "type": "integer",
80 "format": "int64",
81 "example": 22546
82 },
83 "bytes": {
84 "type": "integer",
85 "format": "int64",
86 "example": 1826226
87 },
88 "lastSeen": {
89 "type": "integer",
90 "format": "int64",
91 "example": 1447892365670
92 },
93 "treatment": {
94 "type": "object",
95 "title": "treatment",
96 "required": [
97 "instructions",
98 "deferred"
99 ],
100 "properties": {
101 "instructions": {
102 "type": "array",
103 "title": "treatment",
104 "required": [
105 "properties",
106 "port"
107 ],
108 "items": {
109 "type": "object",
110 "title": "instruction",
111 "required": [
112 "type",
113 "port"
114 ],
115 "properties": {
116 "type": {
117 "type": "string",
118 "example": "OUTPUT"
119 },
120 "port": {
Andrea Campanella5df35952015-12-08 15:46:49 -0800121 "type": "string",
122 "example": "CONTROLLER"
andrea1ce2bc82015-11-18 16:58:10 -0800123 }
124 }
125 }
126 },
127 "deferred": {
128 "type": "array",
129 "xml": {
130 "name": "deferred",
131 "wrapped": true
132 },
133 "items": {
134 "type": "string"
135 }
136 }
137 }
138 }
139 }
140 }
141 },
142 "selector": {
143 "type": "object",
144 "title": "selector",
145 "required": [
146 "criteria"
147 ],
148 "properties": {
149 "criteria": {
150 "type": "array",
151 "xml": {
152 "name": "criteria",
153 "wrapped": true
154 },
155 "items": {
156 "type": "object",
157 "title": "criteria",
andrea1ce2bc82015-11-18 16:58:10 -0800158 "properties": {
159 "type": {
160 "type": "string",
Andrea Campanella82baf6b2015-12-14 10:23:37 -0800161 "description":"Ethernet field name",
andrea1ce2bc82015-11-18 16:58:10 -0800162 "example": "ETH_TYPE"
163 },
164 "ethType": {
Andrea Campanella82baf6b2015-12-14 10:23:37 -0800165 "type": "int64",
166 "format": "int64",
167 "example": "0x88cc",
168 "description":"Ethernet frame type"
169 },
170 "mac": {
171 "type": "string",
172 "example": "00:00:11:00:00:01"
173 },
174 "port": {
175 "type": "int64",
176 "format": "int64",
177 "example": 1,
178 "description":"Match port"
179 },
180 "metadata": {
181 "type": "Hex16",
182 "format": "Hex16",
183 "example": "0xabcdL",
184 "description":"Metadata passed between tables"
185 },
186 "vlanId": {
187 "type": "uint16",
188 "format": "uint16",
189 "example": "0x1000"
190 },
191 "priority": {
192 "type": "int64",
193 "format": "int64",
194 "example": 1,
195 "description":"VLAN priority."
196 },
197 "ipDscp": {
198 "type": "byte",
199 "format": "byte",
200 "description":"IP DSCP (6 bits in ToS field)"
201 },
202 "ipEcn": {
203 "type": "byte",
204 "format": "byte",
205 "description":"IP ECN (2 bits in ToS field)."
206 },
207 "protocol": {
208 "type": "uint16",
209 "format": "uint16",
210 "example": 1,
211 "description":"IP protocol"
212 },
213 "ip": {
214 "type": "string",
215 "example": "10.1.1.0/24",
216 "description":"IP source address"
217 },
218 "tcpPort": {
219 "type": "integer",
220 "format": "uint16",
221 "example": 1,
222 "description":"TCP source address"
223 },
224 "udpPort": {
225 "type": "uint16",
226 "format": "uint16",
227 "example": 1,
228 "description":"UDP source address"
229 },
230 "sctpPort": {
231 "type": "uint16",
232 "format": "uint16",
233 "example": 1,
234 "description":"SCTP source address"
235 },
236 "icmpType": {
237 "type": "uint16",
238 "format": "uint16",
239 "example": 1,
240 "description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
241 },
242 "icmpCode": {
243 "type": "uint16",
244 "format": "uint16",
245 "example": 1,
246 "description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
247 },
248 "flowLabel": {
249 "type": "Hex16",
250 "format": "Hex16",
251 "example": "0xffffe",
252 "description":"IPv6 Flow Label (RFC 6437)"
253 },
254 "icmpv6Type": {
255 "type": "uint16",
256 "format": "uint16",
257 "example": 1,
258 "description":"Internet Control Message Protocol for IPV6 type (RFC2463)"
259 },
260 "icmpv6Code": {
261 "type": "uint16",
262 "format": "uint16",
263 "example": 1,
264 "description":"Internet Control Message Protocol for IPV6 code (RFC2463)"
265 },
266 "targetAddress": {
267 "type": "String",
268 "example": "10.1.1.0/24",
269 "description":"IPv6 Neighbor discovery target address"
270 },
271 "label": {
272 "type": "int32",
273 "format": "int32",
274 "example": 1,
275 "description":"MPLS label"
276 },
277 "exthdrFlags": {
278 "type": "int64",
279 "format": "int64",
280 "example": 1,
281 "description":"IPv6 extension header pseudo-field"
282 },
283 "lambda": {
284 "type": "int64",
285 "format": "int64",
286 "example": 1,
287 "description":"wavelength abstraction"
288 },
289 "gridType": {
290 "type": "String",
291 "example": "DWDM",
292 "description":"Type of wavelength grid"
293 },
294 "channelSpacing": {
295 "type": "int64",
296 "format": "int64",
297 "example": 100,
298 "description":"Optical channel spacing"
299 },
300 "spacingMultiplier": {
andrea1ce2bc82015-11-18 16:58:10 -0800301 "type": "integer",
302 "format": "int64",
Andrea Campanella82baf6b2015-12-14 10:23:37 -0800303 "example": 4,
304 "description":"Optical channel spacing multiplier"
305 },
306 "slotGranularity": {
307 "type": "int64",
308 "format": "int64",
309 "example": 8
310 },
311 "ochSignalId": {
312 "type": "integer",
313 "format": "int64",
314 "example": 1,
315 "description":"Optical channel signal ID"
316 },
317 "tunnelId": {
318 "type": "int64",
319 "format": "int64",
320 "example": 5,
321 "description":"Tunnel ID"
322 },
323 "ochSignalType": {
324 "type": "int64",
325 "format": "int64",
326 "example": 1,
327 "description":"Optical channel signal type"
328 },
329 "oduSignalId": {
330 "type": "int64",
331 "format": "int64",
332 "example": 1,
333 "description":"ODU (Optical channel Data Unit) signal ID."
334 },
335 "tributaryPortNumber": {
336 "type": "int64",
337 "format": "int64",
338 "example": 11,
339 "description":"OPU (Optical channel Payload Unit) port number."
340 },
341 "tributarySlotLen": {
342 "type": "int64",
343 "format": "int64",
344 "example": 80,
345 "description":"OPU (Optical channel Payload Unit) slot length."
346 },
347 "tributarySlotBitmap": {
348 "type": "array",
349 "title": "tributarySlotBitmap",
350 "description":"OPU (Optical channel Payload Unit) slot bitmap.",
351 "required": [
352 "byte",
353 "port"
354 ],
355 "items": {
356 "type": "byte",
357 "title": "byte",
358 "example": 1
359 }
360 },
361 "oduSignalType": {
362 "type": "int64",
363 "format": "int64",
364 "example": 4,
365 "description":"ODU (Optical channel Data Unit) signal type."
andrea1ce2bc82015-11-18 16:58:10 -0800366 }
367 }
368 }
369 }
370 }
371 }
372 }
373}