This was reported on dpdk slack channel. dpdk-dumpcap fails on a port with hairpin queues. The first attempt reports "Unknown error -22" and every later attempt fails with EEXIST until the application is restarted.
Several bugs combine: pdump tries to add callbacks to hairpin queues, the error is returned with the wrong sign, and a partially enabled capture is not undone. Also the first Rx callback API was missing the hairpin check the other callback APIs have. Stephen Hemminger (4): ethdev: reject hairpin queue in add first Rx callback pdump: fix error code when adding callback fails pdump: skip hairpin queues pdump: undo partial enable on failure lib/ethdev/rte_ethdev.c | 5 ++ lib/pdump/rte_pdump.c | 112 +++++++++++++++++++++++++++++++++------- 2 files changed, 98 insertions(+), 19 deletions(-) -- 2.53.0

