net/mlx5: check consistency of meter policy and profile
authorBing Zhao <bingz@nvidia.com>
Wed, 21 Jul 2021 08:54:20 +0000 (11:54 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 22 Jul 2021 11:28:57 +0000 (13:28 +0200)
commit4d648fad901fe4f13797c90e64330473f27509e1
tree6715230107627c2e1189018d807bd8e7a47d3054
parent4b7bf3ffb473afef228d6c28d0098c7c5f809e1f
net/mlx5: check consistency of meter policy and profile

In the previous implementation, only green color policy was
supported in mlx5 PMD. Since yellow color policy is supported now,
the consistency of meter policy and profile should be checked.
  1. If the profile supports yellow but the policy doesn't, an error
     should be returned when creating the meter. Or else, there is
     no explicit steering action for the packets marked with yellow.
  2. If the policy supports yellow but the profile doesn't, it will
     be considered as a valid case. Even if no packet will be
     handled with the yellow steering action, it is just like that
     only the green policy presents.

Usually the green color is supported by default, but when it is
disabled intentionally with setting the CBS to a small value like
zero in the profile, the similar checking on green policy and
profile should also be done.

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_flow_dv.c
drivers/net/mlx5/mlx5_flow_meter.c