On 10/4/2019 3:24 PM, Rahul Lakkireddy wrote: > When rules are being inserted from multiple cores, there are several > race conditions during rte_flow operations. > > For example, when inserting rules from 2 cores simultaneously, both > the cores try to fetch a free available filter entry and they both > end up fetching the same entry. Both of them start overwriting the > same filter entry before sending to firmware, which results in wrong > rule being inserted to hardware. > > Fix the races by adding spinlock to serialize the rte_flow operations. > > Fixes: ee61f5113b17 ("net/cxgbe: parse and validate flows") > Fixes: 9eb2c9a48072 ("net/cxgbe: implement flow create operation") > Fixes: da23bc9d33f4 ("net/cxgbe: implement flow destroy operation") > Fixes: 8d3c12e19368 ("net/cxgbe: implement flow query operation") > Fixes: 86910379d335 ("net/cxgbe: implement flow flush operation") > Cc: sta...@dpdk.org > > Signed-off-by: Rahul Lakkireddy <rahul.lakkire...@chelsio.com>
Applied to dpdk-next-net/master, thanks.