[VOL-2573] Delete all logical ports on OLT Delete
Change-Id: Id809e176fe3a902aabea8cbce573fbf9710d9b10
diff --git a/rw_core/core/logical_device_manager.go b/rw_core/core/logical_device_manager.go
index 853404e..e6b8fe0 100644
--- a/rw_core/core/logical_device_manager.go
+++ b/rw_core/core/logical_device_manager.go
@@ -503,6 +503,24 @@
}
return nil
}
+
+func (ldMgr *LogicalDeviceManager) deleteAllUNILogicalPorts(ctx context.Context, parentDevice *voltha.Device) error {
+ log.Debugw("delete-all-uni-logical-ports", log.Fields{"parent-device-id": parentDevice.Id})
+
+ var ldID *string
+ var err error
+ //Get the logical device Id for this device
+ if ldID, err = ldMgr.getLogicalDeviceID(ctx, parentDevice); err != nil {
+ return err
+ }
+ if agent := ldMgr.getLogicalDeviceAgent(ctx, *ldID); agent != nil {
+ if err := agent.deleteAllUNILogicalPorts(ctx, parentDevice); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
func (ldMgr *LogicalDeviceManager) updatePortState(ctx context.Context, deviceID string, portNo uint32, state voltha.OperStatus_Types) error {
log.Debugw("updatePortState", log.Fields{"deviceId": deviceID, "state": state, "portNo": portNo})