mbox series

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

Message ID 20201210162343.6138-1-elibr@nvidia.com
Headers show
Series netdev datapath flush offloaded flows | expand

Message

Eli Britstein Dec. 10, 2020, 4:23 p.m. UTC
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(-)