sfc: add fallback action-set-lists for TC offload
authorEdward Cree <ecree.xilinx@gmail.com>
Thu, 8 Jun 2023 16:42:30 +0000 (17:42 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 10 Jun 2023 07:11:49 +0000 (00:11 -0700)
commite16ca7fb9ffb0d51ddf01e450a1043ea65b5be3f
tree815aeec6b5227616cf379c2f456d342f42ca3fa8
parentd457a0e329b0bfd3a1450e0b1a18cd2b47a25a08
sfc: add fallback action-set-lists for TC offload

When offloading a TC encap action, the action information for the
 hardware might not be "ready": if there's currently no neighbour entry
 available for the destination address, we can't construct the Ethernet
 header to prepend to the packet.  In this case, we still offload the
 flow rule, but with its action-set-list ID pointing at a "fallback"
 action which simply delivers the packet to its default destination (as
 though no flow rule had matched), thus allowing software TC to handle
 it.  Later, when we receive a neighbouring update that allows us to
 construct the encap header, the rule will become "ready" and we will
 update its action-set-list ID in hardware to point at the actual
 offloaded actions.
This patch sets up these fallback ASLs, but does not yet use them.

Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>
Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/sfc/tc.c
drivers/net/ethernet/sfc/tc.h