net/mlx5: split meter flow
The flow with meter action will be divided to three sub flows, the
prefix flow, the meter flow and the suffix flow.
For these three sub flows, as the prefix flow and meter flow have the
meter color match. In order the make the packet from prefix flow to
match with the suffix flow, an extra metadata register is allocated.
The prefix flow will add a unique id to the register and the suffix
flow matches on that unique id.
As RSS will also divided the flow to several sub flows, flow with meter
will be divided as the sub flow of the RSS sub flows if have as below:
Original flow ->
RSS sub flow 1 ->
Meter sub flow 1 (Contain three sub flows.)
RSS sub flow 2 ->
Meter sub flow 2 (Contain three sub flows.)
......
RSS sub flow n ->
Meter sub flow n (Contain three sub flows.)
The metadata feature flow will be split as the sub flow of the meter
suffix flow.
Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>