When OS sends more packets than are being read with a single 'rte_eth_rx_burst' call, rx packets are getting stucked in the tap pmd and are unable to receive, because trigger_seen is getting updated and consecutive calls are not getting any packets.
Do not update trigger_seen unless less than a max number of packets were received allowing next call to receive the rest. v1 to v2 changes: - fix typo in commit description - remove unnecessary compiler barrier Marcin Smoczynski (1): net/tap: fix blocked rx packets error drivers/net/tap/rte_eth_tap.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -- 2.17.1