VOL-762. ONU disable/delete in openolt.
In the broadcom_onu adapter, I added an if statement
that checks if the parent adapter is openolt before
attempting a direct method call for disable/delete
of an onu.
Change-Id: I9678e4d6be5cc2149304caf57271690c72033e47
diff --git a/voltha/adapters/openolt/openolt_device.py b/voltha/adapters/openolt/openolt_device.py
index 5971b68..4257abe 100644
--- a/voltha/adapters/openolt/openolt_device.py
+++ b/voltha/adapters/openolt/openolt_device.py
@@ -886,3 +886,29 @@
# Set all ports to enabled
self.log.info('enabling-all-ports', device_id=self.device_id)
self.adapter_agent.enable_all_ports(self.device_id)
+
+ def disable_child_device(self, child_device):
+ self.log.debug('sending-disable-onu',
+ olt_device_id=self.device_id,
+ onu_device=child_device,
+ onu_serial_number=child_device.serial_number)
+ vendor_id = child_device.vendor_id.encode('hex')
+ vendor_specific = child_device.serial_number.replace(child_device.vendor_id,'').encode('hex')
+ serial_number = openolt_pb2.SerialNumber(vendor_id=vendor_id, vendor_specific=vendor_specific)
+ onu = openolt_pb2.Onu(intf_id=child_device.proxy_address.channel_id,
+ onu_id=child_device.proxy_address.onu_id,
+ serial_number=serial_number)
+ self.stub.DeactivateOnu(onu)
+
+ def delete_child_device(self, child_device):
+ self.log.debug('sending-deactivate-onu',
+ olt_device_id=self.device_id,
+ onu_device=child_device,
+ onu_serial_number=child_device.serial_number)
+ vendor_id = child_device.vendor_id.encode('hex')
+ vendor_specific = child_device.serial_number.replace(child_device.vendor_id,'').encode('hex')
+ serial_number = openolt_pb2.SerialNumber(vendor_id=vendor_id, vendor_specific=vendor_specific)
+ onu = openolt_pb2.Onu(intf_id=child_device.proxy_address.channel_id,
+ onu_id=child_device.proxy_address.onu_id,
+ serial_number=serial_number)
+ self.stub.DeleteOnu(onu)
\ No newline at end of file