[VOL-5534] Processing of the NNI trap flows fails sometimes leading to failure of IP Address Assignment for FTTB .

Change-Id: I1bce7f2ae62721a80242077b68e29de11bf94387
Signed-off-by: pnalmas <praneeth.nalmas@radisys.com>
diff --git a/rw_core/core/device/logical_agent_route.go b/rw_core/core/device/logical_agent_route.go
index c1172d0..eeae4b0 100644
--- a/rw_core/core/device/logical_agent_route.go
+++ b/rw_core/core/device/logical_agent_route.go
@@ -48,7 +48,7 @@
 			}
 
 			// Return a 'half' route to make the flow decomposer logic happy
-			routes, err := agent.deviceRoutes.GetHalfRoute(true, 0, 0)
+			routes, err := agent.deviceRoutes.GetHalfRoute(false, ingressPortNo, 0)
 			if err != nil {
 				return nil, fmt.Errorf("no upstream route from:%d to:%d :%w", ingressPortNo, egressPortNo, route.ErrNoRoute)
 			}
diff --git a/rw_core/flowdecomposition/flow_decomposer.go b/rw_core/flowdecomposition/flow_decomposer.go
index 58fcb83..6d33a14 100644
--- a/rw_core/flowdecomposition/flow_decomposer.go
+++ b/rw_core/flowdecomposition/flow_decomposer.go
@@ -126,7 +126,7 @@
 		fa := &fu.FlowArgs{
 			KV: fu.OfpFlowModArgs{"priority": uint64(flow.Priority), "cookie": flow.Cookie},
 			MatchFields: []*ofp.OfpOxmOfbField{
-				fu.InPort(egressHop.Egress),
+				fu.InPort(ingressHop.Ingress),
 			},
 			Actions: fu.GetActions(flow),
 		}
@@ -138,7 +138,7 @@
 			return nil, err
 		}
 		fg.AddFlow(fs)
-		deviceRules.AddFlowsAndGroup(egressHop.DeviceID, fg)
+		deviceRules.AddFlowsAndGroup(ingressHop.DeviceID, fg)
 	} else {
 		// Trap flow for UNI port
 		logger.Debug(ctx, "trap-uni")