git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/hns3: modify a function name
[dpdk.git]
/
examples
/
l3fwd
/
l3fwd_event.c
diff --git
a/examples/l3fwd/l3fwd_event.c
b/examples/l3fwd/l3fwd_event.c
index
a14a21b
..
0b58475
100644
(file)
--- a/
examples/l3fwd/l3fwd_event.c
+++ b/
examples/l3fwd/l3fwd_event.c
@@
-301,6
+301,16
@@
l3fwd_event_vector_array_free(struct rte_event events[], uint16_t num)
}
}
}
}
+static void
+l3fwd_event_port_flush(uint8_t event_d_id __rte_unused, struct rte_event ev,
+ void *args __rte_unused)
+{
+ if (ev.event_type & RTE_EVENT_TYPE_VECTOR)
+ l3fwd_event_vector_array_free(&ev, 1);
+ else
+ rte_pktmbuf_free(ev.mbuf);
+}
+
void
l3fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t event_p_id,
struct rte_event events[], uint16_t nb_enq,
void
l3fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t event_p_id,
struct rte_event events[], uint16_t nb_enq,
@@
-320,4
+330,7
@@
l3fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t event_p_id,
events[i].op = RTE_EVENT_OP_RELEASE;
rte_event_enqueue_burst(event_d_id, event_p_id, events, nb_deq);
}
events[i].op = RTE_EVENT_OP_RELEASE;
rte_event_enqueue_burst(event_d_id, event_p_id, events, nb_deq);
}
+
+ rte_event_port_quiesce(event_d_id, event_p_id, l3fwd_event_port_flush,
+ NULL);
}
}