blob: 6262d76f64a124b17e8652fd1b1dc470d7a8d9c1 [file] [log] [blame]
{
"swagger": "2.0",
"info": {
"title": "BBSim API",
"version": "1.0",
"contact": {
"url": "http://opencord.org"
}
},
"schemes": [
"http"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/v0/olt": {
"get": {
"summary": "Get current status of OLT",
"operationId": "OLTStatus",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyOLTStatusResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"tags": [
"BBSimService"
]
}
},
"/v0/olt/flows": {
"get": {
"summary": "Get flows",
"operationId": "GetFlows",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyFlows"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "pon_port_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu_serial",
"description": "ONU serial number.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/onu/{onu_serial}/flows": {
"get": {
"summary": "Get flows",
"operationId": "GetFlows2",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyFlows"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu_serial",
"description": "ONU serial number",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "pon_port_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/onus": {
"get": {
"summary": "Get status of all or specific ONUs",
"operationId": "ONUStatus",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyONUs"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.pon_port_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_serial",
"description": "ONU serial number.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
},
"delete": {
"summary": "Deactivate ONU(s) for specific PON port(s) specified by\na given onu_serial, onu_id, or pon_port_id",
"operationId": "ONUDeactivate",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/legacyONUs"
}
}
],
"tags": [
"BBSimService"
]
},
"post": {
"summary": "Single/bulk activate ONU(s) for specific PON port(s)",
"operationId": "ONUActivate",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/legacyONUs"
}
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/onus/{onu.onu_serial}": {
"get": {
"summary": "Get status of all or specific ONUs",
"operationId": "ONUStatus2",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyONUs"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.onu_serial",
"description": "ONU serial number",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "onu.onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.pon_port_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
},
"delete": {
"summary": "Deactivate ONU(s) for specific PON port(s) specified by\na given onu_serial, onu_id, or pon_port_id",
"operationId": "ONUDeactivate2",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.onu_serial",
"description": "ONU serial number",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "onu.onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.pon_port_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/onus/{onu_serial}/alarms/{alarm_type}/{status}": {
"post": {
"summary": "Generate ONU related alarms",
"operationId": "GenerateONUAlarm",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu_serial",
"description": "ONU serial number",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "alarm_type",
"description": "Alarm types are:\n \"signaldegrade\"\n \"lossofomcichannel\"\n \"lossofploam\"",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "status",
"description": "\"on\"/\"off\" indicates raised or cleared alarm",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/ports/{onu.pon_port_id}/onus": {
"get": {
"summary": "Get status of all or specific ONUs",
"operationId": "ONUStatus4",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyONUs"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.pon_port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_serial",
"description": "ONU serial number.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
},
"delete": {
"summary": "Deactivate ONU(s) for specific PON port(s) specified by\na given onu_serial, onu_id, or pon_port_id",
"operationId": "ONUDeactivate3",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.pon_port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_serial",
"description": "ONU serial number.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
},
"post": {
"summary": "Single/bulk activate ONU(s) for specific PON port(s)",
"operationId": "ONUActivate2",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.pon_port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/ports/{onu.pon_port_id}/onus/{onu.onu_id}": {
"get": {
"summary": "Get status of all or specific ONUs",
"operationId": "ONUStatus3",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyONUs"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.pon_port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_serial",
"description": "ONU serial number.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
},
"delete": {
"summary": "Deactivate ONU(s) for specific PON port(s) specified by\na given onu_serial, onu_id, or pon_port_id",
"operationId": "ONUDeactivate4",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.pon_port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_serial",
"description": "ONU serial number.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.oper_state",
"description": "ONU oper state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.onu_state",
"description": "ONU internal state.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onu.gemports",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi"
},
{
"name": "onu.tconts.uni_id",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "onu.tconts.port_no",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/ports/{onu.pon_port_id}/onus/{onu.onu_serial}": {
"post": {
"summary": "Single/bulk activate ONU(s) for specific PON port(s)",
"operationId": "ONUActivate3",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "onu.pon_port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "onu.onu_serial",
"description": "ONU serial number",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/ports/{port_type}/{port_id}/alarms/los/{status}": {
"post": {
"summary": "Generate OLT related alarms",
"operationId": "GenerateOLTAlarm",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "port_type",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "status",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/ports/{port_type}/{port_id}/status": {
"get": {
"summary": "Get status of a PON/NNI port",
"operationId": "PortStatus",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyPorts"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "port_type",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "port_id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "pon_port_max_onus",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "pon_port_active_onus",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "port_state",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "alarm_state",
"in": "query",
"required": false,
"type": "string"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/olt/status": {
"get": {
"summary": "Get current status of OLT",
"operationId": "OLTStatus2",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyOLTStatusResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"tags": [
"BBSimService"
]
}
},
"/v0/olt/{device_type}/{serial_number}/action/{action}": {
"patch": {
"summary": "Perform actions on OLT/ONU devices (e.g. reboot)",
"operationId": "PerformDeviceAction2",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "device_type",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "serial_number",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "action",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"BBSimService"
]
}
},
"/v0/{device_type}/action/{action}": {
"patch": {
"summary": "Perform actions on OLT/ONU devices (e.g. reboot)",
"operationId": "PerformDeviceAction",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/legacyBBSimResponse"
}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
}
},
"parameters": [
{
"name": "device_type",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "action",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"BBSimService"
]
}
}
},
"definitions": {
"legacyBBSimResponse": {
"type": "object",
"properties": {
"status_msg": {
"type": "string"
}
},
"title": "BBSim response message"
},
"legacyFlows": {
"type": "object",
"properties": {
"flows": {
"type": "array",
"items": {
"$ref": "#/definitions/openoltFlow"
}
}
}
},
"legacyOLTInfo": {
"type": "object",
"properties": {
"olt_id": {
"type": "string",
"format": "int64"
},
"olt_serial": {
"type": "string"
},
"olt_ip": {
"type": "string"
},
"olt_state": {
"type": "string"
},
"olt_vendor": {
"type": "string"
}
},
"title": "OLT information\nThis supports the older format of the REST APIs (still used from some clients)\nPlease refer to the protos in api/bbsim/bbsim.proto for the latest available version"
},
"legacyOLTStatusResponse": {
"type": "object",
"properties": {
"olt": {
"$ref": "#/definitions/legacyOLTInfo"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/definitions/legacyPortInfo"
}
}
},
"title": "BBSim status"
},
"legacyONUInfo": {
"type": "object",
"properties": {
"onu_id": {
"type": "integer",
"format": "int64"
},
"pon_port_id": {
"type": "integer",
"format": "int64"
},
"onu_serial": {
"type": "string",
"title": "ONU serial number"
},
"oper_state": {
"type": "string",
"title": "ONU oper state"
},
"onu_state": {
"type": "string",
"title": "ONU internal state"
},
"gemports": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"tconts": {
"$ref": "#/definitions/legacyTconts"
}
},
"title": "ONU information"
},
"legacyONUs": {
"type": "object",
"properties": {
"onus": {
"type": "array",
"items": {
"$ref": "#/definitions/legacyONUInfo"
}
}
},
"title": "Bulk ONU operations"
},
"legacyPortInfo": {
"type": "object",
"properties": {
"port_type": {
"type": "string"
},
"port_id": {
"type": "integer",
"format": "int64"
},
"pon_port_max_onus": {
"type": "integer",
"format": "int64"
},
"pon_port_active_onus": {
"type": "integer",
"format": "int64"
},
"port_state": {
"type": "string"
},
"alarm_state": {
"type": "string"
}
},
"title": "Port information"
},
"legacyPorts": {
"type": "object",
"properties": {
"ports": {
"type": "array",
"items": {
"$ref": "#/definitions/legacyPortInfo"
}
}
},
"title": "Bulk port information"
},
"legacyTconts": {
"type": "object",
"properties": {
"uni_id": {
"type": "integer",
"format": "int64"
},
"port_no": {
"type": "integer",
"format": "int64"
},
"tconts": {
"type": "array",
"items": {
"$ref": "#/definitions/tech_profileTrafficScheduler"
}
}
}
},
"openoltAction": {
"type": "object",
"properties": {
"cmd": {
"$ref": "#/definitions/openoltActionCmd"
},
"o_vid": {
"type": "integer",
"format": "int64"
},
"o_pbits": {
"type": "integer",
"format": "int64"
},
"o_tpid": {
"type": "integer",
"format": "int64"
},
"i_vid": {
"type": "integer",
"format": "int64"
},
"i_pbits": {
"type": "integer",
"format": "int64"
},
"i_tpid": {
"type": "integer",
"format": "int64"
}
}
},
"openoltActionCmd": {
"type": "object",
"properties": {
"add_outer_tag": {
"type": "boolean",
"format": "boolean"
},
"remove_outer_tag": {
"type": "boolean",
"format": "boolean"
},
"trap_to_host": {
"type": "boolean",
"format": "boolean"
},
"remark_outer_pbits": {
"type": "boolean",
"format": "boolean"
},
"remark_inner_pbits": {
"type": "boolean",
"format": "boolean"
},
"add_inner_tag": {
"type": "boolean",
"format": "boolean"
},
"remove_inner_tag": {
"type": "boolean",
"format": "boolean"
},
"translate_inner_tag": {
"type": "boolean",
"format": "boolean"
},
"translate_outer_tag": {
"type": "boolean",
"format": "boolean"
}
}
},
"openoltClassifier": {
"type": "object",
"properties": {
"o_tpid": {
"type": "integer",
"format": "int64"
},
"o_vid": {
"type": "integer",
"format": "int64"
},
"i_tpid": {
"type": "integer",
"format": "int64"
},
"i_vid": {
"type": "integer",
"format": "int64"
},
"o_pbits": {
"type": "integer",
"format": "int64"
},
"i_pbits": {
"type": "integer",
"format": "int64"
},
"eth_type": {
"type": "integer",
"format": "int64"
},
"dst_mac": {
"type": "string",
"format": "byte"
},
"src_mac": {
"type": "string",
"format": "byte"
},
"ip_proto": {
"type": "integer",
"format": "int64"
},
"dst_ip": {
"type": "integer",
"format": "int64"
},
"src_ip": {
"type": "integer",
"format": "int64"
},
"src_port": {
"type": "integer",
"format": "int64"
},
"dst_port": {
"type": "integer",
"format": "int64"
},
"pkt_tag_type": {
"type": "string"
}
}
},
"openoltFlow": {
"type": "object",
"properties": {
"access_intf_id": {
"type": "integer",
"format": "int32"
},
"onu_id": {
"type": "integer",
"format": "int32"
},
"uni_id": {
"type": "integer",
"format": "int32"
},
"flow_id": {
"type": "string",
"format": "uint64"
},
"symmetric_flow_id": {
"type": "string",
"format": "uint64"
},
"flow_type": {
"type": "string"
},
"alloc_id": {
"type": "integer",
"format": "int32"
},
"network_intf_id": {
"type": "integer",
"format": "int32"
},
"gemport_id": {
"type": "integer",
"format": "int32"
},
"classifier": {
"$ref": "#/definitions/openoltClassifier"
},
"action": {
"$ref": "#/definitions/openoltAction"
},
"priority": {
"type": "integer",
"format": "int32"
},
"cookie": {
"type": "string",
"format": "uint64"
},
"port_no": {
"type": "integer",
"format": "int64"
},
"group_id": {
"type": "integer",
"format": "int64"
},
"tech_profile_id": {
"type": "integer",
"format": "int64"
},
"replicate_flow": {
"type": "boolean",
"format": "boolean"
},
"pbit_to_gemport": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int64"
}
},
"gemport_to_aes": {
"type": "object",
"additionalProperties": {
"type": "boolean",
"format": "boolean"
}
}
}
},
"tech_profileAdditionalBW": {
"type": "string",
"enum": [
"AdditionalBW_None",
"AdditionalBW_NA",
"AdditionalBW_BestEffort",
"AdditionalBW_Auto"
],
"default": "AdditionalBW_None"
},
"tech_profileDirection": {
"type": "string",
"enum": [
"UPSTREAM",
"DOWNSTREAM",
"BIDIRECTIONAL"
],
"default": "UPSTREAM"
},
"tech_profileInferredAdditionBWIndication": {
"type": "string",
"enum": [
"InferredAdditionBWIndication_None",
"InferredAdditionBWIndication_Assured",
"InferredAdditionBWIndication_BestEffort"
],
"default": "InferredAdditionBWIndication_None"
},
"tech_profileSchedulerConfig": {
"type": "object",
"properties": {
"direction": {
"$ref": "#/definitions/tech_profileDirection"
},
"additional_bw": {
"$ref": "#/definitions/tech_profileAdditionalBW"
},
"priority": {
"type": "integer",
"format": "int64"
},
"weight": {
"type": "integer",
"format": "int64"
},
"sched_policy": {
"$ref": "#/definitions/tech_profileSchedulingPolicy"
}
}
},
"tech_profileSchedulingPolicy": {
"type": "string",
"enum": [
"WRR",
"StrictPriority",
"Hybrid"
],
"default": "WRR"
},
"tech_profileTrafficScheduler": {
"type": "object",
"properties": {
"direction": {
"$ref": "#/definitions/tech_profileDirection"
},
"alloc_id": {
"type": "integer",
"format": "int64"
},
"scheduler": {
"$ref": "#/definitions/tech_profileSchedulerConfig"
},
"traffic_shaping_info": {
"$ref": "#/definitions/tech_profileTrafficShapingInfo"
},
"tech_profile_id": {
"type": "integer",
"format": "int64"
}
}
},
"tech_profileTrafficShapingInfo": {
"type": "object",
"properties": {
"cir": {
"type": "integer",
"format": "int64"
},
"cbs": {
"type": "integer",
"format": "int64"
},
"pir": {
"type": "integer",
"format": "int64"
},
"pbs": {
"type": "integer",
"format": "int64"
},
"gir": {
"type": "integer",
"format": "int64"
},
"add_bw_ind": {
"$ref": "#/definitions/tech_profileInferredAdditionBWIndication"
}
}
}
}
}