[VOL-4773] openonuAdapterGo: voltctl command to show ONU OMCI counter statistics

Change-Id: Id42a414333e293e4347e3e76d652fc1ec90723fe
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index e6236fc..ddbfe7a 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -3825,6 +3825,32 @@
 	return resp
 }
 
+func (dh *deviceHandler) getOnuOMCIStats(ctx context.Context) (*extension.SingleGetValueResponse, error) {
+
+	var err error
+	var pDevOmciCC *cmn.OmciCC
+	if dh.pOnuOmciDevice == nil {
+		logger.Errorw(ctx, "No valid DeviceEntry", log.Fields{"device-id": dh.DeviceID})
+		err = fmt.Errorf("no-valid-DeviceEntry-%s", dh.DeviceID)
+	} else {
+		pDevOmciCC = dh.pOnuOmciDevice.GetDevOmciCC()
+		if pDevOmciCC == nil {
+			logger.Errorw(ctx, "No valid DeviceOmciCCEntry", log.Fields{"device-id": dh.DeviceID})
+			err = fmt.Errorf("no-valid-DeviceOmciCCEntry-%s", dh.DeviceID)
+		}
+	}
+	if err != nil {
+		return &extension.SingleGetValueResponse{
+				Response: &extension.GetValueResponse{
+					Status:    extension.GetValueResponse_ERROR,
+					ErrReason: extension.GetValueResponse_INTERNAL_ERROR,
+				},
+			},
+			err
+	}
+	return pDevOmciCC.GetOmciCounters(), nil
+}
+
 func (dh *deviceHandler) isFsmInOmciIdleState(ctx context.Context, PFsm *fsm.FSM, wantedState string) bool {
 	if PFsm == nil {
 		return true //FSM not active - so there is no activity on omci
diff --git a/internal/pkg/core/openonu.go b/internal/pkg/core/openonu.go
index 96c13aa..1995a9a 100755
--- a/internal/pkg/core/openonu.go
+++ b/internal/pkg/core/openonu.go
@@ -483,9 +483,10 @@
 			return &resp, nil
 		case *extension.GetValueRequest_OnuInfo:
 			return handler.getOnuOMCICounters(ctx, reqType.OnuInfo), nil
+		case *extension.GetValueRequest_OnuOmciStats:
+			return handler.getOnuOMCIStats(ctx)
 		default:
 			return uniprt.PostUniStatusErrResponse(extension.GetValueResponse_UNSUPPORTED), nil
-
 		}
 	}
 	logger.Errorw(ctx, "Single_get_value_request failed ", log.Fields{"request": request})