net/sfc: support jump flows in tunnel offload
authorIvan Malov <ivan.malov@oktetlabs.ru>
Wed, 13 Oct 2021 13:15:06 +0000 (16:15 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 13 Oct 2021 19:30:13 +0000 (21:30 +0200)
commit93de39f50a5a1dee037e4614a22b4505ba65418b
treecfc11d29953a7d111756f35a2cd8bf9ce7e0712f
parent5cf153e79c6cef1ab59f7122a5c32d261e26b48c
net/sfc: support jump flows in tunnel offload

JUMP is an in-house term for so-called "tunnel_set" flows. On parsing,
they are identified by virtue of actions MARK (PMD-internal) and JUMP.
The action MARK associates a given flow with its tunnel context.

Such a flow is represented by a MAE outer rule (OR) which has its
recirculation ID set. This ID is also associated with the tunnel
context. The OR is supposed to set this ID in 8 high bits of
Rx mark in matching packets. It also counts the packets.

Packets that hit the OR but miss in action rule (AR) table,
should go to MAE admin PF (that is, to DPDK) by default.

Support for the use of action COUNT in JUMP
flows will be introduced by later patches.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
doc/guides/nics/features/sfc.ini
drivers/net/sfc/sfc.h
drivers/net/sfc/sfc_flow.c
drivers/net/sfc/sfc_flow.h
drivers/net/sfc/sfc_flow_tunnel.c
drivers/net/sfc/sfc_flow_tunnel.h
drivers/net/sfc/sfc_mae.c
drivers/net/sfc/sfc_mae.h