diff options
author | Paul Blakey <paulb@nvidia.com> | 2023-02-18 00:36:14 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-02-20 16:46:10 -0800 |
commit | 80cd22c35c9001fe72bf614d29439de41933deca (patch) | |
tree | 0a4953069a9b1876740444178bc5091f4ff6d089 /include/net/flow_offload.h | |
parent | db4b49025c0c7116f1d2dfe8d5bbfc983ac054de (diff) | |
download | lwn-80cd22c35c9001fe72bf614d29439de41933deca.tar.gz lwn-80cd22c35c9001fe72bf614d29439de41933deca.zip |
net/sched: cls_api: Support hardware miss to tc action
For drivers to support partial offload of a filter's action list,
add support for action miss to specify an action instance to
continue from in sw.
CT action in particular can't be fully offloaded, as new connections
need to be handled in software. This imposes other limitations on
the actions that can be offloaded together with the CT action, such
as packet modifications.
Assign each action on a filter's action list a unique miss_cookie
which drivers can then use to fill action_miss part of the tc skb
extension. On getting back this miss_cookie, find the action
instance with relevant cookie and continue classifying from there.
Signed-off-by: Paul Blakey <paulb@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net/flow_offload.h')
-rw-r--r-- | include/net/flow_offload.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index 9c5cb12f8a90..118082eae48c 100644 --- a/include/net/flow_offload.h +++ b/include/net/flow_offload.h @@ -229,6 +229,7 @@ struct flow_action_entry { enum flow_action_id id; u32 hw_index; unsigned long cookie; + u64 miss_cookie; enum flow_action_hw_stats hw_stats; action_destr destructor; void *destructor_priv; |