VOL-4029 code changes for extended pm counters

Change-Id: Id3c1a310b7eb7718776dd1391fd79c0bb7fc25e8
diff --git a/internal/pkg/onuadaptercore/device_handler.go b/internal/pkg/onuadaptercore/device_handler.go
index ff18216..65051f6 100644
--- a/internal/pkg/onuadaptercore/device_handler.go
+++ b/internal/pkg/onuadaptercore/device_handler.go
@@ -3368,6 +3368,8 @@
 
 	// Start routine to process OMCI GET Responses
 	go dh.pOnuMetricsMgr.processOmciMessages(ctx)
+	// Create Extended Frame PM ME
+	go dh.pOnuMetricsMgr.createEthernetFrameExtendedPMME(ctx)
 	// Initialize the next metric collection time.
 	// Normally done when the onu_metrics_manager is initialized the first time, but needed again later when ONU is
 	// reset like onu rebooted.
@@ -3455,6 +3457,19 @@
 	return portStatus.getUniPortStatus(ctx, uniInfo.UniIndex)
 }
 
+func (dh *deviceHandler) getOnuOMCICounters(ctx context.Context, onuInfo *extension.GetOmciEthernetFrameExtendedPmRequest) *extension.SingleGetValueResponse {
+	if dh.pOnuMetricsMgr == nil {
+		return &extension.SingleGetValueResponse{
+			Response: &extension.GetValueResponse{
+				Status:    extension.GetValueResponse_ERROR,
+				ErrReason: extension.GetValueResponse_INTERNAL_ERROR,
+			},
+		}
+	}
+	resp := dh.pOnuMetricsMgr.collectEthernetFrameExtendedPMCounters(ctx)
+	return resp
+}
+
 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