def bal_iface_oper_sts_cng(self, indication, device_handler): ind_info = dict() ind_info['_object_type'] = 'interface_indication' ind_info['_sub_group_type'] = 'oper_state_change' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_acc_term_ind(self, indication, device_handler): # ind_info: {'_object_type': <str> # 'actv_status': <str>} self.log.info("access-term-ind", indication=indication) ind_info = dict() ind_info['_object_type'] = 'access_terminal_indication' ind_info['_sub_group_type'] = 'access_terminal_indication' ind_info['activation_successful'] = False ind_info['deactivation_successful'] = False if indication.access_term_ind.data.admin_state == \ bal_model_types_pb2.BAL_STATE_UP: if indication.access_term_ind.data.oper_status == \ bal_model_types_pb2.BAL_STATUS_UP: ind_info['activation_successful'] = True elif indication.access_term_ind.data.admin_state == \ bal_model_types_pb2.BAL_STATE_DOWN: if indication.access_term_ind.data.oper_status == \ bal_model_types_pb2.BAL_STATUS_DOWN: ind_info['deactivation_successful'] = True reactor.callLater(0, device_handler.handle_access_term_ind, ind_info, indication.access_term_ind) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_flow_processing_error(self, indication, device_handler): # TODO: No error handling. self.log.debug("flow-processing-error", indication=indication) # dummy response bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_tm_sched_oper_status_change(self, indication, device_handler): ind_info = dict() ind_info['_object_type'] = 'tm_sched_indication' ind_info['_sub_group_type'] = 'tm_sched_indication' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_acc_term_processing_error(self, indication, device_handler): # TODO: No error handling currently. self.log.error("access-term-processing-error", indication=indication) # return a dummy response bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_subs_term_ind(self, indication, device_handler): # ind_info: {'_object_type': <str> # '_sub_group_type': <str> # '_device_id': <str> # '_pon_id' : <int> # 'onu_id' : <int> # '_vendor_id' : <str> # '__vendor_specific' : <str> # 'activation_successful':[True or False]} onu_data = indication.terminal_ind ind_info = dict() ind_info['_object_type'] = 'sub_term_indication' ind_info['_sub_group_type'] = 'sub_term_indication' ind_info['_pon_id'] = onu_data.key.intf_id ind_info['onu_id'] = onu_data.key.sub_term_id ind_info['_vendor_id'] = onu_data.data.serial_number.vendor_id ind_info['_vendor_specific'] = \ onu_data.data.serial_number.vendor_specific if (bal_model_types_pb2.BAL_STATE_DOWN == onu_data.data.admin_state): ind_info['activation_successful'] = False elif (bal_model_types_pb2.BAL_STATE_UP == onu_data.data.admin_state): ind_info['activation_successful'] = True reactor.callLater(0, device_handler.handle_sub_term_ind, ind_info) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_subs_term_dgi_ind(self, indication, device_handler): # ind_info: {'_object_type': <str> # '_device_id': <str> # '_pon_id' : <int> # 'onu_id' : <int> # '_vendor_id' : <str> # '__vendor_specific' : <str> # 'activation_successful':[True or False]} dgi_status = indication.terminal_dgi.data.dgi_status if dgi_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE: ind_info = dict() ind_info['_object_type'] = 'sub_term_indication' ind_info['_sub_group_type'] = 'dgi_indication' balSubTermDgi_Dict = {} balSubTermDgi_Dict["dgi_status"] = dgi_status.__str__() reactor.callLater(0, device_handler.BalSubsTermDgiAlarm, \ indication.device_id, \ indication.terminal_dgi.key.intf_id,\ indication.terminal_dgi.key.sub_term_id, \ dgi_status,balSubTermDgi_Dict, ind_info) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_pkt_ieee_oam_channel_rx_ind(self, indication, device_handler): ind_info = dict() ind_info['_object_type'] = 'packet_in_indication' ind_info['_sub_group_type'] = 'ieee_oam_message' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_group_ind(self, indication, device_handler): ind_info = dict() ind_info['_object_type'] = 'group_indication' ind_info['_sub_group_type'] = 'group_indication' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalSubsTermInd(self, request, context): # ind_info: {'_object_type': <str> # '_sub_group_type': <str> # '_device_id': <str> # '_pon_id' : <int> # 'onu_id' : <int> # '_vendor_id' : <str> # '__vendor_specific' : <str> # 'activation_successful':[True or False]} device_id = request.device_id.decode('unicode-escape') self.log.info('Subscriber terminal indication received', device_id=device_id, obj_type=request.objType) onu_data = request.terminal_ind ind_info = dict() ind_info['_object_type'] = 'sub_term_indication' ind_info['_sub_group_type'] = 'sub_term_indication' ind_info['_device_id'] = device_id ind_info['_pon_id'] = onu_data.key.intf_id ind_info['onu_id'] = onu_data.key.sub_term_id ind_info['_vendor_id'] = onu_data.data.serial_number.vendor_id ind_info['_vendor_specific'] = \ onu_data.data.serial_number.vendor_specific if (bal_model_types_pb2.BAL_STATE_DOWN == onu_data.data.admin_state): ind_info['activation_successful'] = False elif (bal_model_types_pb2.BAL_STATE_UP == onu_data.data.admin_state): ind_info['activation_successful'] = True device_handler = self.adapter.devices_handlers[device_id] reactor.callLater(0, device_handler.handle_sub_term_ind, ind_info) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalSubsTermDgiInd(self, request, context): self.log.info('Subscriber terminal Indication received') # ind_info: {'_object_type': <str> # '_device_id': <str> # '_pon_id' : <int> # 'onu_id' : <int> # '_vendor_id' : <str> # '__vendor_specific' : <str> # 'activation_successful':[True or False]} device_id = request.device_id.decode('unicode-escape') self.log.info('Subscriber terminal dying gasp',\ device_id=device_id, obj_type=request.objType) dgi_status = request.terminal_dgi.data.dgi_status if dgi_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE: balSubTermDgi_Dict = { } balSubTermDgi_Dict["dgi_status"]=dgi_status.__str__() device_handler = self.adapter.devices_handlers[device_id] reactor.callLater(0, device_handler.BalSubsTermDgiAlarm, device_id,request.terminal_dgi.key.intf_id,\ dgi_status,balSubTermDgi_Dict) ''' ind_info = dict() ind_info['_object_type'] = 'sub_term_indication' ind_info['_sub_group_type'] = 'dgi_indication' ''' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalIfaceInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Interface indication Received', device_id=device_id, obj_type=request.objType) self.log.info('Awaiting ONU discovery') bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalSubsTermOperStsCng(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Not-implemented-yet', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_subs_term_oper_sts_cng(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalIfaceInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Interface-indication-Received', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_iface_ind(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalIfaceLos(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Interface-Loss-Of-Signal-Alarm',\ device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_iface_los(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalSubsTermLoociInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Subscriber-terminal-looci', \ device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_subs_term_looci_ind(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalSubsTermProcErr(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Subscriber-terminal-processing-error-received', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_subs_term_processing_error(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_flow_oper_sts_cng(self, indication, device_handler): ind_info = dict() ind_info['_object_type'] = 'flow_indication' ind_info['_sub_group_type'] = 'oper_state_change' ind_info['_object_type'] = indication.objType ind_info['_sub_group_type'] = indication.sub_group bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalGroupInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Not-implemented-yet', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_group_ind(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_iface_ind(self, indication, device_handler): self.log.info('Awaiting-ONU-discovery') reactor.callLater(0,\ device_handler.BalIfaceIndication,\ indication.device_id.decode('unicode-escape'),\ indication.interface_ind.key.intf_id) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalFlowProcErr(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Received-bal-flow-processing-error', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_flow_processing_error(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalTmSchedOperStatsChange(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Tm-Scheduler-Operation-status-change-received', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_tm_sched_oper_status_change(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalSubTermActFailInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Subscriber-terminal-activation-fail-received', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_subs_term_activation_fail(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalPktIeeeOamChannelRxInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Not implemented yet', device_id=device_id, obj_type=request.objType) ind_info = dict() ind_info['_object_type'] = 'packet_in_indication' ind_info['_sub_group_type'] = 'ieee_oam_message' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalAccTermOperStsCngInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Not implemented yet', device_id=device_id, obj_type=request.objType) ind_info = dict() ind_info['_object_type'] = 'access_terminal_indication' ind_info['_sub_group_type'] = 'oper_state_change' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalFlowInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Not implemented yet', device_id=device_id, obj_type=request.objType) ind_info = dict() ind_info['_object_type'] = 'flow_indication' ind_info['_sub_group_type'] = 'flow_indication' bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalPktOmciChannelRxInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Received-OMCI-Messages', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_pkt_omci_channel_rx_ind(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def BalAccTermInd(self, request, context): device_id = request.device_id.decode('unicode-escape') self.log.info('Received-access-terminal-Indication', device_id=device_id, obj_type=request.objType) device_handler = self.adapter.devices_handlers[device_id] self.ind_handler.bal_acc_term_ind(request, device_handler) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_iface_los(self, indication, device_handler): los_status = indication.interface_los.data.status if los_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE: balIfaceLos_dict = dict() balIfaceLos_dict["los_status"] = los_status.__str__() reactor.callLater(0, device_handler.BalIfaceLosAlarm, indication.device_id, indication, los_status, balIfaceLos_dict) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err
def bal_pkt_omci_channel_rx_ind(self, indication, device_handler): ind_info = dict() ind_info['_object_type'] = 'packet_in_indication' ind_info['_sub_group_type'] = 'omci_message' packet_data = indication.balOmciResp.key.packet_send_dest ind_info['onu_id'] = packet_data.itu_omci_channel.sub_term_id ind_info['packet'] = indication.balOmciResp.data.pkt self.log.info('ONU-Id-is', onu_id=packet_data.itu_omci_channel.sub_term_id) reactor.callLater(0, device_handler.handle_omci_ind, ind_info) bal_err = bal_pb2.BalErr() bal_err.err = bal_errno_pb2.BAL_ERR_OK return bal_err