A race condition has been identified during datapath destruction,
along with the port offload flushes issued.

This series addresses these race conditions, cleaning up the
port deletion process.

The last patch also cleans up the offload structure.
It is not strictly necessary like the first two fixes,
so I put it last. It can wait until after the code-freeze
to be integrated.

I tested for a few hours without ASAN enabled without seeing
issues. ASAN has been executed as part of the github CI:
https://github.com/grivet/ovs/actions/runs/1795624401
It is however not too relevant, as no offloads are inserted during CI.

The following patch was used to fix an unrelated CI issue:
https://patchwork.ozlabs.org/project/openvswitch/patch/20220204150445.1481457-1-i.maxim...@ovn.org/

I also ran datapath creation + deletion loop with ASAN on an offload
test setup, but the execution was excruciatingly slow and could
not progress much. It reached datapath deletion without panicking
and no crash was seen, even though I had to interrupt the test after
a few hours.

Gaetan Rivet (2):
  dpif-netdev: Move port flush after datapath reconfiguration
  dpif-netdev: Use dp_netdev reference in offload threads

Sriharsha Basavapatna (1):
  dpif-netdev: Fix a race condition in deletion of offloaded flows

 lib/dpif-netdev.c | 71 ++++++++++++++++++++++++++---------------------
 1 file changed, 40 insertions(+), 31 deletions(-)

--
2.31.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to