[VOL-1849] : fix to handle tech-profile download for all flows instead of just eapol

Change-Id: Iee14056cf8a4849ad5f1870a2b787285538603dc
(cherry picked from commit 579fe730e582b2cf05d8f5bc0710972131e03ca9)
diff --git a/adaptercore/openolt_flowmgr.go b/adaptercore/openolt_flowmgr.go
index 38d5c7e..fae77a9 100644
--- a/adaptercore/openolt_flowmgr.go
+++ b/adaptercore/openolt_flowmgr.go
@@ -34,6 +34,7 @@
 	openoltpb2 "github.com/opencord/voltha-protos/go/openolt"
 	tp_pb "github.com/opencord/voltha-protos/go/tech_profile"
 	"github.com/opencord/voltha-protos/go/voltha"
+
 	//deepcopy "github.com/getlantern/deepcopy"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
@@ -262,9 +263,10 @@
 
 		} else if ipProto == IgmpProto {
 			log.Info("igmp flow add ignored, not implemented yet")
+			return
 		} else {
 			log.Errorw("Invalid-Classifier-to-handle", log.Fields{"classifier": classifierInfo, "action": actionInfo})
-			//return errors.New("Invalid-Classifier-to-handle")
+			return
 		}
 	} else if ethType, ok := classifierInfo[EthType]; ok {
 		if ethType.(uint32) == EapEthType {
@@ -284,12 +286,11 @@
 			} else {
 				installFlowOnAllGemports(nil, f.addEAPOLFlow, args, classifierInfo, actionInfo, flow, gemPorts, EapolFlow, vlanId)
 			}
-			// Send Techprofile download event to child device in go routine as it takes time
-			go f.sendTPDownloadMsgToChild(intfID, onuID, uniID, uni, TpId)
 		}
 		if ethType == LldpEthType {
 			log.Info("Adding LLDP flow")
 			addLLDPFlow(flow, portNo)
+			return
 		}
 	} else if _, ok := actionInfo[PushVlan]; ok {
 		log.Info("Adding upstream data rule")
@@ -317,7 +318,10 @@
 		}
 	} else {
 		log.Errorw("Invalid-flow-type-to-handle", log.Fields{"classifier": classifierInfo, "action": actionInfo, "flow": flow})
+		return
 	}
+	// Send Techprofile download event to child device in go routine as it takes time
+	go f.sendTPDownloadMsgToChild(intfID, onuID, uniID, uni, TpId)
 }
 
 func (f *OpenOltFlowMgr) CreateSchedulerQueues(Dir tp_pb.Direction, IntfId uint32, OnuId uint32, UniId uint32, UniPort uint32, TpInst *tp.TechProfile, MeterId uint32, flowMetadata *voltha.FlowMetadata) error {