[ovs-dev] [PATCH 0/4] netdev datapath flush offloaded flows

Eli Britstein elibr at nvidia.com
Wed Dec 2 07:23:00 UTC 2020


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

GitHub Actions:
v1: https://github.com/elibritstein/OVS/actions/runs/394296553

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         |  1 +
 lib/netdev-offload-dpdk.c | 85 +++++++++++++++++++++++++--------------
 2 files changed, 55 insertions(+), 31 deletions(-)

-- 
2.28.0.546.g385c171



More information about the dev mailing list