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.
Travis: v1: https://travis-ci.org/github/elibritstein/OVS/builds/747022942 v2: https://travis-ci.org/github/elibritstein/OVS/builds/748788786 GitHub Actions: v1: https://github.com/elibritstein/OVS/actions/runs/394296553 v2: https://github.com/elibritstein/OVS/actions/runs/413379295 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.26.2.1730.g385c171 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
