blob: 792906791c9c00c8ff26876c7dd3907847bd0a4a [file] [log] [blame]
girish88826422017-10-25 13:55:40 +05301#
2# Copyright 2017 the original author or authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17"""
18Asfvolt16 OLT adapter
19"""
20from twisted.internet import reactor
21from common.utils.grpc_utils import twisted_async
22from voltha.adapters.asfvolt16_olt.protos import bal_indications_pb2
23from voltha.adapters.asfvolt16_olt.protos import bal_model_types_pb2, \
24 bal_errno_pb2, bal_pb2, bal_model_ids_pb2
25from voltha.adapters.asfvolt16_olt.grpc_server import GrpcServer
26
27
28class Asfvolt16IndHandler(object):
29 def __init__(self, log):
30 self.log = log
31
Girish Gowdru4e854c22018-09-26 02:51:57 -070032 def bal_acc_term_oper_sta_cng(self, indication, device_handler):
33 self.log.info("access-term-oper-status-change", indication=indication)
girish88826422017-10-25 13:55:40 +053034 ind_info = dict()
Girish Gowdru4e854c22018-09-26 02:51:57 -070035 ind_info['_object_type'] = 'access_term_ind'
girish88826422017-10-25 13:55:40 +053036 ind_info['_sub_group_type'] = 'oper_state_change'
ggowdru64d738a2018-05-10 07:08:06 -070037 ind_info['activation_successful'] = False
38 ind_info['deactivation_successful'] = False
Girish Gowdru4e854c22018-09-26 02:51:57 -070039 if indication.access_term_ind_op_state.data.admin_state is \
40 bal_model_types_pb2.BAL_STATE_UP and \
41 indication.access_term_ind_op_state.data.new_oper_status is \
42 bal_model_types_pb2.BAL_STATUS_UP:
43 ind_info['activation_successful'] = True
44 elif indication.access_term_ind_op_state.data.admin_state is \
45 bal_model_types_pb2.BAL_STATE_DOWN and \
46 indication.access_term_ind_op_state.data.new_oper_status is \
47 bal_model_types_pb2.BAL_STATUS_DOWN:
48 ind_info['deactivation_successful'] = True
girish88826422017-10-25 13:55:40 +053049
50 reactor.callLater(0,
Girish Gowdru4e854c22018-09-26 02:51:57 -070051 device_handler.handle_access_term_oper_status_change,
52 ind_info)
53 bal_err = bal_pb2.BalErr()
54 bal_err.err = bal_errno_pb2.BAL_ERR_OK
55 return bal_err
56
57 def bal_acc_term_processing_error(self, indication, device_handler):
58 # TODO: No error handling currently.
59 self.log.error("access-term-processing-error", indication=indication)
60 # return a dummy response
girish88826422017-10-25 13:55:40 +053061 bal_err = bal_pb2.BalErr()
62 bal_err.err = bal_errno_pb2.BAL_ERR_OK
63 return bal_err
64
65 def bal_flow_oper_sts_cng(self, indication, device_handler):
Girish Gowdru4e854c22018-09-26 02:51:57 -070066 self.log.debug("flow-oper-status-change", indication=indication)
girish88826422017-10-25 13:55:40 +053067 ind_info = dict()
68 ind_info['_object_type'] = 'flow_indication'
69 ind_info['_sub_group_type'] = 'oper_state_change'
70 ind_info['_object_type'] = indication.objType
71 ind_info['_sub_group_type'] = indication.sub_group
72 bal_err = bal_pb2.BalErr()
73 bal_err.err = bal_errno_pb2.BAL_ERR_OK
74 return bal_err
75
Girish Gowdru4e854c22018-09-26 02:51:57 -070076 def bal_flow_processing_error(self, indication, device_handler):
77 # TODO: No error handling.
78 self.log.debug("flow-processing-error", indication=indication)
79 # dummy response
girish88826422017-10-25 13:55:40 +053080 bal_err = bal_pb2.BalErr()
81 bal_err.err = bal_errno_pb2.BAL_ERR_OK
82 return bal_err
83
84 def bal_iface_oper_sts_cng(self, indication, device_handler):
85 ind_info = dict()
86 ind_info['_object_type'] = 'interface_indication'
87 ind_info['_sub_group_type'] = 'oper_state_change'
Girish Gowdru4e854c22018-09-26 02:51:57 -070088 ind_info['activation_successful'] = False
89 if indication.interface_op_state.data.new_oper_status is \
90 bal_model_types_pb2.BAL_STATUS_UP and \
91 indication.interface_op_state.data.admin_state is \
92 bal_model_types_pb2.BAL_STATUS_UP:
93 ind_info['activation_successful'] = True
94 self.log.info("Awaiting-ONU-discovery")
95
96 reactor.callLater(0,
97 device_handler.BalIfaceOperStatusChange,
98 indication.interface_op_state.key.intf_id,
99 ind_info)
100
girish88826422017-10-25 13:55:40 +0530101 bal_err = bal_pb2.BalErr()
102 bal_err.err = bal_errno_pb2.BAL_ERR_OK
103 return bal_err
104
105 def bal_iface_los(self, indication, device_handler):
106 los_status = indication.interface_los.data.status
107 if los_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
Girish Gowdru4e854c22018-09-26 02:51:57 -0700108 balIfaceLos_dict = dict()
girish88826422017-10-25 13:55:40 +0530109 balIfaceLos_dict["los_status"] = los_status.__str__()
Girish Gowdru4e854c22018-09-26 02:51:57 -0700110 reactor.callLater(0,
111 device_handler.BalIfaceLosAlarm,
112 indication.device_id,
113 indication,
girish88826422017-10-25 13:55:40 +0530114 los_status, balIfaceLos_dict)
115 bal_err = bal_pb2.BalErr()
116 bal_err.err = bal_errno_pb2.BAL_ERR_OK
117 return bal_err
118
girish88826422017-10-25 13:55:40 +0530119 def bal_subs_term_oper_sts_cng(self, indication, device_handler):
Girish Gowdru4e854c22018-09-26 02:51:57 -0700120 onu_data = indication.terminal_op_state
girish88826422017-10-25 13:55:40 +0530121 ind_info = dict()
122 ind_info['_object_type'] = 'sub_term_indication'
Girish Gowdru4e854c22018-09-26 02:51:57 -0700123 ind_info['_sub_group_type'] = 'sub_term_op_state'
124 ind_info['_pon_id'] = onu_data.key.intf_id
125 ind_info['onu_id'] = onu_data.key.sub_term_id
126 ind_info['activation_successful'] = False
127 if onu_data.data.admin_state is bal_model_types_pb2.BAL_STATE_DOWN or \
128 onu_data.data.new_oper_status is bal_model_types_pb2.BAL_STATUS_DOWN:
129 ind_info['activation_successful'] = False
130 elif onu_data.data.admin_state is bal_model_types_pb2.BAL_STATE_UP and \
131 onu_data.data.new_oper_status is bal_model_types_pb2.BAL_STATUS_UP:
132 ind_info['activation_successful'] = True
133
134 reactor.callLater(0,
135 device_handler.handle_sub_term_oper_status_change,
136 ind_info)
girish88826422017-10-25 13:55:40 +0530137 bal_err = bal_pb2.BalErr()
138 bal_err.err = bal_errno_pb2.BAL_ERR_OK
139 return bal_err
140
141 def bal_subs_term_discovery_ind(self, indication, device_handler):
142 # ind_info: {'object_type': <int>
143 # '_sub_group_type': <str>
144 # '_device_id': <str>
145 # '_pon_id' : <int>
146 # 'onu_id' : <int>
147 # '_vendor_id' : <str>
148 # '__vendor_specific' : <str>
149 # 'activation_successful':[True or False]}
150 onu_data = indication.terminal_disc
151 ind_info = dict()
152 ind_info['_object_type'] = 'sub_term_indication'
153 ind_info['_sub_group_type'] = 'onu_discovery'
154 ind_info['_pon_id'] = onu_data.key.intf_id
155 ind_info['onu_id'] = onu_data.key.sub_term_id
156 ind_info['_vendor_id'] = onu_data.data.serial_number.vendor_id
157 ind_info['_vendor_specific'] = \
158 onu_data.data.serial_number.vendor_specific
159 reactor.callLater(0,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700160 device_handler.handle_sub_term_discovery,
girish88826422017-10-25 13:55:40 +0530161 ind_info)
162 bal_err = bal_pb2.BalErr()
163 bal_err.err = bal_errno_pb2.BAL_ERR_OK
164 return bal_err
165
166 def bal_subs_term_alarm_ind(self, indication, device_handler):
167 # Loss of signal
168 los = indication.terminal_alarm.data.alarm.los
169 # Loss of busrt
170 lob = indication.terminal_alarm.data.alarm.lob
171 # Loss of PLOAM miss channel
172 lopc_miss = indication.terminal_alarm.data.alarm.lopc_miss
173 # Loss of PLOAM channel
174 lopc_mic_error = indication.terminal_alarm.data.alarm.lopc_mic_error
175
Girish Gowdru4e854c22018-09-26 02:51:57 -0700176 balSubTermAlarm_Dict = dict()
girish88826422017-10-25 13:55:40 +0530177 balSubTermAlarm_Dict["LOS Status"] = los.__str__()
178 balSubTermAlarm_Dict["LOB Status"] = lob.__str__()
179 balSubTermAlarm_Dict["LOPC MISS Status"] = lopc_miss.__str__()
180 balSubTermAlarm_Dict["LOPC MIC ERROR Status"] = lopc_mic_error.__str__()
181
182 if los != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
Girish Gowdru4e854c22018-09-26 02:51:57 -0700183 reactor.callLater(0, device_handler.BalSubsTermLosAlarm,
184 indication.device_id,
185 indication.terminal_alarm.key.intf_id,
girish88826422017-10-25 13:55:40 +0530186 los, balSubTermAlarm_Dict)
187
188 if lob != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
Girish Gowdru4e854c22018-09-26 02:51:57 -0700189 reactor.callLater(0, device_handler.BalSubsTermLobAlarm,
190 indication.device_id,
191 indication.terminal_alarm.key.intf_id,
girish88826422017-10-25 13:55:40 +0530192 lob, balSubTermAlarm_Dict)
193
194 if lopc_miss != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
Girish Gowdru4e854c22018-09-26 02:51:57 -0700195 reactor.callLater(0, device_handler.BalSubsTermLopcMissAlarm,
196 indication.device_id,
197 indication.terminal_alarm.key.intf_id,
girish88826422017-10-25 13:55:40 +0530198 lopc_miss, balSubTermAlarm_Dict)
199
200 if lopc_mic_error != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
Girish Gowdru4e854c22018-09-26 02:51:57 -0700201 reactor.callLater(0, device_handler.BalSubsTermLopcMicErrorAlarm,
202 indication.device_id,
203 indication.terminal_alarm.key.intf_id,
girish88826422017-10-25 13:55:40 +0530204 lopc_mic_error, balSubTermAlarm_Dict)
205 bal_err = bal_pb2.BalErr()
206 bal_err.err = bal_errno_pb2.BAL_ERR_OK
207 return bal_err
208
209 def bal_subs_term_dgi_ind(self, indication, device_handler):
210 # ind_info: {'_object_type': <str>
211 # '_device_id': <str>
212 # '_pon_id' : <int>
213 # 'onu_id' : <int>
214 # '_vendor_id' : <str>
215 # '__vendor_specific' : <str>
216 # 'activation_successful':[True or False]}
217 dgi_status = indication.terminal_dgi.data.dgi_status
218 if dgi_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
219 ind_info = dict()
220 ind_info['_object_type'] = 'sub_term_indication'
221 ind_info['_sub_group_type'] = 'dgi_indication'
222
Girish Gowdru4e854c22018-09-26 02:51:57 -0700223 balSubTermDgi_Dict = dict()
girish88826422017-10-25 13:55:40 +0530224 balSubTermDgi_Dict["dgi_status"] = dgi_status.__str__()
225 reactor.callLater(0,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700226 device_handler.BalSubsTermDgiAlarm,
227 indication.device_id,
228 indication.terminal_dgi.key.intf_id,
229 indication.terminal_dgi.key.sub_term_id,
230 dgi_status, balSubTermDgi_Dict, ind_info)
girish88826422017-10-25 13:55:40 +0530231 bal_err = bal_pb2.BalErr()
232 bal_err.err = bal_errno_pb2.BAL_ERR_OK
233 return bal_err
234
Girish Gowdru4e854c22018-09-26 02:51:57 -0700235 def bal_subs_term_dowi_ind(self, indication, device_handler):
236 self.log.debug("sub-term-dowi-ind", indication=indication)
girish88826422017-10-25 13:55:40 +0530237 bal_err = bal_pb2.BalErr()
238 bal_err.err = bal_errno_pb2.BAL_ERR_OK
239 return bal_err
240
Girish Gowdru4e854c22018-09-26 02:51:57 -0700241 def bal_subs_term_looci_ind(self, indication, device_handler):
242 self.log.debug("sub-term-looci-ind", indication=indication)
girish88826422017-10-25 13:55:40 +0530243 bal_err = bal_pb2.BalErr()
244 bal_err.err = bal_errno_pb2.BAL_ERR_OK
245 return bal_err
246
Girish Gowdru4e854c22018-09-26 02:51:57 -0700247 def bal_subs_term_processing_error(self, indication, device_handler):
248 self.log.debug("sub-term-processing-error", indication=indication)
249 bal_err = bal_pb2.BalErr()
250 bal_err.err = bal_errno_pb2.BAL_ERR_OK
251 return bal_err
252
253 def bal_subs_term_sdi_ind(self, indication, device_handler):
254 self.log.debug("sub-term-sdi-ind", indication=indication)
255 bal_err = bal_pb2.BalErr()
256 bal_err.err = bal_errno_pb2.BAL_ERR_OK
257 return bal_err
258
259 def bal_subs_term_sfi_ind(self, indication, device_handler):
260 self.log.debug("sub-term-sfi-ind", indication=indication)
261 bal_err = bal_pb2.BalErr()
262 bal_err.err = bal_errno_pb2.BAL_ERR_OK
263 return bal_err
264
265 def bal_subs_term_activation_fail(self, indication, device_handler):
266 self.log.debug("sub-term-activation-fail", indication=indication)
267 bal_err = bal_pb2.BalErr()
268 bal_err.err = bal_errno_pb2.BAL_ERR_OK
269 return bal_err
270
271 def bal_subs_term_sufi_ind(self, indication, device_handler):
272 self.log.debug("sub-term-sufi-ind", indication=indication)
273 bal_err = bal_pb2.BalErr()
274 bal_err.err = bal_errno_pb2.BAL_ERR_OK
275 return bal_err
276
277 def bal_subs_term_tiwi_ind(self, indication, device_handler):
278 self.log.debug("sub-term-tiwi-ind", indication=indication)
279 bal_err = bal_pb2.BalErr()
280 bal_err.err = bal_errno_pb2.BAL_ERR_OK
281 return bal_err
282
283 def bal_tm_sched_oper_status_change(self, indication, device_handler):
girish88826422017-10-25 13:55:40 +0530284 ind_info = dict()
285 ind_info['_object_type'] = 'tm_sched_indication'
286 ind_info['_sub_group_type'] = 'tm_sched_indication'
287 bal_err = bal_pb2.BalErr()
288 bal_err.err = bal_errno_pb2.BAL_ERR_OK
289 return bal_err
290
291 def bal_pkt_bearer_channel_rx_ind(self, indication, device_handler):
292 ind_info = dict()
293 ind_info['flow_id'] = indication.pktData.data.flow_id
294 ind_info['flow_type'] = indication.pktData.data.flow_type
295 ind_info['intf_id'] = indication.pktData.data.intf_id
296 ind_info['intf_type'] = indication.pktData.data.intf_type
297 ind_info['svc_port'] = indication.pktData.data.svc_port
298 ind_info['flow_cookie'] = indication.pktData.data.flow_cookie
299 ind_info['packet'] = indication.pktData.data.pkt
300 reactor.callLater(0,
301 device_handler.handle_packet_in,
302 ind_info)
303 bal_err = bal_pb2.BalErr()
304 bal_err.err = bal_errno_pb2.BAL_ERR_OK
305 return bal_err
306
307 def bal_pkt_omci_channel_rx_ind(self, indication, device_handler):
308 ind_info = dict()
309 ind_info['_object_type'] = 'packet_in_indication'
310 ind_info['_sub_group_type'] = 'omci_message'
Girish Gowdru1f2f5d32018-06-14 00:38:33 -0700311 ind_info['intf_id'] = \
Girish Gowdru4e854c22018-09-26 02:51:57 -0700312 indication.balOmciResp.key.packet_send_dest.itu_omci_channel.intf_id
girish88826422017-10-25 13:55:40 +0530313 packet_data = indication.balOmciResp.key.packet_send_dest
314 ind_info['onu_id'] = packet_data.itu_omci_channel.sub_term_id
315 ind_info['packet'] = indication.balOmciResp.data.pkt
sathishg42b72f42017-11-14 11:08:20 +0530316 self.log.info('ONU-Id-is',
girish88826422017-10-25 13:55:40 +0530317 onu_id=packet_data.itu_omci_channel.sub_term_id)
318 reactor.callLater(0,
319 device_handler.handle_omci_ind,
320 ind_info)
321 bal_err = bal_pb2.BalErr()
322 bal_err.err = bal_errno_pb2.BAL_ERR_OK
323 return bal_err
324
Girish Gowdru4e854c22018-09-26 02:51:57 -0700325 @staticmethod
326 def bal_pkt_ieee_oam_channel_rx_ind(indication, device_handler):
girish88826422017-10-25 13:55:40 +0530327 ind_info = dict()
328 ind_info['_object_type'] = 'packet_in_indication'
329 ind_info['_sub_group_type'] = 'ieee_oam_message'
330 bal_err = bal_pb2.BalErr()
331 bal_err.err = bal_errno_pb2.BAL_ERR_OK
332 return bal_err
333
334 def handle_indication_from_bal(self, bal_ind, device_handler):
335 indication_handler = self.indication_handler_map.get((bal_ind.objType,
336 bal_ind.sub_group),
337 None)
338 if indication_handler is None:
339 self.log.debug('No handler', objType=bal_ind.objType,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700340 sub_group=bal_ind.sub_group)
girish88826422017-10-25 13:55:40 +0530341 pass # no-op
342 else:
343 indication_handler(self, bal_ind, device_handler)
344
345 indication_handler_map = {
346 (bal_model_ids_pb2.BAL_OBJ_ID_ACCESS_TERMINAL,
girish88826422017-10-25 13:55:40 +0530347 bal_model_ids_pb2.BAL_ACCESS_TERMINAL_AUTO_ID_OPER_STATUS_CHANGE):
Girish Gowdru4e854c22018-09-26 02:51:57 -0700348 bal_acc_term_oper_sta_cng,
349 (bal_model_ids_pb2.BAL_OBJ_ID_ACCESS_TERMINAL,
350 bal_model_ids_pb2.BAL_ACCESS_TERMINAL_AUTO_ID_PROCESSING_ERROR):
351 bal_acc_term_processing_error,
girish88826422017-10-25 13:55:40 +0530352
353 (bal_model_ids_pb2.BAL_OBJ_ID_FLOW,
354 bal_model_ids_pb2.BAL_FLOW_AUTO_ID_OPER_STATUS_CHANGE):
355 bal_flow_oper_sts_cng,
356 (bal_model_ids_pb2.BAL_OBJ_ID_FLOW,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700357 bal_model_ids_pb2.BAL_FLOW_AUTO_ID_PROCESSING_ERROR):
358 bal_flow_processing_error,
girish88826422017-10-25 13:55:40 +0530359
girish88826422017-10-25 13:55:40 +0530360 (bal_model_ids_pb2.BAL_OBJ_ID_INTERFACE,
361 bal_model_ids_pb2.BAL_INTERFACE_AUTO_ID_LOS):
362 bal_iface_los,
363 (bal_model_ids_pb2.BAL_OBJ_ID_INTERFACE,
Kyle Farnsworth1cc083a2017-11-10 10:32:29 -0600364 bal_model_ids_pb2.BAL_INTERFACE_AUTO_ID_OPER_STATUS_CHANGE):
girish88826422017-10-25 13:55:40 +0530365 bal_iface_oper_sts_cng,
366
367 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700368 bal_model_ids_pb2.
girish88826422017-10-25 13:55:40 +0530369 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_OPER_STATUS_CHANGE):
370 bal_subs_term_oper_sts_cng,
371 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700372 bal_model_ids_pb2.
girish88826422017-10-25 13:55:40 +0530373 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_DISC):
374 bal_subs_term_discovery_ind,
375 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700376 bal_model_ids_pb2.
girish88826422017-10-25 13:55:40 +0530377 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_ALARM):
378 bal_subs_term_alarm_ind,
379 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700380 bal_model_ids_pb2.
girish88826422017-10-25 13:55:40 +0530381 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_DGI):
382 bal_subs_term_dgi_ind,
383 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700384 bal_model_ids_pb2.
385 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_DOWI):
386 bal_subs_term_dowi_ind,
387 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
388 bal_model_ids_pb2.
389 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_LOOCI):
390 bal_subs_term_looci_ind,
391 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
392 bal_model_ids_pb2.
393 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_PROCESSING_ERROR):
394 bal_subs_term_processing_error,
395 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
396 bal_model_ids_pb2.
397 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SDI):
398 bal_subs_term_sdi_ind,
399 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
400 bal_model_ids_pb2.
401 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SFI):
402 bal_subs_term_sfi_ind,
403 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
404 bal_model_ids_pb2.
405 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_ACT_FAIL):
406 bal_subs_term_activation_fail,
407 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
408 bal_model_ids_pb2.
409 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUFI):
410 bal_subs_term_sufi_ind,
411 (bal_model_ids_pb2.BAL_OBJ_ID_SUBSCRIBER_TERMINAL,
412 bal_model_ids_pb2.
413 BAL_SUBSCRIBER_TERMINAL_AUTO_ID_TIWI):
414 bal_subs_term_tiwi_ind,
girish88826422017-10-25 13:55:40 +0530415
416 (bal_model_ids_pb2.BAL_OBJ_ID_TM_SCHED,
Girish Gowdru4e854c22018-09-26 02:51:57 -0700417 bal_model_ids_pb2.BAL_TM_SCHED_AUTO_ID_OPER_STATUS_CHANGE):
418 bal_tm_sched_oper_status_change,
girish88826422017-10-25 13:55:40 +0530419
420 (bal_model_ids_pb2.BAL_OBJ_ID_PACKET,
421 bal_model_ids_pb2.BAL_PACKET_AUTO_ID_BEARER_CHANNEL_RX):
422 bal_pkt_bearer_channel_rx_ind,
423 (bal_model_ids_pb2.BAL_OBJ_ID_PACKET,
424 bal_model_ids_pb2.BAL_PACKET_AUTO_ID_ITU_OMCI_CHANNEL_RX):
425 bal_pkt_omci_channel_rx_ind,
426 (bal_model_ids_pb2.BAL_OBJ_ID_PACKET,
427 bal_model_ids_pb2.BAL_PACKET_AUTO_ID_IEEE_OAM_CHANNEL_RX):
428 bal_pkt_ieee_oam_channel_rx_ind,
429 }