blob: e88ce97d7e7f7182f16a28c1a5dea8c922fcb6c9 [file] [log] [blame]
Zdravko Bozakov2da76342019-10-21 09:47:35 +02001{
2 "swagger": "2.0",
3 "info": {
4 "title": "bbsim/bbsim.proto",
5 "version": "version not set"
6 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +02007 "consumes": [
8 "application/json"
9 ],
10 "produces": [
11 "application/json"
12 ],
13 "paths": {
14 "/v1/olt": {
15 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +053016 "summary": "Get current status of OLT",
Zdravko Bozakov2da76342019-10-21 09:47:35 +020017 "operationId": "GetOlt",
18 "responses": {
19 "200": {
20 "description": "A successful response.",
21 "schema": {
22 "$ref": "#/definitions/bbsimOlt"
23 }
24 }
25 },
26 "tags": [
27 "BBSim"
28 ]
29 }
30 },
Matteo Scandolo9d08be52020-03-12 09:43:53 -070031 "/v1/olt/flows": {
32 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +053033 "summary": "Get all flows or ONU specific flows",
Matteo Scandolo9d08be52020-03-12 09:43:53 -070034 "operationId": "GetFlows2",
35 "responses": {
36 "200": {
37 "description": "A successful response.",
38 "schema": {
39 "$ref": "#/definitions/bbsimFlows"
40 }
41 }
42 },
43 "parameters": [
44 {
45 "name": "SerialNumber",
46 "in": "query",
47 "required": false,
48 "type": "string"
49 }
50 ],
51 "tags": [
52 "BBSim"
53 ]
54 }
55 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +020056 "/v1/olt/onus": {
57 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +053058 "summary": "Get status of all ONUs",
Zdravko Bozakov2da76342019-10-21 09:47:35 +020059 "operationId": "GetONUs",
60 "responses": {
61 "200": {
62 "description": "A successful response.",
63 "schema": {
64 "$ref": "#/definitions/bbsimONUs"
65 }
Pragya Arya3f8fdc62020-03-16 11:12:27 +053066 }
67 },
68 "tags": [
69 "BBSim"
70 ]
71 },
72 "delete": {
73 "summary": "Shutdown all ONUs in OLT",
74 "operationId": "ShutdownAllONUs",
75 "responses": {
76 "200": {
77 "description": "A successful response.",
78 "schema": {
79 "$ref": "#/definitions/bbsimResponse"
80 }
Pragya Arya3f8fdc62020-03-16 11:12:27 +053081 }
82 },
83 "tags": [
84 "BBSim"
85 ]
86 },
87 "post": {
88 "summary": "Poweron all ONUs in OLT",
89 "operationId": "PoweronAllONUs",
90 "responses": {
91 "200": {
92 "description": "A successful response.",
93 "schema": {
94 "$ref": "#/definitions/bbsimResponse"
95 }
Zdravko Bozakov2da76342019-10-21 09:47:35 +020096 }
97 },
98 "tags": [
99 "BBSim"
100 ]
101 }
102 },
Matteo Scandoloc08a6082021-02-05 11:12:01 -0800103 "/v1/olt/onus/{OnuReq.SerialNumber}/igmp": {
104 "post": {
105 "summary": "Change IGMP state",
106 "operationId": "ChangeIgmpState",
107 "responses": {
108 "200": {
109 "description": "A successful response.",
110 "schema": {
111 "$ref": "#/definitions/bbsimResponse"
112 }
113 }
114 },
115 "parameters": [
116 {
117 "name": "OnuReq.SerialNumber",
118 "in": "path",
119 "required": true,
120 "type": "string"
121 },
122 {
123 "name": "body",
124 "in": "body",
125 "required": true,
126 "schema": {
127 "type": "string"
128 }
129 }
130 ],
131 "tags": [
132 "BBSim"
133 ]
134 }
135 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200136 "/v1/olt/onus/{SerialNumber}": {
137 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530138 "summary": "Get status of an ONU by serial number",
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200139 "operationId": "GetONU",
140 "responses": {
141 "200": {
142 "description": "A successful response.",
143 "schema": {
144 "$ref": "#/definitions/bbsimONU"
145 }
146 }
147 },
148 "parameters": [
149 {
150 "name": "SerialNumber",
151 "in": "path",
152 "required": true,
153 "type": "string"
154 }
155 ],
156 "tags": [
157 "BBSim"
158 ]
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700159 },
160 "delete": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530161 "summary": "Shutdown an ONU by serial number",
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700162 "operationId": "ShutdownONU",
163 "responses": {
164 "200": {
165 "description": "A successful response.",
166 "schema": {
167 "$ref": "#/definitions/bbsimResponse"
168 }
169 }
170 },
171 "parameters": [
172 {
173 "name": "SerialNumber",
174 "in": "path",
175 "required": true,
176 "type": "string"
177 }
178 ],
179 "tags": [
180 "BBSim"
181 ]
182 },
183 "post": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530184 "summary": "Poweron an ONU by serial number",
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700185 "operationId": "PoweronONU",
186 "responses": {
187 "200": {
188 "description": "A successful response.",
189 "schema": {
190 "$ref": "#/definitions/bbsimResponse"
191 }
192 }
193 },
194 "parameters": [
195 {
196 "name": "SerialNumber",
197 "in": "path",
198 "required": true,
199 "type": "string"
200 }
201 ],
202 "tags": [
203 "BBSim"
204 ]
205 }
206 },
207 "/v1/olt/onus/{SerialNumber}/alarms/{AlarmType}/{Status}": {
208 "post": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530209 "summary": "Send ONU alarm indication",
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700210 "operationId": "SetOnuAlarmIndication",
211 "responses": {
212 "200": {
213 "description": "A successful response.",
214 "schema": {
215 "$ref": "#/definitions/bbsimResponse"
216 }
217 }
218 },
219 "parameters": [
220 {
221 "name": "SerialNumber",
222 "in": "path",
223 "required": true,
224 "type": "string"
225 },
226 {
227 "name": "AlarmType",
228 "in": "path",
229 "required": true,
230 "type": "string"
231 },
232 {
233 "name": "Status",
234 "in": "path",
235 "required": true,
236 "type": "string"
237 }
238 ],
239 "tags": [
240 "BBSim"
241 ]
242 }
243 },
Matteo Scandoloc08a6082021-02-05 11:12:01 -0800244 "/v1/olt/onus/{SerialNumber}/dhcp": {
245 "post": {
246 "summary": "Restart DHCP for ONU",
247 "operationId": "RestartDhcp",
248 "responses": {
249 "200": {
250 "description": "A successful response.",
251 "schema": {
252 "$ref": "#/definitions/bbsimResponse"
253 }
254 }
255 },
256 "parameters": [
257 {
258 "name": "SerialNumber",
259 "in": "path",
260 "required": true,
261 "type": "string"
262 }
263 ],
264 "tags": [
265 "BBSim"
266 ]
267 }
268 },
269 "/v1/olt/onus/{SerialNumber}/eapol": {
270 "post": {
271 "summary": "Restart EAPOL for ONU",
272 "operationId": "RestartEapol",
273 "responses": {
274 "200": {
275 "description": "A successful response.",
276 "schema": {
277 "$ref": "#/definitions/bbsimResponse"
278 }
279 }
280 },
281 "parameters": [
282 {
283 "name": "SerialNumber",
284 "in": "path",
285 "required": true,
286 "type": "string"
287 }
288 ],
289 "tags": [
290 "BBSim"
291 ]
292 }
293 },
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700294 "/v1/olt/onus/{SerialNumber}/flows": {
295 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530296 "summary": "Get all flows or ONU specific flows",
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700297 "operationId": "GetFlows",
298 "responses": {
299 "200": {
300 "description": "A successful response.",
301 "schema": {
302 "$ref": "#/definitions/bbsimFlows"
303 }
304 }
305 },
306 "parameters": [
307 {
308 "name": "SerialNumber",
309 "in": "path",
310 "required": true,
311 "type": "string"
312 }
313 ],
314 "tags": [
315 "BBSim"
316 ]
317 }
318 },
319 "/v1/olt/onus/{SerialNumber}/trafficschedulers": {
320 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530321 "summary": "Get Traffic scheduler information for ONU",
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700322 "operationId": "GetOnuTrafficSchedulers",
323 "responses": {
324 "200": {
325 "description": "A successful response.",
326 "schema": {
327 "$ref": "#/definitions/bbsimONUTrafficSchedulers"
328 }
329 }
330 },
331 "parameters": [
332 {
333 "name": "SerialNumber",
334 "in": "path",
335 "required": true,
336 "type": "string"
337 }
338 ],
339 "tags": [
340 "BBSim"
341 ]
342 }
343 },
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530344 "/v1/olt/port/{PonPortId}/onus": {
345 "delete": {
346 "summary": "Shutdown all ONUs under a PON by pon-port-ID",
347 "operationId": "ShutdownONUsOnPON",
348 "responses": {
349 "200": {
350 "description": "A successful response.",
351 "schema": {
352 "$ref": "#/definitions/bbsimResponse"
353 }
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530354 }
355 },
356 "parameters": [
357 {
358 "name": "PonPortId",
359 "in": "path",
360 "required": true,
361 "type": "integer",
362 "format": "int64"
363 }
364 ],
365 "tags": [
366 "BBSim"
367 ]
368 },
369 "post": {
370 "summary": "Poweron all ONUs under a PON by pon-port-ID",
371 "operationId": "PoweronONUsOnPON",
372 "responses": {
373 "200": {
374 "description": "A successful response.",
375 "schema": {
376 "$ref": "#/definitions/bbsimResponse"
377 }
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530378 }
379 },
380 "parameters": [
381 {
382 "name": "PonPortId",
383 "in": "path",
384 "required": true,
385 "type": "integer",
386 "format": "int64"
387 }
388 ],
389 "tags": [
390 "BBSim"
391 ]
392 }
393 },
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700394 "/v1/olt/ports/{InterfaceType}/{InterfaceID}/alarms/los/{Status}": {
395 "post": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530396 "summary": "Send OLT alarm indication for Interface type NNI or PON",
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700397 "operationId": "SetOltAlarmIndication",
398 "responses": {
399 "200": {
400 "description": "A successful response.",
401 "schema": {
402 "$ref": "#/definitions/bbsimResponse"
403 }
404 }
405 },
406 "parameters": [
407 {
408 "name": "InterfaceType",
409 "in": "path",
410 "required": true,
411 "type": "string"
412 },
413 {
414 "name": "InterfaceID",
415 "in": "path",
416 "required": true,
417 "type": "integer",
418 "format": "int64"
419 },
420 {
421 "name": "Status",
422 "in": "path",
423 "required": true,
424 "type": "string"
425 }
426 ],
427 "tags": [
428 "BBSim"
429 ]
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200430 }
431 },
Zack Williamsd2907e62020-04-03 10:23:02 -0700432 "/v1/olt/reboot": {
433 "post": {
434 "summary": "Reboot OLT",
435 "operationId": "RebootOlt",
436 "responses": {
437 "200": {
438 "description": "A successful response.",
439 "schema": {
440 "$ref": "#/definitions/bbsimResponse"
441 }
442 }
443 },
444 "tags": [
445 "BBSim"
446 ]
447 }
448 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200449 "/v1/olt/status": {
450 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530451 "summary": "Get current status of OLT",
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200452 "operationId": "GetOlt2",
453 "responses": {
454 "200": {
455 "description": "A successful response.",
456 "schema": {
457 "$ref": "#/definitions/bbsimOlt"
458 }
459 }
460 },
461 "tags": [
462 "BBSim"
463 ]
464 }
465 },
466 "/v1/version": {
467 "get": {
Pragya Arya3f8fdc62020-03-16 11:12:27 +0530468 "summary": "Get BBSim version",
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200469 "operationId": "Version",
470 "responses": {
471 "200": {
472 "description": "A successful response.",
473 "schema": {
474 "$ref": "#/definitions/bbsimVersionNumber"
475 }
476 }
477 },
478 "tags": [
479 "BBSim"
480 ]
481 }
482 }
483 },
484 "definitions": {
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700485 "bbsimAlarmParameter": {
486 "type": "object",
487 "properties": {
488 "Key": {
489 "type": "string"
490 },
491 "Value": {
492 "type": "string"
493 }
494 }
495 },
496 "bbsimFlows": {
497 "type": "object",
498 "properties": {
499 "flow_count": {
500 "type": "integer",
501 "format": "int64"
502 },
503 "flows": {
504 "type": "array",
505 "items": {
506 "$ref": "#/definitions/openoltFlow"
507 }
508 }
509 }
510 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200511 "bbsimLogLevel": {
512 "type": "object",
513 "properties": {
514 "level": {
515 "type": "string"
516 },
517 "caller": {
518 "type": "boolean",
519 "format": "boolean"
520 }
521 }
522 },
523 "bbsimNNIPort": {
524 "type": "object",
525 "properties": {
526 "ID": {
527 "type": "integer",
528 "format": "int32"
529 },
530 "OperState": {
531 "type": "string"
532 }
533 }
534 },
535 "bbsimONU": {
536 "type": "object",
537 "properties": {
538 "ID": {
539 "type": "integer",
540 "format": "int32"
541 },
542 "SerialNumber": {
543 "type": "string"
544 },
545 "OperState": {
546 "type": "string"
547 },
548 "InternalState": {
549 "type": "string"
550 },
551 "PonPortID": {
552 "type": "integer",
553 "format": "int32"
554 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200555 "HwAddress": {
556 "type": "string"
557 },
558 "PortNo": {
559 "type": "integer",
560 "format": "int32"
Matteo Scandolof380a972020-09-11 12:09:40 -0700561 },
562 "services": {
563 "type": "array",
564 "items": {
565 "$ref": "#/definitions/bbsimService"
566 }
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200567 }
568 }
569 },
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700570 "bbsimONURequest": {
571 "type": "object",
572 "properties": {
573 "SerialNumber": {
574 "type": "string"
575 }
576 }
577 },
578 "bbsimONUTrafficSchedulers": {
579 "type": "object",
580 "properties": {
581 "traffSchedulers": {
582 "$ref": "#/definitions/tech_profileTrafficSchedulers"
583 }
584 }
585 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200586 "bbsimONUs": {
587 "type": "object",
588 "properties": {
589 "items": {
590 "type": "array",
591 "items": {
592 "$ref": "#/definitions/bbsimONU"
593 }
594 }
595 }
596 },
597 "bbsimOlt": {
598 "type": "object",
599 "properties": {
600 "ID": {
601 "type": "integer",
602 "format": "int32"
603 },
604 "SerialNumber": {
605 "type": "string"
606 },
607 "OperState": {
608 "type": "string"
609 },
610 "InternalState": {
611 "type": "string"
612 },
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700613 "IP": {
614 "type": "string"
615 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200616 "NNIPorts": {
617 "type": "array",
618 "items": {
619 "$ref": "#/definitions/bbsimNNIPort"
620 }
621 },
622 "PONPorts": {
623 "type": "array",
624 "items": {
625 "$ref": "#/definitions/bbsimPONPort"
626 }
627 }
628 }
629 },
630 "bbsimPONPort": {
631 "type": "object",
632 "properties": {
633 "ID": {
634 "type": "integer",
635 "format": "int32"
636 },
637 "OperState": {
638 "type": "string"
639 }
640 }
641 },
642 "bbsimResponse": {
643 "type": "object",
644 "properties": {
645 "status_code": {
646 "type": "integer",
647 "format": "int32"
648 },
649 "message": {
650 "type": "string"
651 }
652 }
653 },
Matteo Scandolof380a972020-09-11 12:09:40 -0700654 "bbsimService": {
655 "type": "object",
656 "properties": {
657 "Name": {
658 "type": "string"
659 },
660 "HwAddress": {
661 "type": "string"
662 },
663 "OnuSn": {
664 "type": "string"
665 },
666 "STag": {
667 "type": "integer",
668 "format": "int32"
669 },
670 "CTag": {
671 "type": "integer",
672 "format": "int32"
673 },
674 "NeedsEapol": {
675 "type": "boolean",
676 "format": "boolean"
677 },
678 "NeedsDhcp": {
679 "type": "boolean",
680 "format": "boolean"
681 },
682 "NeedsIgmp": {
683 "type": "boolean",
684 "format": "boolean"
685 },
686 "GemPort": {
687 "type": "integer",
688 "format": "int32"
689 },
690 "EapolState": {
691 "type": "string"
692 },
693 "DhcpState": {
694 "type": "string"
695 },
696 "InternalState": {
697 "type": "string"
698 },
699 "IGMPState": {
700 "type": "string"
701 }
702 }
703 },
704 "bbsimServices": {
705 "type": "object",
706 "properties": {
707 "items": {
708 "type": "array",
709 "items": {
710 "$ref": "#/definitions/bbsimService"
711 }
712 }
713 }
714 },
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700715 "bbsimSubActionTypes": {
716 "type": "string",
717 "enum": [
718 "JOIN",
719 "LEAVE",
720 "JOINV3"
721 ],
722 "default": "JOIN"
723 },
Zdravko Bozakov2da76342019-10-21 09:47:35 +0200724 "bbsimVersionNumber": {
725 "type": "object",
726 "properties": {
727 "version": {
728 "type": "string"
729 },
730 "buildTime": {
731 "type": "string"
732 },
733 "commitHash": {
734 "type": "string"
735 },
736 "gitStatus": {
737 "type": "string"
738 }
739 }
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700740 },
741 "openoltAction": {
742 "type": "object",
743 "properties": {
744 "cmd": {
745 "$ref": "#/definitions/openoltActionCmd"
746 },
747 "o_vid": {
748 "type": "integer",
749 "format": "int64"
750 },
751 "o_pbits": {
752 "type": "integer",
753 "format": "int64"
754 },
755 "o_tpid": {
756 "type": "integer",
757 "format": "int64"
758 },
759 "i_vid": {
760 "type": "integer",
761 "format": "int64"
762 },
763 "i_pbits": {
764 "type": "integer",
765 "format": "int64"
766 },
767 "i_tpid": {
768 "type": "integer",
769 "format": "int64"
770 }
771 }
772 },
773 "openoltActionCmd": {
774 "type": "object",
775 "properties": {
776 "add_outer_tag": {
777 "type": "boolean",
778 "format": "boolean"
779 },
780 "remove_outer_tag": {
781 "type": "boolean",
782 "format": "boolean"
783 },
784 "trap_to_host": {
785 "type": "boolean",
786 "format": "boolean"
Matteo Scandolof380a972020-09-11 12:09:40 -0700787 },
788 "remark_outer_pbits": {
789 "type": "boolean",
790 "format": "boolean"
791 },
792 "remark_inner_pbits": {
793 "type": "boolean",
794 "format": "boolean"
795 },
796 "add_inner_tag": {
797 "type": "boolean",
798 "format": "boolean"
799 },
800 "remove_inner_tag": {
801 "type": "boolean",
802 "format": "boolean"
803 },
804 "translate_inner_tag": {
805 "type": "boolean",
806 "format": "boolean"
807 },
808 "translate_outer_tag": {
809 "type": "boolean",
810 "format": "boolean"
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700811 }
812 }
813 },
814 "openoltClassifier": {
815 "type": "object",
816 "properties": {
817 "o_tpid": {
818 "type": "integer",
819 "format": "int64"
820 },
821 "o_vid": {
822 "type": "integer",
823 "format": "int64"
824 },
825 "i_tpid": {
826 "type": "integer",
827 "format": "int64"
828 },
829 "i_vid": {
830 "type": "integer",
831 "format": "int64"
832 },
833 "o_pbits": {
834 "type": "integer",
835 "format": "int64"
836 },
837 "i_pbits": {
838 "type": "integer",
839 "format": "int64"
840 },
841 "eth_type": {
842 "type": "integer",
843 "format": "int64"
844 },
845 "dst_mac": {
846 "type": "string",
847 "format": "byte"
848 },
849 "src_mac": {
850 "type": "string",
851 "format": "byte"
852 },
853 "ip_proto": {
854 "type": "integer",
855 "format": "int64"
856 },
857 "dst_ip": {
858 "type": "integer",
859 "format": "int64"
860 },
861 "src_ip": {
862 "type": "integer",
863 "format": "int64"
864 },
865 "src_port": {
866 "type": "integer",
867 "format": "int64"
868 },
869 "dst_port": {
870 "type": "integer",
871 "format": "int64"
872 },
873 "pkt_tag_type": {
874 "type": "string"
875 }
876 }
877 },
878 "openoltFlow": {
879 "type": "object",
880 "properties": {
881 "access_intf_id": {
882 "type": "integer",
883 "format": "int32"
884 },
885 "onu_id": {
886 "type": "integer",
887 "format": "int32"
888 },
889 "uni_id": {
890 "type": "integer",
891 "format": "int32"
892 },
893 "flow_id": {
Matteo Scandoloc08a6082021-02-05 11:12:01 -0800894 "type": "string",
895 "format": "uint64"
896 },
897 "symmetric_flow_id": {
898 "type": "string",
899 "format": "uint64"
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700900 },
901 "flow_type": {
902 "type": "string"
903 },
904 "alloc_id": {
905 "type": "integer",
906 "format": "int32"
907 },
908 "network_intf_id": {
909 "type": "integer",
910 "format": "int32"
911 },
912 "gemport_id": {
913 "type": "integer",
914 "format": "int32"
915 },
916 "classifier": {
917 "$ref": "#/definitions/openoltClassifier"
918 },
919 "action": {
920 "$ref": "#/definitions/openoltAction"
921 },
922 "priority": {
923 "type": "integer",
924 "format": "int32"
925 },
926 "cookie": {
927 "type": "string",
928 "format": "uint64"
929 },
930 "port_no": {
931 "type": "integer",
932 "format": "int64"
Matteo Scandolof380a972020-09-11 12:09:40 -0700933 },
934 "group_id": {
935 "type": "integer",
936 "format": "int64"
937 },
938 "tech_profile_id": {
939 "type": "integer",
940 "format": "int64"
Matteo Scandoloc08a6082021-02-05 11:12:01 -0800941 },
942 "replicate_flow": {
943 "type": "boolean",
944 "format": "boolean"
945 },
946 "pbit_to_gemport": {
947 "type": "object",
948 "additionalProperties": {
949 "type": "integer",
950 "format": "int64"
951 }
Matteo Scandolo9d08be52020-03-12 09:43:53 -0700952 }
953 }
954 },
955 "tech_profileAdditionalBW": {
956 "type": "string",
957 "enum": [
958 "AdditionalBW_None",
959 "AdditionalBW_NA",
960 "AdditionalBW_BestEffort",
961 "AdditionalBW_Auto"
962 ],
963 "default": "AdditionalBW_None"
964 },
965 "tech_profileDirection": {
966 "type": "string",
967 "enum": [
968 "UPSTREAM",
969 "DOWNSTREAM",
970 "BIDIRECTIONAL"
971 ],
972 "default": "UPSTREAM"
973 },
974 "tech_profileInferredAdditionBWIndication": {
975 "type": "string",
976 "enum": [
977 "InferredAdditionBWIndication_None",
978 "InferredAdditionBWIndication_Assured",
979 "InferredAdditionBWIndication_BestEffort"
980 ],
981 "default": "InferredAdditionBWIndication_None"
982 },
983 "tech_profileSchedulerConfig": {
984 "type": "object",
985 "properties": {
986 "direction": {
987 "$ref": "#/definitions/tech_profileDirection"
988 },
989 "additional_bw": {
990 "$ref": "#/definitions/tech_profileAdditionalBW"
991 },
992 "priority": {
993 "type": "integer",
994 "format": "int64"
995 },
996 "weight": {
997 "type": "integer",
998 "format": "int64"
999 },
1000 "sched_policy": {
1001 "$ref": "#/definitions/tech_profileSchedulingPolicy"
1002 }
1003 }
1004 },
1005 "tech_profileSchedulingPolicy": {
1006 "type": "string",
1007 "enum": [
1008 "WRR",
1009 "StrictPriority",
1010 "Hybrid"
1011 ],
1012 "default": "WRR"
1013 },
1014 "tech_profileTrafficScheduler": {
1015 "type": "object",
1016 "properties": {
1017 "direction": {
1018 "$ref": "#/definitions/tech_profileDirection"
1019 },
1020 "alloc_id": {
1021 "type": "integer",
1022 "format": "int64"
1023 },
1024 "scheduler": {
1025 "$ref": "#/definitions/tech_profileSchedulerConfig"
1026 },
1027 "traffic_shaping_info": {
1028 "$ref": "#/definitions/tech_profileTrafficShapingInfo"
Matteo Scandolof380a972020-09-11 12:09:40 -07001029 },
1030 "tech_profile_id": {
1031 "type": "integer",
1032 "format": "int64"
Matteo Scandolo9d08be52020-03-12 09:43:53 -07001033 }
1034 }
1035 },
1036 "tech_profileTrafficSchedulers": {
1037 "type": "object",
1038 "properties": {
1039 "intf_id": {
1040 "type": "integer",
1041 "format": "int64"
1042 },
1043 "onu_id": {
1044 "type": "integer",
1045 "format": "int64"
1046 },
1047 "uni_id": {
1048 "type": "integer",
1049 "format": "int64"
1050 },
1051 "port_no": {
1052 "type": "integer",
1053 "format": "int64"
1054 },
1055 "traffic_scheds": {
1056 "type": "array",
1057 "items": {
1058 "$ref": "#/definitions/tech_profileTrafficScheduler"
1059 }
1060 }
1061 }
1062 },
1063 "tech_profileTrafficShapingInfo": {
1064 "type": "object",
1065 "properties": {
1066 "cir": {
1067 "type": "integer",
1068 "format": "int64"
1069 },
1070 "cbs": {
1071 "type": "integer",
1072 "format": "int64"
1073 },
1074 "pir": {
1075 "type": "integer",
1076 "format": "int64"
1077 },
1078 "pbs": {
1079 "type": "integer",
1080 "format": "int64"
1081 },
1082 "gir": {
1083 "type": "integer",
1084 "format": "int64"
1085 },
1086 "add_bw_ind": {
1087 "$ref": "#/definitions/tech_profileInferredAdditionBWIndication"
1088 }
1089 }
Zdravko Bozakov2da76342019-10-21 09:47:35 +02001090 }
1091 }
1092}