blob: a1c58374a02d49689592f8fbdb43cd2036cd7a0c [file] [log] [blame]
Andy Bavier03df22b2017-08-30 14:46:02 -07001option name = "volt";
Matteo Scandolobfc31332018-03-29 09:06:52 -07002option app_label = "volt";
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -07003option legacy="True";
Andy Bavier03df22b2017-08-30 14:46:02 -07004
5message VOLTService (Service){
Matteo Scandolo43473812018-03-02 10:55:54 -08006 option verbose_name = "vOLT Service";
7 option kind = "vOLT";
Scott Baker2108e752019-01-17 07:00:32 -08008 option description = "OLT Access Service";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -08009
Matteo Scandolod8b48752018-08-28 16:24:36 -070010 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, db_index = False];
11 required int32 voltha_port = 2 [help_text = "The Voltha API port. By default 8882", default=8882, db_index = False];
12 required string voltha_user = 3 [help_text = "The Voltha username. By default voltha", default="voltha", max_length = 254, db_index = False];
13 required string voltha_pass = 4 [help_text = "The Voltha password. By default admin", default="admin", max_length = 254, db_index = False];
14 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, db_index = False];
15 required int32 onos_voltha_port = 6 [help_text = "The Voltha API port. By default 8181", default=8181, db_index = False];
16 required string onos_voltha_user = 7 [help_text = "The ONOS Voltha username. By default sdn", max_length = 254, default="onos", db_index = False];
17 required string onos_voltha_pass = 8 [help_text = "The ONOS Voltha password. By default rocks", max_length = 254, default="rocks", db_index = False];
Andy Bavier03df22b2017-08-30 14:46:02 -070018}
19
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080020message OLTDevice (XOSBase){
21 option verbose_name = "OLT Device";
22 option description="Represents a physical OLT device";
Andy Bavier03df22b2017-08-30 14:46:02 -070023
Scott Baker2108e752019-01-17 07:00:32 -080024 required manytoone volt_service->VOLTService:volt_devices = 1:1001 [help_text = "VOLTService that owns this OLT", db_index = True];
25 optional string name = 2 [help_text = "Human-readable name of device", max_length = 254, db_index = False, unique = True];
26 required string device_type = 3 [help_text = "Phyiscal Device Type", default = "openolt", max_length = 254, db_index = False];
27 optional string host = 4 [help_text = "IP Address of physical OLT Device", max_length = 254, db_index = False];
28 optional int32 port = 5 [help_text = "Port Number of physical OLT Device", db_index = False, unique_with = "host"];
29 optional string mac_address = 6 [help_text = "Mac address of physical OLT Device", db_index = False];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080030
Matteo Scandolof140ded2018-10-17 15:37:15 -070031 optional string serial_number = 9 [help_text = "Serial Number", db_index = False];
Scott Baker2108e752019-01-17 07:00:32 -080032 optional string device_id = 10 [help_text = "Voltha Device ID", db_index = False, feedback_state = True];
33 optional string admin_state = 11 [help_text = "admin state, whether OLT should be enabled", db_index = False, feedback_state = True];
34 optional string oper_status = 12 [help_text = "operational status, whether OLT is active", db_index = False, feedback_state = True];
35 optional string of_id = 13 [help_text = "Logical device openflow id", db_index = False, feedback_state = True];
36 optional string dp_id = 14 [help_text = "Logical device datapath id", db_index = False];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080037
Scott Baker2108e752019-01-17 07:00:32 -080038 required string uplink = 15 [help_text = "uplink port, exposed via sadis", db_index = False];
39 required string driver = 16 [help_text = "DEPRECATED", default="voltha", db_index = False]; // Used to be sent to ONOS, now unused.
Matteo Scandolod3c768d2018-04-11 13:38:49 -070040
Matteo Scandolod8b48752018-08-28 16:24:36 -070041 optional string switch_datapath_id = 17 [help_text = "Fabric switch to which the OLT is connected", db_index = False];
42 optional string switch_port = 18 [help_text = "Fabric port to which the OLT is connected", db_index = False];
43 optional string outer_tpid = 19 [help_text = "Outer VLAN id field EtherType", db_index = False];
Matteo Scandolo610c11d2018-08-31 07:33:43 -070044
45 optional string nas_id = 20 [help_text = "Authentication ID (propagated to the free-radius server via sadis)", db_index = False];
Andy Bavier03df22b2017-08-30 14:46:02 -070046}
47
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070048message PortBase (XOSBase){
49 option gui_hidden = True;
50
Scott Baker2108e752019-01-17 07:00:32 -080051 required string name = 1 [help_text = "Human-readable name of port", db_index = True];
52 required int32 port_no = 3 [help_text = "Port Number", db_index = False];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070053
Scott Baker2108e752019-01-17 07:00:32 -080054 optional string admin_state = 4 [help_text = "admin state, whether port should be enabled", db_index = False, feedback_state = True];
55 optional string oper_status = 5 [help_text = "operational status, whether port is active", db_index = False, feedback_state = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070056}
57
58message PONPort (PortBase){
Matteo Scandolo80912942018-07-25 20:51:30 -070059 option verbose_name = "PON Port";
60 option description="PON Port";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080061
Scott Baker2108e752019-01-17 07:00:32 -080062 required manytoone olt_device->OLTDevice:pon_ports = 1:1001 [help_text = "OLTDevice that owns this PONPort", db_index = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070063}
64
65message NNIPort (PortBase) {
66 option verbose_name = "NNI Port";
Scott Baker2108e752019-01-17 07:00:32 -080067 required manytoone olt_device->OLTDevice:nni_ports = 1:1002 [help_text = "OLTDevice that owns this NNIPort", db_index = True];
Andy Bavier03df22b2017-08-30 14:46:02 -070068}
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -070069
70message ONUDevice (XOSBase){
71 option verbose_name = "ONU Device";
72 option description = "Represents a physical ONU device";
73
Scott Baker2108e752019-01-17 07:00:32 -080074 required manytoone pon_port->PONPort:onu_devices = 1:1001 [help_text = "PONPort that connects this ONUDevice to an OLTDevice", db_index = True];
75 required string serial_number = 2 [help_text = "Serial number of ONU Device", max_length = 254, db_index = False, tosca_key=True, unique = True];
76 required string vendor = 3 [help_text = "Vendor of ONU Device", max_length = 254, db_index = False];
Matteo Scandolod8b48752018-08-28 16:24:36 -070077 required string device_type = 4 [help_text = "Device Type", default = "asfvolt16_olt", max_length = 254, db_index = False];
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -070078
Scott Baker2108e752019-01-17 07:00:32 -080079 optional string device_id = 5 [help_text = "Voltha Device ID", max_length = 254, db_index = False, feedback_state = True];
80 optional string admin_state = 6 [help_text = "admin state, whether port should be enabled", choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))", default="ENABLED", db_index = False];
Matteo Scandolod8b48752018-08-28 16:24:36 -070081 optional string oper_status = 7 [help_text = "oper_status", db_index = False, feedback_state = True];
Scott Baker2108e752019-01-17 07:00:32 -080082 optional string connect_status = 8 [help_text = "operational status, whether port is active", db_index = False, feedback_state = True];
Scott Baker3db0eef2019-01-15 11:56:41 -080083 optional string reason = 9 [help_text = "ONU device configuration state machine status message", db_index = False, feedback_state = True];
Matteo Scandolo2360fd92018-05-29 17:27:51 -070084}
85
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070086message PONONUPort (PortBase) {
Matteo Scandolo80912942018-07-25 20:51:30 -070087 option verbose_name = "ANI Port";
Scott Baker2108e752019-01-17 07:00:32 -080088 option description="Access Node Interface Port";
89 required manytoone onu_device->ONUDevice:pononu_ports = 1:1001 [help_text = "ONUDevice that owns this PONONUPort", db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070090}
91
92message UNIPort (PortBase) {
93 option verbose_name = "UNI Port";
Scott Baker2108e752019-01-17 07:00:32 -080094 option description = "User Network Interface Port";
95 required manytoone onu_device->ONUDevice:uni_ports = 1:1002 [help_text = "ONUDevice that owns this UNIPort", db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070096}
97
Matteo Scandolo2360fd92018-05-29 17:27:51 -070098message VOLTServiceInstance (ServiceInstance){
99 option kind = "vOLT";
100 option owner_class_name = "VOLTService";
101 option verbose_name = "vOLT Service Instance";
Scott Baker2108e752019-01-17 07:00:32 -0800102 option description = "Represents subscriber tenancy in the VOLT Service";
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700103
Scott Baker2108e752019-01-17 07:00:32 -0800104 optional string description = 1 [help_text = "Human-readable description", max_length = 254, db_index = False];
105 optional manytoone onu_device->ONUDevice:volt_service_instances = 2:1003 [help_text = "ONUDevice that belongs to this Subscriber chain", db_index = True];
Scott Baker6ff7a4a2018-10-01 12:19:49 -0700106}