- If the packet has to go to agent and needs to be held in the flow entr...

...y,

do not cache the nexthop in the packet, since a cached nexthop need not be valid
when the packet gets flushed subsequently. Nexthop caching for packets which were
held in flow entry was introduced as part of ECMP support, since a route lookup
will not return the same nexthop as the one from MPLS table. This issue has
now been solved by doing a relookup in the MPLS table for packets that are
held. Also, similar problem can happen for interface pointer cached in the
packet. Fix that behavior too by doing a relook in the interface table and
comparing pointers. While it could so happen that the old interface was deleted,
and the new interface gets the same memory, this check is the best we could do
for sanity.