blob: 20492a438aa000c8287d9cd763dc8387b3f728f4 [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
Scott Baker1e043272019-01-24 08:33:15 -080010 required string voltha_url = 1 [
11 help_text = "The Voltha API address. By default voltha.voltha.svc.cluster.local",
Scott Baker1e043272019-01-24 08:33:15 -080012 default = "voltha.voltha.svc.cluster.local",
13 max_length = 254];
14 required int32 voltha_port = 2 [
15 help_text = "The Voltha API port. By default 8882",
Scott Baker1e043272019-01-24 08:33:15 -080016 default = 8882];
17 required string voltha_user = 3 [
18 help_text = "The Voltha username. By default voltha",
Scott Baker1e043272019-01-24 08:33:15 -080019 default = "voltha",
20 max_length = 254];
21 required string voltha_pass = 4 [
22 help_text = "The Voltha password. By default admin",
Scott Baker1e043272019-01-24 08:33:15 -080023 default = "admin",
24 max_length = 254];
25 required string onos_voltha_url = 5 [
26 help_text = "The ONOS Voltha address. By default onos-voltha-ui.voltha.svc.cluster.local",
Scott Baker1e043272019-01-24 08:33:15 -080027 default = "onos-voltha-ui.voltha.svc.cluster.local",
28 max_length = 254];
29 required int32 onos_voltha_port = 6 [
30 help_text = "The Voltha API port. By default 8181",
Scott Baker1e043272019-01-24 08:33:15 -080031 default = 8181];
32 required string onos_voltha_user = 7 [
33 help_text = "The ONOS Voltha username. By default sdn",
34 max_length = 254,
Scott Baker1e043272019-01-24 08:33:15 -080035 default = "onos"];
36 required string onos_voltha_pass = 8 [
37 help_text = "The ONOS Voltha password. By default rocks",
38 max_length = 254,
Scott Baker1e043272019-01-24 08:33:15 -080039 default = "rocks"];
Andy Bavier03df22b2017-08-30 14:46:02 -070040}
41
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080042message OLTDevice (XOSBase){
43 option verbose_name = "OLT Device";
44 option description="Represents a physical OLT device";
Andy Bavier03df22b2017-08-30 14:46:02 -070045
Scott Baker1e043272019-01-24 08:33:15 -080046 required manytoone volt_service->VOLTService:volt_devices = 1:1001 [
47 help_text = "VOLTService that owns this OLT",
48 db_index = True];
49 optional string name = 2 [
50 help_text = "Human-readable name of device",
Scott Baker1e043272019-01-24 08:33:15 -080051 max_length = 254,
52 unique = True];
53 required string device_type = 3 [
54 help_text = "Phyiscal Device Type",
Scott Baker1e043272019-01-24 08:33:15 -080055 default = "openolt",
56 max_length = 254];
57 optional string host = 4 [
58 help_text = "IP Address of physical OLT Device",
Scott Baker1e043272019-01-24 08:33:15 -080059 max_length = 254];
60 optional int32 port = 5 [
61 help_text = "Port Number of physical OLT Device",
Scott Baker1e043272019-01-24 08:33:15 -080062 unique_with = "host"];
63 optional string mac_address = 6 [
Scott Baker3f4816f2019-03-12 15:06:01 -070064 help_text = "Mac address of physical OLT Device"];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080065
Scott Baker1e043272019-01-24 08:33:15 -080066 optional string serial_number = 9 [
Scott Baker3f4816f2019-03-12 15:06:01 -070067 help_text = "Serial Number"];
Scott Baker1e043272019-01-24 08:33:15 -080068 optional string device_id = 10 [
69 help_text = "Voltha Device ID",
Scott Baker1e043272019-01-24 08:33:15 -080070 feedback_state = True];
71 optional string admin_state = 11 [
72 help_text = "admin state, whether OLT should be enabled",
73 choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
Scott Baker1e043272019-01-24 08:33:15 -080074 default = "ENABLED"];
75 optional string oper_status = 12 [
76 help_text = "operational status, whether OLT is active",
Scott Baker1e043272019-01-24 08:33:15 -080077 feedback_state = True];
Scott Baker12687732019-03-19 15:40:57 -070078 optional string link_status = 21 [
79 help_text = "connectivity status, whether OLT has connectivity to agg switch",
80 choices = "(('up', 'up'), ('down', 'down'))",
81 feedback_state = True];
Scott Baker1e043272019-01-24 08:33:15 -080082 optional string of_id = 13 [
83 help_text = "Logical device openflow id",
Scott Baker1e043272019-01-24 08:33:15 -080084 feedback_state = True];
85 optional string dp_id = 14 [
Scott Baker3f4816f2019-03-12 15:06:01 -070086 help_text = "Logical device datapath id"];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080087
Scott Baker1e043272019-01-24 08:33:15 -080088 required string uplink = 15 [
Scott Baker3f4816f2019-03-12 15:06:01 -070089 help_text = "uplink port, exposed via sadis"];
Scott Baker1e043272019-01-24 08:33:15 -080090 required string driver = 16 [
91 help_text = "DEPRECATED",
Scott Baker1e043272019-01-24 08:33:15 -080092 default = "voltha"]; // Used to be sent to ONOS, now unused.
Matteo Scandolod3c768d2018-04-11 13:38:49 -070093
Scott Baker1e043272019-01-24 08:33:15 -080094 optional string switch_datapath_id = 17 [
Scott Baker3f4816f2019-03-12 15:06:01 -070095 help_text = "Fabric switch to which the OLT is connected"];
Scott Baker1e043272019-01-24 08:33:15 -080096 optional string switch_port = 18 [
Scott Baker3f4816f2019-03-12 15:06:01 -070097 help_text = "Fabric port to which the OLT is connected"];
Scott Baker1e043272019-01-24 08:33:15 -080098 optional string outer_tpid = 19 [
Scott Baker3f4816f2019-03-12 15:06:01 -070099 help_text = "Outer VLAN id field EtherType"];
Matteo Scandolo610c11d2018-08-31 07:33:43 -0700100
Scott Baker1e043272019-01-24 08:33:15 -0800101 optional string nas_id = 20 [
Scott Baker3f4816f2019-03-12 15:06:01 -0700102 help_text = "Authentication ID (propagated to the free-radius server via sadis)"];
Andy Bavier03df22b2017-08-30 14:46:02 -0700103}
104
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700105message PortBase (XOSBase){
106 option gui_hidden = True;
Scott Baker1e043272019-01-24 08:33:15 -0800107 option description = "Base class for Port objects";
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700108
Scott Baker1e043272019-01-24 08:33:15 -0800109 required string name = 1 [
110 help_text = "Human-readable name of port",
111 db_index = True];
112 required int32 port_no = 3 [
Scott Baker3f4816f2019-03-12 15:06:01 -0700113 help_text = "Port Number"];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700114
Scott Baker1e043272019-01-24 08:33:15 -0800115 optional string admin_state = 4 [
116 help_text = "admin state, whether port should be enabled",
Scott Baker1e043272019-01-24 08:33:15 -0800117 feedback_state = True];
118 optional string oper_status = 5 [
119 help_text = "operational status, whether port is active",
Scott Baker1e043272019-01-24 08:33:15 -0800120 feedback_state = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700121}
122
123message PONPort (PortBase){
Matteo Scandolo80912942018-07-25 20:51:30 -0700124 option verbose_name = "PON Port";
Scott Baker1e043272019-01-24 08:33:15 -0800125 option description = "PON Port";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -0800126
Scott Baker1e043272019-01-24 08:33:15 -0800127 required manytoone olt_device->OLTDevice:pon_ports = 1:1001 [
128 help_text = "OLTDevice that owns this PONPort",
129 db_index = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700130}
131
132message NNIPort (PortBase) {
133 option verbose_name = "NNI Port";
Scott Baker1e043272019-01-24 08:33:15 -0800134 option description = "NNI Port";
135
136 required manytoone olt_device->OLTDevice:nni_ports = 1:1002 [
137 help_text = "OLTDevice that owns this NNIPort",
138 db_index = True];
Andy Bavier03df22b2017-08-30 14:46:02 -0700139}
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -0700140
141message ONUDevice (XOSBase){
142 option verbose_name = "ONU Device";
143 option description = "Represents a physical ONU device";
144
Scott Baker1e043272019-01-24 08:33:15 -0800145 required manytoone pon_port->PONPort:onu_devices = 1:1001 [
146 help_text = "PONPort that connects this ONUDevice to an OLTDevice",
147 db_index = True];
148 required string serial_number = 2 [
149 help_text = "Serial number of ONU Device",
Scott Baker1e043272019-01-24 08:33:15 -0800150 max_length = 254,
151 tosca_key=True,
152 unique = True];
153 required string vendor = 3 [
154 help_text = "Vendor of ONU Device",
Scott Baker1e043272019-01-24 08:33:15 -0800155 max_length = 254];
156 required string device_type = 4 [
157 help_text = "Device Type",
Scott Baker1e043272019-01-24 08:33:15 -0800158 default = "asfvolt16_olt",
159 max_length = 254];
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -0700160
Scott Baker1e043272019-01-24 08:33:15 -0800161 optional string device_id = 5 [
162 help_text = "Voltha Device ID",
Scott Baker1e043272019-01-24 08:33:15 -0800163 feedback_state = True,
164 max_length = 254];
165 optional string admin_state = 6 [
166 help_text = "admin state, whether port should be enabled",
167 choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
Scott Baker1e043272019-01-24 08:33:15 -0800168 default = "ENABLED"];
169 optional string oper_status = 7 [
170 help_text = "oper_status",
Scott Baker1e043272019-01-24 08:33:15 -0800171 feedback_state = True];
172 optional string connect_status = 8 [
173 help_text = "operational status, whether port is active",
Scott Baker1e043272019-01-24 08:33:15 -0800174 feedback_state = True];
175 optional string reason = 9 [
176 help_text = "ONU device configuration state machine status message",
Scott Baker1e043272019-01-24 08:33:15 -0800177 feedback_state = True];
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700178}
179
Matteo Scandolod8ed60e2018-06-18 17:00:57 -0700180message PONONUPort (PortBase) {
Matteo Scandolo80912942018-07-25 20:51:30 -0700181 option verbose_name = "ANI Port";
Scott Baker2108e752019-01-17 07:00:32 -0800182 option description="Access Node Interface Port";
Scott Baker1e043272019-01-24 08:33:15 -0800183 required manytoone onu_device->ONUDevice:pononu_ports = 1:1001 [
184 help_text = "ONUDevice that owns this PONONUPort",
185 db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -0700186}
187
188message UNIPort (PortBase) {
189 option verbose_name = "UNI Port";
Scott Baker2108e752019-01-17 07:00:32 -0800190 option description = "User Network Interface Port";
Scott Baker1e043272019-01-24 08:33:15 -0800191 required manytoone onu_device->ONUDevice:uni_ports = 1:1002 [
192 help_text = "ONUDevice that owns this UNIPort",
193 db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -0700194}
195
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700196message VOLTServiceInstance (ServiceInstance){
197 option kind = "vOLT";
198 option owner_class_name = "VOLTService";
199 option verbose_name = "vOLT Service Instance";
Scott Baker2108e752019-01-17 07:00:32 -0800200 option description = "Represents subscriber tenancy in the VOLT Service";
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700201
Scott Baker1e043272019-01-24 08:33:15 -0800202 optional string description = 1 [
203 help_text = "Human-readable description",
Scott Baker1e043272019-01-24 08:33:15 -0800204 max_length = 254];
205 optional manytoone onu_device->ONUDevice:volt_service_instances = 2:1003 [
206 help_text = "ONUDevice that belongs to this Subscriber chain",
207 db_index = True];
Scott Baker6ff7a4a2018-10-01 12:19:49 -0700208}