net/mlx5: introduce hardware steering enable routine
authorSuanming Mou <suanmingm@nvidia.com>
Thu, 24 Feb 2022 13:40:40 +0000 (15:40 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 24 Feb 2022 21:10:17 +0000 (22:10 +0100)
commitd84c3cf7662c6abca83df803aaa5136b73d3831d
treeb823b1861944f2a3d3bd7e29c577655231b0694b
parent5cadd74fbc082720ae9d502c2815c16fba723c21
net/mlx5: introduce hardware steering enable routine

The new hardware steering engine relies on using dedicated steering WQEs
instead of writing to the low-level steering table entries directly.
In the first implementation the hardware steering engine supports the
new queue based Flow API, the existing synchronous non-queue based Flow
API is not supported.

A new dv_flow_en value 2 is added to manage mlx5 PMD steering engine:

dv_flow_en rte_flow API rte_flow_async API
------------------------------------------------
 0 support not support
 1 support not support
 2 not support support

This commit introduces the extra dv_flow_en = 2 to specify the new
flow initialize and manage operation routine.

Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
doc/guides/nics/mlx5.rst
drivers/net/mlx5/linux/mlx5_os.c
drivers/net/mlx5/mlx5.c
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_flow.c