blob: d830300e03773d74a03e3d9bb214bba3dd2342ba [file] [log] [blame]
option name = "volt";
option app_label = "volt";
option legacy="True";
message VOLTService (Service){
option verbose_name = "vOLT Service";
option kind = "vOLT";
option description = "OLT Access Service";
required string voltha_url = 1 [
help_text = "The Voltha API address. By default voltha.voltha.svc.cluster.local",
default = "voltha.voltha.svc.cluster.local",
max_length = 254];
required int32 voltha_port = 2 [
help_text = "The Voltha API port. By default 8882",
default = 8882];
required string voltha_user = 3 [
help_text = "The Voltha username. By default voltha",
default = "voltha",
max_length = 254];
required string voltha_pass = 4 [
help_text = "The Voltha password. By default admin",
default = "admin",
max_length = 254];
required string onos_voltha_url = 5 [
help_text = "The ONOS Voltha address. By default onos-voltha-ui.voltha.svc.cluster.local",
default = "onos-voltha-ui.voltha.svc.cluster.local",
max_length = 254];
required int32 onos_voltha_port = 6 [
help_text = "The Voltha API port. By default 8181",
default = 8181];
required string onos_voltha_user = 7 [
help_text = "The ONOS Voltha username. By default sdn",
max_length = 254,
default = "onos"];
required string onos_voltha_pass = 8 [
help_text = "The ONOS Voltha password. By default rocks",
max_length = 254,
default = "rocks"];
}
message OLTDevice (XOSBase){
option verbose_name = "OLT Device";
option description="Represents a physical OLT device";
required manytoone volt_service->VOLTService:volt_devices = 1:1001 [
help_text = "VOLTService that owns this OLT",
db_index = True];
optional string name = 2 [
help_text = "Human-readable name of device",
max_length = 254,
unique = True];
required string device_type = 3 [
help_text = "Phyiscal Device Type",
default = "openolt",
max_length = 254];
optional string host = 4 [
help_text = "IP Address of physical OLT Device",
max_length = 254];
optional int32 port = 5 [
help_text = "Port Number of physical OLT Device",
unique_with = "host"];
optional string mac_address = 6 [
help_text = "Mac address of physical OLT Device"];
optional string serial_number = 9 [
help_text = "Serial Number"];
optional string device_id = 10 [
help_text = "Voltha Device ID",
feedback_state = True];
optional string admin_state = 11 [
help_text = "admin state, whether OLT should be enabled",
choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
default = "ENABLED"];
optional string oper_status = 12 [
help_text = "operational status, whether OLT is active",
feedback_state = True];
optional string of_id = 13 [
help_text = "Logical device openflow id",
feedback_state = True];
optional string dp_id = 14 [
help_text = "Logical device datapath id"];
required string uplink = 15 [
help_text = "uplink port, exposed via sadis"];
required string driver = 16 [
help_text = "DEPRECATED",
default = "voltha"]; // Used to be sent to ONOS, now unused.
optional string switch_datapath_id = 17 [
help_text = "Fabric switch to which the OLT is connected"];
optional string switch_port = 18 [
help_text = "Fabric port to which the OLT is connected"];
optional string outer_tpid = 19 [
help_text = "Outer VLAN id field EtherType"];
optional string nas_id = 20 [
help_text = "Authentication ID (propagated to the free-radius server via sadis)"];
}
message PortBase (XOSBase){
option gui_hidden = True;
option description = "Base class for Port objects";
required string name = 1 [
help_text = "Human-readable name of port",
db_index = True];
required int32 port_no = 3 [
help_text = "Port Number"];
optional string admin_state = 4 [
help_text = "admin state, whether port should be enabled",
feedback_state = True];
optional string oper_status = 5 [
help_text = "operational status, whether port is active",
feedback_state = True];
}
message PONPort (PortBase){
option verbose_name = "PON Port";
option description = "PON Port";
required manytoone olt_device->OLTDevice:pon_ports = 1:1001 [
help_text = "OLTDevice that owns this PONPort",
db_index = True];
}
message NNIPort (PortBase) {
option verbose_name = "NNI Port";
option description = "NNI Port";
required manytoone olt_device->OLTDevice:nni_ports = 1:1002 [
help_text = "OLTDevice that owns this NNIPort",
db_index = True];
}
message ONUDevice (XOSBase){
option verbose_name = "ONU Device";
option description = "Represents a physical ONU device";
required manytoone pon_port->PONPort:onu_devices = 1:1001 [
help_text = "PONPort that connects this ONUDevice to an OLTDevice",
db_index = True];
required string serial_number = 2 [
help_text = "Serial number of ONU Device",
max_length = 254,
tosca_key=True,
unique = True];
required string vendor = 3 [
help_text = "Vendor of ONU Device",
max_length = 254];
required string device_type = 4 [
help_text = "Device Type",
default = "asfvolt16_olt",
max_length = 254];
optional string device_id = 5 [
help_text = "Voltha Device ID",
feedback_state = True,
max_length = 254];
optional string admin_state = 6 [
help_text = "admin state, whether port should be enabled",
choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
default = "ENABLED"];
optional string oper_status = 7 [
help_text = "oper_status",
feedback_state = True];
optional string connect_status = 8 [
help_text = "operational status, whether port is active",
feedback_state = True];
optional string reason = 9 [
help_text = "ONU device configuration state machine status message",
feedback_state = True];
}
message PONONUPort (PortBase) {
option verbose_name = "ANI Port";
option description="Access Node Interface Port";
required manytoone onu_device->ONUDevice:pononu_ports = 1:1001 [
help_text = "ONUDevice that owns this PONONUPort",
db_index = True];
}
message UNIPort (PortBase) {
option verbose_name = "UNI Port";
option description = "User Network Interface Port";
required manytoone onu_device->ONUDevice:uni_ports = 1:1002 [
help_text = "ONUDevice that owns this UNIPort",
db_index = True];
}
message VOLTServiceInstance (ServiceInstance){
option kind = "vOLT";
option owner_class_name = "VOLTService";
option verbose_name = "vOLT Service Instance";
option description = "Represents subscriber tenancy in the VOLT Service";
optional string description = 1 [
help_text = "Human-readable description",
max_length = 254];
optional manytoone onu_device->ONUDevice:volt_service_instances = 2:1003 [
help_text = "ONUDevice that belongs to this Subscriber chain",
db_index = True];
}