VOL-2294 Flow-decomposer should not decompose multicast flows;
it should leave it as it is.

Change-Id: I6020b66257ed6f19145298dde34c2bae7b338650
diff --git a/rw_core/core/device_manager.go b/rw_core/core/device_manager.go
index 7bb869f..0094264 100755
--- a/rw_core/core/device_manager.go
+++ b/rw_core/core/device_manager.go
@@ -762,7 +762,7 @@
 }
 
 func (dMgr *DeviceManager) addFlowsAndGroups(deviceID string, flows []*ofp.OfpFlowStats, groups []*ofp.OfpGroupEntry, flowMetadata *voltha.FlowMetadata) error {
-	log.Debugw("addFlowsAndGroups", log.Fields{"deviceid": deviceID, "flowMetadata": flowMetadata})
+	log.Debugw("addFlowsAndGroups", log.Fields{"deviceid": deviceID, "groups:": groups, "flowMetadata": flowMetadata})
 	if agent := dMgr.getDeviceAgent(deviceID); agent != nil {
 		return agent.addFlowsAndGroups(flows, groups, flowMetadata)
 	}
diff --git a/rw_core/core/logical_device_agent.go b/rw_core/core/logical_device_agent.go
index b85d572..5da6d40 100644
--- a/rw_core/core/logical_device_agent.go
+++ b/rw_core/core/logical_device_agent.go
@@ -1772,3 +1772,16 @@
 	}
 	return 0, status.Error(codes.NotFound, "No NNI port found")
 }
+
+//GetNNIPorts returns NNI ports.
+func (agent *LogicalDeviceAgent) GetNNIPorts() []uint32 {
+	agent.lockLogicalPortsNo.RLock()
+	defer agent.lockLogicalPortsNo.RUnlock()
+	nniPorts := make([]uint32, 0)
+	for portNo, nni := range agent.logicalPortsNo {
+		if nni {
+			nniPorts = append(nniPorts, portNo)
+		}
+	}
+	return nniPorts
+}