[VOL-3819] Reporting correct serial number via OMCI Get Onu-g message

Change-Id: I91151ab1890ac70d4e1ad9b6b6ce2c4509822828
diff --git a/internal/common/omci/get.go b/internal/common/omci/get.go
index 64a7968..78aa98e 100644
--- a/internal/common/omci/get.go
+++ b/internal/common/omci/get.go
@@ -23,6 +23,7 @@
 	"github.com/google/gopacket"
 	"github.com/opencord/omci-lib-go"
 	me "github.com/opencord/omci-lib-go/generated"
+	"github.com/opencord/voltha-protos/v4/go/openolt"
 	log "github.com/sirupsen/logrus"
 	"strconv"
 )
@@ -43,7 +44,7 @@
 	return msgObj, nil
 }
 
-func CreateGetResponse(omciPkt gopacket.Packet, omciMsg *omci.OMCI) ([]byte, error) {
+func CreateGetResponse(omciPkt gopacket.Packet, omciMsg *omci.OMCI, onuSn *openolt.SerialNumber) ([]byte, error) {
 
 	msgObj, err := ParseGetRequest(omciPkt)
 
@@ -62,7 +63,7 @@
 	case me.Onu2GClassID:
 		response = createOnu2gResponse(msgObj.AttributeMask, msgObj.EntityInstance)
 	case me.OnuGClassID:
-		response = createOnugResponse(msgObj.AttributeMask, msgObj.EntityInstance)
+		response = createOnugResponse(msgObj.AttributeMask, msgObj.EntityInstance, onuSn)
 	case me.SoftwareImageClassID:
 		response = createSoftwareImageResponse(msgObj.AttributeMask, msgObj.EntityInstance)
 	case me.IpHostConfigDataClassID:
@@ -139,17 +140,15 @@
 	}
 }
 
-func createOnugResponse(attributeMask uint16, entityID uint16) *omci.GetResponse {
-	return &omci.GetResponse{
-		MeBasePacket: omci.MeBasePacket{
-			EntityClass:    me.OnuGClassID,
-			EntityInstance: entityID,
-		},
+func createOnugResponse(attributeMask uint16, entityID uint16, onuSn *openolt.SerialNumber) *omci.GetResponse {
+
+	managedEntity, meErr := me.NewOnuG(me.ParamData{
+		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
 			"ManagedEntityId":         entityID,
 			"VendorId":                toOctets("BBSM", 4),
 			"Version":                 toOctets("v0.0.1", 14),
-			"SerialNumber":            toOctets("QkJTTQAKAAE=", 8),
+			"SerialNumber":            append(onuSn.VendorId, onuSn.VendorSpecific...),
 			"TrafficManagementOption": 0,
 			"Deprecated":              0,
 			"BatteryBackup":           0,
@@ -161,9 +160,33 @@
 			"CredentialsStatus":       0,
 			"ExtendedTcLayerOptions":  0,
 		},
-		Result:        me.Success,
-		AttributeMask: attributeMask,
+	})
+
+	if meErr.GetError() != nil {
+		omciLogger.Errorf("NewOnu2G %v", meErr.Error())
+		return nil
 	}
+
+	return &omci.GetResponse{
+		MeBasePacket: omci.MeBasePacket{
+			EntityClass: me.OnuGClassID,
+		},
+		Attributes:    managedEntity.GetAttributeValueMap(),
+		AttributeMask: attributeMask,
+		Result:        me.Success,
+	}
+
+	//return &omci.GetResponse{
+	//	MeBasePacket: omci.MeBasePacket{
+	//		EntityClass:    me.OnuGClassID,
+	//		EntityInstance: entityID,
+	//	},
+	//	Attributes: me.AttributeValueMap{
+	//
+	//	},
+	//	Result:        me.Success,
+	//	AttributeMask: attributeMask,
+	//}
 }
 
 func createSoftwareImageResponse(attributeMask uint16, entityInstance uint16) *omci.GetResponse {