net/mlx5: translate flex item configuration
authorViacheslav Ovsiienko <viacheslavo@nvidia.com>
Tue, 2 Nov 2021 08:53:44 +0000 (10:53 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 4 Nov 2021 21:55:39 +0000 (22:55 +0100)
commitb293e8e49d786e101df6ebedd36e52c38440d07b
tree16f8330f0d19d28354aa9a94741289e69c276785
parent9086ac093ab6bb25df7aa4008738dfd148c00ddf
net/mlx5: translate flex item configuration

RTE Flow flex item configuration should be translated
into actual hardware settings:

  - translate header length and next protocol field samplings
  - translate data field sampling, the similar fields with the
    same mode and matching related parameters are relocated
    and grouped to be covered with minimal amount of hardware
    sampling registers (each register can cover arbitrary
    neighbour 32 bits (aligned to byte boundary) in the packet
    and we can combine the fields with smaller lengths or
    segments of bigger fields)
  - input and output links translation
  - preparing data for parsing flex item pattern on flow creation

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_flow_flex.c