VOL-4896 return error fro omci proxy messages

Change-Id: I9b695225af726747fbb50a3fb3ec5a1cdb9df06c
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index effbc08..e8ced1e 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -1232,6 +1232,9 @@
 
 // ProxyOmciRequests sends the proxied OMCI message to the target device
 func (dh *DeviceHandler) ProxyOmciRequests(ctx context.Context, omciMsgs *ia.OmciMessages) error {
+	if DeviceState(dh.device.ConnectStatus) != DeviceState(voltha.ConnectStatus_REACHABLE) {
+		return status.Error(codes.Unavailable, "OLT unreachable")
+	}
 	if omciMsgs.GetProxyAddress() == nil {
 		onuDevice, err := dh.getDeviceFromCore(ctx, omciMsgs.ChildDeviceId)
 		if err != nil {
@@ -1311,6 +1314,9 @@
 func (dh *DeviceHandler) ProxyOmciMessage(ctx context.Context, omciMsg *ia.OmciMessage) error {
 	logger.Debugw(ctx, "proxy-omci-message", log.Fields{"parent-device-id": omciMsg.ParentDeviceId, "child-device-id": omciMsg.ChildDeviceId, "proxy-address": omciMsg.ProxyAddress, "connect-status": omciMsg.ConnectStatus})
 
+	if DeviceState(dh.device.ConnectStatus) != DeviceState(voltha.ConnectStatus_REACHABLE) {
+		return status.Error(codes.Unavailable, "OLT unreachable")
+	}
 	if omciMsg.GetProxyAddress() == nil {
 		onuDevice, err := dh.getDeviceFromCore(ctx, omciMsg.ChildDeviceId)
 		if err != nil {