I met a problem: use ovs 3.1.2 and dpdk 22.11.2 in the offload scene, 
and the offload-thread is 5. when delete bridge, add bridge add eth port 
repeatedly, sometimes eth port may add failure. The cause is that some offload 
flow are not deleted during flush. I tried to count the number of times each 
offload thread created rte-flow and the number of times each offload thread 
deleted rte-flow, found that some threads lost several deletions when problem 
happend. Which may be caused by multiple threads,  because the same test 
scenario and only set offload-thread to 1 and there was no problem.            
In the function "offload_data_destroy" , if rte_flow is not completely deleted 
will print an error log and free rte-flow-data memory one by one. However, for 
the offload rte-flow, there are still netdev and some resources offload to hw 
that are also need to be released. So I try call 
"netdev_offload_dpdk_flow_destroy" funcion to delete some related resource 
instead of free directly
  like the picture below, the problem not happen .               I don't know 
whether this method is practicable. Thanks for any feedback, best wishes!
pengxuejiao

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

Reply via email to