blob: d4b9288b5a052751009c2e1fc4110d0f6afb51fe [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";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -08008
Matteo Scandolod8b48752018-08-28 16:24:36 -07009 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];
10 required int32 voltha_port = 2 [help_text = "The Voltha API port. By default 8882", default=8882, db_index = False];
11 required string voltha_user = 3 [help_text = "The Voltha username. By default voltha", default="voltha", max_length = 254, db_index = False];
12 required string voltha_pass = 4 [help_text = "The Voltha password. By default admin", default="admin", max_length = 254, db_index = False];
13 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];
14 required int32 onos_voltha_port = 6 [help_text = "The Voltha API port. By default 8181", default=8181, db_index = False];
15 required string onos_voltha_user = 7 [help_text = "The ONOS Voltha username. By default sdn", max_length = 254, default="onos", db_index = False];
16 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 -070017}
18
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080019message OLTDevice (XOSBase){
20 option verbose_name = "OLT Device";
21 option description="Represents a physical OLT device";
Andy Bavier03df22b2017-08-30 14:46:02 -070022
Matteo Scandolod8b48752018-08-28 16:24:36 -070023 required manytoone volt_service->VOLTService:volt_devices = 1 [db_index = True];
24 optional string name = 2 [help_text = "name of device", max_length = 254, db_index = False, unique = True];
25 required string device_type = 3 [help_text = "Device Type", default = "openolt", max_length = 254, db_index = False];
26 optional string host = 4 [help_text = "Device IP", max_length = 254, db_index = False];
27 optional int32 port = 5 [help_text = "Device port", db_index = False];
28 optional string mac_address = 6 [help_text = "Device mac address", db_index = False];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080029
Matteo Scandolod8b48752018-08-28 16:24:36 -070030 optional string device_id = 10 [help_text = "Device ID", db_index = False, feedback_state = True];
31 optional string admin_state = 11 [help_text = "admin_state", db_index = False, feedback_state = True];
32 optional string oper_status = 12 [help_text = "oper_status", db_index = False, feedback_state = True];
33 optional string of_id = 13 [help_text = "openflow id", db_index = False, feedback_state = True];
34 optional string dp_id = 14 [help_text = "datapath id", db_index = False];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080035
Matteo Scandolod8b48752018-08-28 16:24:36 -070036 required string uplink = 15 [help_text = "uplink port", db_index = False];
37 required string driver = 16 [default="voltha", help_text = "Olt driver", db_index = False];
Matteo Scandolod3c768d2018-04-11 13:38:49 -070038
Matteo Scandolod8b48752018-08-28 16:24:36 -070039 optional string switch_datapath_id = 17 [help_text = "Fabric switch to which the OLT is connected", db_index = False];
40 optional string switch_port = 18 [help_text = "Fabric port to which the OLT is connected", db_index = False];
41 optional string outer_tpid = 19 [help_text = "Outer VLAN id field EtherType", db_index = False];
Andy Bavier03df22b2017-08-30 14:46:02 -070042}
43
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070044message PortBase (XOSBase){
45 option gui_hidden = True;
46
Matteo Scandolod8b48752018-08-28 16:24:36 -070047 required string name = 1 [db_index = True];
48 required int32 port_no = 3 [help_text = "Port ID", db_index = False];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070049
Matteo Scandolod8b48752018-08-28 16:24:36 -070050 optional string admin_state = 4 [help_text = "admin_state", db_index = False, feedback_state = True];
51 optional string oper_status = 5 [help_text = "oper_status", db_index = False, feedback_state = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070052}
53
54message PONPort (PortBase){
Matteo Scandolo80912942018-07-25 20:51:30 -070055 option verbose_name = "PON Port";
56 option description="PON Port";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080057
Matteo Scandolod8b48752018-08-28 16:24:36 -070058 required manytoone olt_device->OLTDevice:pon_ports = 1 [db_index = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070059}
60
61message NNIPort (PortBase) {
62 option verbose_name = "NNI Port";
Matteo Scandolod8b48752018-08-28 16:24:36 -070063 required manytoone olt_device->OLTDevice:nni_ports = 1 [db_index = True];
Andy Bavier03df22b2017-08-30 14:46:02 -070064}
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -070065
66message ONUDevice (XOSBase){
67 option verbose_name = "ONU Device";
68 option description = "Represents a physical ONU device";
69
Matteo Scandolod8b48752018-08-28 16:24:36 -070070 required manytoone pon_port->PONPort:onu_devices = 1 [db_index = True];
71 required string serial_number = 2 [max_length = 254, db_index = False, tosca_key=True, unique = True];
72 required string vendor = 3 [max_length = 254, db_index = False];
73 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 -070074
Matteo Scandolod8b48752018-08-28 16:24:36 -070075 optional string device_id = 5 [max_length = 254, db_index = False, feedback_state = True];
76 optional string admin_state = 6 [choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))", default="ENABLED", help_text = "admin_state", db_index = False];
77 optional string oper_status = 7 [help_text = "oper_status", db_index = False, feedback_state = True];
78 optional string connect_status = 8 [help_text = "connect_status", db_index = False, feedback_state = True];
Matteo Scandolo2360fd92018-05-29 17:27:51 -070079}
80
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070081message PONONUPort (PortBase) {
Matteo Scandolo80912942018-07-25 20:51:30 -070082 option verbose_name = "ANI Port";
83 option description="ANI Port";
Matteo Scandolod8b48752018-08-28 16:24:36 -070084 required manytoone onu_device->ONUDevice:pononu_ports = 1 [db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070085}
86
87message UNIPort (PortBase) {
88 option verbose_name = "UNI Port";
Matteo Scandolod8b48752018-08-28 16:24:36 -070089 required manytoone onu_device->ONUDevice:uni_ports = 1 [db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070090}
91
Matteo Scandolo2360fd92018-05-29 17:27:51 -070092message VOLTServiceInstance (ServiceInstance){
93 option kind = "vOLT";
94 option owner_class_name = "VOLTService";
95 option verbose_name = "vOLT Service Instance";
96
Matteo Scandolod8b48752018-08-28 16:24:36 -070097 optional string description = 1 [max_length = 254, db_index = False];
98 optional manytoone onu_device->ONUDevice:volt_service_instances = 1 [db_index = True];
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -070099}