blob: 778db609cdbb45da8a4b8e362bf93b668b92f223 [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",
12 db_index = False,
13 default = "voltha.voltha.svc.cluster.local",
14 max_length = 254];
15 required int32 voltha_port = 2 [
16 help_text = "The Voltha API port. By default 8882",
17 db_index = False,
18 default = 8882];
19 required string voltha_user = 3 [
20 help_text = "The Voltha username. By default voltha",
21 db_index = False,
22 default = "voltha",
23 max_length = 254];
24 required string voltha_pass = 4 [
25 help_text = "The Voltha password. By default admin",
26 db_index = False,
27 default = "admin",
28 max_length = 254];
29 required string onos_voltha_url = 5 [
30 help_text = "The ONOS Voltha address. By default onos-voltha-ui.voltha.svc.cluster.local",
31 db_index = False,
32 default = "onos-voltha-ui.voltha.svc.cluster.local",
33 max_length = 254];
34 required int32 onos_voltha_port = 6 [
35 help_text = "The Voltha API port. By default 8181",
36 db_index = False,
37 default = 8181];
38 required string onos_voltha_user = 7 [
39 help_text = "The ONOS Voltha username. By default sdn",
40 max_length = 254,
41 db_index = False,
42 default = "onos"];
43 required string onos_voltha_pass = 8 [
44 help_text = "The ONOS Voltha password. By default rocks",
45 max_length = 254,
46 db_index = False,
47 default = "rocks"];
Andy Bavier03df22b2017-08-30 14:46:02 -070048}
49
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080050message OLTDevice (XOSBase){
51 option verbose_name = "OLT Device";
52 option description="Represents a physical OLT device";
Andy Bavier03df22b2017-08-30 14:46:02 -070053
Scott Baker1e043272019-01-24 08:33:15 -080054 required manytoone volt_service->VOLTService:volt_devices = 1:1001 [
55 help_text = "VOLTService that owns this OLT",
56 db_index = True];
57 optional string name = 2 [
58 help_text = "Human-readable name of device",
59 db_index = False,
60 max_length = 254,
61 unique = True];
62 required string device_type = 3 [
63 help_text = "Phyiscal Device Type",
64 db_index = False,
65 default = "openolt",
66 max_length = 254];
67 optional string host = 4 [
68 help_text = "IP Address of physical OLT Device",
69 db_index = False,
70 max_length = 254];
71 optional int32 port = 5 [
72 help_text = "Port Number of physical OLT Device",
73 db_index = False,
74 unique_with = "host"];
75 optional string mac_address = 6 [
76 help_text = "Mac address of physical OLT Device",
77 db_index = False];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -080078
Scott Baker1e043272019-01-24 08:33:15 -080079 optional string serial_number = 9 [
80 help_text = "Serial Number",
81 db_index = False];
82 optional string device_id = 10 [
83 help_text = "Voltha Device ID",
84 db_index = False,
85 feedback_state = True];
86 optional string admin_state = 11 [
87 help_text = "admin state, whether OLT should be enabled",
88 choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
89 db_index = False,
90 default = "ENABLED"];
91 optional string oper_status = 12 [
92 help_text = "operational status, whether OLT is active",
93 db_index = False,
94 feedback_state = True];
95 optional string of_id = 13 [
96 help_text = "Logical device openflow id",
97 db_index = False,
98 feedback_state = True];
99 optional string dp_id = 14 [
100 help_text = "Logical device datapath id",
101 db_index = False];
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -0800102
Scott Baker1e043272019-01-24 08:33:15 -0800103 required string uplink = 15 [
104 help_text = "uplink port, exposed via sadis",
105 db_index = False];
106 required string driver = 16 [
107 help_text = "DEPRECATED",
108 db_index = False,
109 default = "voltha"]; // Used to be sent to ONOS, now unused.
Matteo Scandolod3c768d2018-04-11 13:38:49 -0700110
Scott Baker1e043272019-01-24 08:33:15 -0800111 optional string switch_datapath_id = 17 [
112 help_text = "Fabric switch to which the OLT is connected",
113 db_index = False];
114 optional string switch_port = 18 [
115 help_text = "Fabric port to which the OLT is connected",
116 db_index = False];
117 optional string outer_tpid = 19 [
118 help_text = "Outer VLAN id field EtherType",
119 db_index = False];
Matteo Scandolo610c11d2018-08-31 07:33:43 -0700120
Scott Baker1e043272019-01-24 08:33:15 -0800121 optional string nas_id = 20 [
122 help_text = "Authentication ID (propagated to the free-radius server via sadis)",
123 db_index = False];
Andy Bavier03df22b2017-08-30 14:46:02 -0700124}
125
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700126message PortBase (XOSBase){
127 option gui_hidden = True;
Scott Baker1e043272019-01-24 08:33:15 -0800128 option description = "Base class for Port objects";
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700129
Scott Baker1e043272019-01-24 08:33:15 -0800130 required string name = 1 [
131 help_text = "Human-readable name of port",
132 db_index = True];
133 required int32 port_no = 3 [
134 help_text = "Port Number",
135 db_index = False];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700136
Scott Baker1e043272019-01-24 08:33:15 -0800137 optional string admin_state = 4 [
138 help_text = "admin state, whether port should be enabled",
139 db_index = False,
140 feedback_state = True];
141 optional string oper_status = 5 [
142 help_text = "operational status, whether port is active",
143 db_index = False,
144 feedback_state = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700145}
146
147message PONPort (PortBase){
Matteo Scandolo80912942018-07-25 20:51:30 -0700148 option verbose_name = "PON Port";
Scott Baker1e043272019-01-24 08:33:15 -0800149 option description = "PON Port";
Matteo Scandolo4a8b4d62018-03-06 17:18:46 -0800150
Scott Baker1e043272019-01-24 08:33:15 -0800151 required manytoone olt_device->OLTDevice:pon_ports = 1:1001 [
152 help_text = "OLTDevice that owns this PONPort",
153 db_index = True];
Matteo Scandolo6be6ee92018-05-24 15:07:51 -0700154}
155
156message NNIPort (PortBase) {
157 option verbose_name = "NNI Port";
Scott Baker1e043272019-01-24 08:33:15 -0800158 option description = "NNI Port";
159
160 required manytoone olt_device->OLTDevice:nni_ports = 1:1002 [
161 help_text = "OLTDevice that owns this NNIPort",
162 db_index = True];
Andy Bavier03df22b2017-08-30 14:46:02 -0700163}
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -0700164
165message ONUDevice (XOSBase){
166 option verbose_name = "ONU Device";
167 option description = "Represents a physical ONU device";
168
Scott Baker1e043272019-01-24 08:33:15 -0800169 required manytoone pon_port->PONPort:onu_devices = 1:1001 [
170 help_text = "PONPort that connects this ONUDevice to an OLTDevice",
171 db_index = True];
172 required string serial_number = 2 [
173 help_text = "Serial number of ONU Device",
174 db_index = False,
175 max_length = 254,
176 tosca_key=True,
177 unique = True];
178 required string vendor = 3 [
179 help_text = "Vendor of ONU Device",
180 db_index = False,
181 max_length = 254];
182 required string device_type = 4 [
183 help_text = "Device Type",
184 db_index = False,
185 default = "asfvolt16_olt",
186 max_length = 254];
Matteo Scandoloe2cb8a42018-05-18 16:30:06 -0700187
Scott Baker1e043272019-01-24 08:33:15 -0800188 optional string device_id = 5 [
189 help_text = "Voltha Device ID",
190 db_index = False,
191 feedback_state = True,
192 max_length = 254];
193 optional string admin_state = 6 [
194 help_text = "admin state, whether port should be enabled",
195 choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
196 db_index = False,
197 default = "ENABLED"];
198 optional string oper_status = 7 [
199 help_text = "oper_status",
200 db_index = False,
201 feedback_state = True];
202 optional string connect_status = 8 [
203 help_text = "operational status, whether port is active",
204 db_index = False,
205 feedback_state = True];
206 optional string reason = 9 [
207 help_text = "ONU device configuration state machine status message",
208 db_index = False,
209 feedback_state = True];
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700210}
211
Matteo Scandolod8ed60e2018-06-18 17:00:57 -0700212message PONONUPort (PortBase) {
Matteo Scandolo80912942018-07-25 20:51:30 -0700213 option verbose_name = "ANI Port";
Scott Baker2108e752019-01-17 07:00:32 -0800214 option description="Access Node Interface Port";
Scott Baker1e043272019-01-24 08:33:15 -0800215 required manytoone onu_device->ONUDevice:pononu_ports = 1:1001 [
216 help_text = "ONUDevice that owns this PONONUPort",
217 db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -0700218}
219
220message UNIPort (PortBase) {
221 option verbose_name = "UNI Port";
Scott Baker2108e752019-01-17 07:00:32 -0800222 option description = "User Network Interface Port";
Scott Baker1e043272019-01-24 08:33:15 -0800223 required manytoone onu_device->ONUDevice:uni_ports = 1:1002 [
224 help_text = "ONUDevice that owns this UNIPort",
225 db_index = True];
Matteo Scandolod8ed60e2018-06-18 17:00:57 -0700226}
227
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700228message VOLTServiceInstance (ServiceInstance){
229 option kind = "vOLT";
230 option owner_class_name = "VOLTService";
231 option verbose_name = "vOLT Service Instance";
Scott Baker2108e752019-01-17 07:00:32 -0800232 option description = "Represents subscriber tenancy in the VOLT Service";
Matteo Scandolo2360fd92018-05-29 17:27:51 -0700233
Scott Baker1e043272019-01-24 08:33:15 -0800234 optional string description = 1 [
235 help_text = "Human-readable description",
236 db_index = False,
237 max_length = 254];
238 optional manytoone onu_device->ONUDevice:volt_service_instances = 2:1003 [
239 help_text = "ONUDevice that belongs to this Subscriber chain",
240 db_index = True];
Scott Baker6ff7a4a2018-10-01 12:19:49 -0700241}