net/mlx5e: Enable setting multiple match criteria for flow group
authorYevgeny Kliteynik <kliteyn@mellanox.com>
Wed, 30 Jan 2019 13:52:35 +0000 (15:52 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Fri, 31 May 2019 20:04:25 +0000 (13:04 -0700)
commitd4a18e16c570fd84ef6cba9933803cf01a7b71e2
tree0959f193472f94299e1e9494f3a6e9f6ff55d479
parentd1bda7eecd88e3d10e44541d675c07564f4f6938
net/mlx5e: Enable setting multiple match criteria for flow group

When filling in flow spec match criteria, to allow previous
modifications of the match criteria, use "|=" rather than "=".

Tunnel options are parsed before the match criteria of the offloaded
flow are being set. If the the flow that we're about to offload has
encapsulation options, the flow group might need to match on additional
criteria.

For Geneve, an additional flow group matching parameter should
be used - misc3. The appropriate bit in the match criteria is set
while parsing the tunnel options, so the criteria value shouldn't
be overwritten.

This is a pre-step for supporting Geneve TLV options offload.

Reviewed-by: Oz Shlomo <ozsh@mellanox.com>
Signed-off-by: Yevgeny Kliteynik <kliteyn@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c