mbox

[v3,0/4] net/mlx5: move to non-cached mode for flow rules

Message ID 1585062980-27196-1-git-send-email-bingz@mellanox.com (mailing list archive)
Headers

Message

Bing Zhao March 24, 2020, 3:16 p.m. UTC
  This patch set will remove the flow rules cache and move to the
non-cached mode for both DV and Verbs mode.

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.

---
v2 Changes:
    Fix the compiling error with MLX5 Debug mode in the 4th commit
    of "net/mlx5: introduce handle structure for DV flows".
v3 Changes:
    Refactor the device flow related structures to support non-cached
    mode for both Verbs and DV flows.
---

Bing Zhao (4):
  net/mlx5: change operations for non-cached flows
  net/mlx5: reorganize mlx5 flow structures
  net/mlx5: separate the flow handle resource
  net/mlx5: check device stat before creating flow

 drivers/net/mlx5/mlx5.c            |  18 ++-
 drivers/net/mlx5/mlx5.h            |   9 +-
 drivers/net/mlx5/mlx5_flow.c       | 197 +++++++++++++++++------
 drivers/net/mlx5/mlx5_flow.h       | 179 ++++++++++++++-------
 drivers/net/mlx5/mlx5_flow_dv.c    | 311 ++++++++++++++++++++-----------------
 drivers/net/mlx5/mlx5_flow_verbs.c | 156 +++++++++++--------
 drivers/net/mlx5/mlx5_trigger.c    |  26 ++--
 7 files changed, 573 insertions(+), 323 deletions(-)