Hello,

We have some issues with the flow filtering API.

When deleting a filter, just after rte_flow_destroy, we clear the received packets by receiving all packet in that mempool.
The issue is that the nic still receive packet in that mempool after the rte_flow_destroy is done.
We than reuse this mempool to receive packet from a different origin, and we see that this mempool still have packet from the previous origin.

The filter we use is simply a queue one based on the IP and the UDP dst and src.

The questions are:
- Is the rte_flow_destroy asynchronous on the NIC ? we see the filter doesn’t exist anymore in DPDK.

- If yes, is there a way to know when the filter is effectively deleted on the NIC ?

- Is there a way to reset the mempool in a clean way without deleting it ?

At this stage to avoid this issue the only fix we found is to sleep during one second after the call of rte_flow_destroy and then receiving the remaining packets still present in mempool.

Hope I’ll find help here,

Regards,

Antoine Pollenus