blob: 1db42e4e7173d65fd1c91e6317e7f333c659d1b4 [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];
Matteo Scandolo610c11d2018-08-31 07:33:43 -070042
43 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 -070044}
45
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070046message PortBase (XOSBase){
47 option gui_hidden = True;
48
Matteo Scandolod8b48752018-08-28 16:24:36 -070049 required string name = 1 [db_index = True];
50 required int32 port_no = 3 [help_text = "Port ID", db_index = False];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070051
Matteo Scandolod8b48752018-08-28 16:24:36 -070052 optional string admin_state = 4 [help_text = "admin_state", db_index = False, feedback_state = True];
53 optional string oper_status = 5 [help_text = "oper_status", db_index = False, feedback_state = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070054}
55
56message PONPort (PortBase){
Matteo Scandolo80912942018-07-25 20:51:30 -070057 option verbose_name = "PON Port";
58 option description="PON Port";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080059
Matteo Scandolod8b48752018-08-28 16:24:36 -070060 required manytoone olt_device->OLTDevice:pon_ports = 1 [db_index = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -070061}
62
63message NNIPort (PortBase) {
64 option verbose_name = "NNI Port";
Matteo Scandolod8b48752018-08-28 16:24:36 -070065 required manytoone olt_device->OLTDevice:nni_ports = 1 [db_index = True];
Andy Bavier03df22b2017-08-30 14:46:02 -070066}
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -070067
68message ONUDevice (XOSBase){
69 option verbose_name = "ONU Device";
70 option description = "Represents a physical ONU device";
71
Matteo Scandolod8b48752018-08-28 16:24:36 -070072 required manytoone pon_port->PONPort:onu_devices = 1 [db_index = True];
73 required string serial_number = 2 [max_length = 254, db_index = False, tosca_key=True, unique = True];
74 required string vendor = 3 [max_length = 254, db_index = False];
75 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 -070076
Matteo Scandolod8b48752018-08-28 16:24:36 -070077 optional string device_id = 5 [max_length = 254, db_index = False, feedback_state = True];
78 optional string admin_state = 6 [choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))", default="ENABLED", help_text = "admin_state", db_index = False];
79 optional string oper_status = 7 [help_text = "oper_status", db_index = False, feedback_state = True];
80 optional string connect_status = 8 [help_text = "connect_status", db_index = False, feedback_state = True];
Matteo Scandolo2360fd92018-05-29 17:27:51 -070081}
82
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070083message PONONUPort (PortBase) {
Matteo Scandolo80912942018-07-25 20:51:30 -070084 option verbose_name = "ANI Port";
85 option description="ANI Port";
Matteo Scandolod8b48752018-08-28 16:24:36 -070086 required manytoone onu_device->ONUDevice:pononu_ports = 1 [db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070087}
88
89message UNIPort (PortBase) {
90 option verbose_name = "UNI Port";
Matteo Scandolod8b48752018-08-28 16:24:36 -070091 required manytoone onu_device->ONUDevice:uni_ports = 1 [db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -070092}
93
Matteo Scandolo2360fd92018-05-29 17:27:51 -070094message VOLTServiceInstance (ServiceInstance){
95 option kind = "vOLT";
96 option owner_class_name = "VOLTService";
97 option verbose_name = "vOLT Service Instance";
98
Matteo Scandolod8b48752018-08-28 16:24:36 -070099 optional string description = 1 [max_length = 254, db_index = False];
Scott Baker6ff7a4a2018-10-01 12:19:49 -0700100 optional manytoone onu_device->ONUDevice:volt_service_instances = 2 [db_index = True];
101}