aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-keystone2/include/odp_packet_io_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linux-keystone2/include/odp_packet_io_internal.h')
-rw-r--r--platform/linux-keystone2/include/odp_packet_io_internal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/platform/linux-keystone2/include/odp_packet_io_internal.h b/platform/linux-keystone2/include/odp_packet_io_internal.h
index b2e1f5a7..6e60f4e6 100644
--- a/platform/linux-keystone2/include/odp_packet_io_internal.h
+++ b/platform/linux-keystone2/include/odp_packet_io_internal.h
@@ -27,6 +27,11 @@ static inline void pktin_update_event(odp_event_t ev, queue_entry_t *qentry)
{
odp_packet_t pkt = odp_packet_from_event(ev);
struct odp_pkthdr *hdr = _odp_pkt_hdr(pkt);
+
+ /* if packet is alredy parsed, just exit */
+ if (hdr->input_flags.all)
+ return;
+
hdr->input = qentry->pktin;
ODP_DBG("Received packet ---------\n");
#ifdef SW_PARSING