Netdev datapath offloads are done in a separate thread, using messaging between the threads. With port removal there is a race between the offload thread removing the offloaded rules and the actual port removal, so some rules will not be removed. In OVS the offload objects are not freed (memory leak). In HW the remining of the rules depend on PMD behavior. This patch-set resolves this issue using flush.
v2-v1: - Fix for pending offload requests. v3-v2: - Rebase. Travis: v1: https://travis-ci.org/github/elibritstein/OVS/builds/747022942 v2: https://travis-ci.org/github/elibritstein/OVS/builds/748788786 v3: https://travis-ci.org/github/elibritstein/OVS/builds/751787939 GitHub Actions: v1: https://github.com/elibritstein/OVS/actions/runs/394296553 v2: https://github.com/elibritstein/OVS/actions/runs/413379295 v3: https://github.com/elibritstein/OVS/actions/runs/448541155 Eli Britstein (4): dpif-netdev: Flush offload rules upon port deletion netdev-offload-dpdk: Keep netdev in offload object netdev-offload-dpdk: Refactor disassociate and flow destroy netdev-offload-dpdk: Implement flow flush lib/dpif-netdev.c | 2 + lib/netdev-offload-dpdk.c | 85 +++++++++++++++++++++++++-------------- 2 files changed, 56 insertions(+), 31 deletions(-) -- 2.28.0.546.g385c171 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
