This patch set will remove the flow rules cache and move to the non-cached mode for DV mode. For Verbs mode flow rules, the behavior will remain the same. In the device closing stage, all the software resources for flows created will be freed and corresponding hardware resources will be released. Then the total cost of the memory will be reduced and the behavior of mlx5 PMD will comply fully with the ethdev API expectations. After closing a device, all the flow rules stored in application layer will no longer be valid anymore. Application should synchronize the database and do not try to destory any rule on this device. And after a device restarting, all the needed flow rules should be reinserted via the create routine in the rte_flow lib.
Bing Zhao (6): net/mlx5: introduce non-cached flows tailq list net/mlx5: change operations of non-cached flows net/mlx5: flow type check before creating net/mlx5: introduce handle structure for DV flows net/mlx5: remove the DV support macro checking net/mlx5: do not save device flow matcher value drivers/net/mlx5/mlx5.c | 4 +- drivers/net/mlx5/mlx5.h | 5 +- drivers/net/mlx5/mlx5_flow.c | 246 ++++++++++++++++++++++-------- drivers/net/mlx5/mlx5_flow.h | 44 +++++- drivers/net/mlx5/mlx5_flow_dv.c | 328 ++++++++++++++++++++++------------------ drivers/net/mlx5/mlx5_trigger.c | 11 +- 6 files changed, 417 insertions(+), 221 deletions(-) -- 1.8.3.1