VOL-4366:
1. Set traffic scheduler pointer to GemPortNetworkCTP only if
   QualityOfServiceQosConfigurationFlexibility is true in ONU2G ME
2. Fix the traffic descriptor ME reference during GemPortNetworkCTP set
   operation.

Change-Id: I35898d6ea42789faac362ade920f7b17d639c04b
diff --git a/internal/pkg/onuadaptercore/omci_vlan_config.go b/internal/pkg/onuadaptercore/omci_vlan_config.go
index c828804..c6311e4 100644
--- a/internal/pkg/onuadaptercore/omci_vlan_config.go
+++ b/internal/pkg/onuadaptercore/omci_vlan_config.go
@@ -3064,7 +3064,8 @@
 		return err
 	}
 
-	err = oFsm.setTrafficDescriptorToGemPortNWCTP(ctx, gemPortID)
+	// Note: in the below request the gemport entity id is same as the gemport id and the traffic descriptor entity id is also same as gemport id
+	err = oFsm.setTrafficDescriptorToGemPortNWCTP(ctx, gemPortID, gemPortID)
 	if err != nil {
 		logger.Errorw(ctx, "Traffic Descriptor set failed to Gem Port Network CTP, aborting VlanConfig FSM!", log.Fields{"device-id": oFsm.deviceID})
 		return err
@@ -3074,12 +3075,13 @@
 	return nil
 }
 
-func (oFsm *UniVlanConfigFsm) setTrafficDescriptorToGemPortNWCTP(ctx context.Context, gemPortID uint16) error {
-	logger.Debugw(ctx, "Starting Set Traffic Descriptor to GemPortNWCTP", log.Fields{"device-id": oFsm.deviceID, "gem-port-id": gemPortID})
+func (oFsm *UniVlanConfigFsm) setTrafficDescriptorToGemPortNWCTP(ctx context.Context, gemPortEntityID uint16, trafficDescriptorEntityID uint16) error {
+	logger.Debugw(ctx, "Starting Set Traffic Descriptor to GemPortNWCTP",
+		log.Fields{"device-id": oFsm.deviceID, "gem-port-entity-id": gemPortEntityID, "traffic-descriptor-entity-id": trafficDescriptorEntityID})
 	meParams := me.ParamData{
-		EntityID: gemPortID,
+		EntityID: gemPortEntityID,
 		Attributes: me.AttributeValueMap{
-			"TrafficManagementPointerForUpstream": gemPortID,
+			"TrafficDescriptorProfilePointerForUpstream": trafficDescriptorEntityID,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()