Thu, Jun 13, 2019 at 07:43:58PM CEST, john.hur...@netronome.com wrote:
>A recent addition to TC actions is the ability to manipulate the MPLS
>headers on packets.
>
>In preparation to offload such actions to hardware, update the IR code to
>accept and prepare the new actions.
>
>Signed-off-by: John Hurley <john.hur...@netronome.com>
>Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com>
>---
> include/net/flow_offload.h   | 10 +++++++
> include/net/tc_act/tc_mpls.h | 64 ++++++++++++++++++++++++++++++++++++++++++++
> net/sched/cls_api.c          | 26 ++++++++++++++++++
> 3 files changed, 100 insertions(+)
>
>diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
>index 36fdb85..e26ae81 100644
>--- a/include/net/flow_offload.h
>+++ b/include/net/flow_offload.h
>@@ -123,6 +123,10 @@ enum flow_action_id {
>       FLOW_ACTION_QUEUE,
>       FLOW_ACTION_SAMPLE,
>       FLOW_ACTION_POLICE,
>+      FLOW_ACTION_MPLS_PUSH,
>+      FLOW_ACTION_MPLS_POP,
>+      FLOW_ACTION_MPLS_MANGLE,
>+      FLOW_ACTION_MPLS_DEC_TTL,
> };
> 
> /* This is mirroring enum pedit_header_type definition for easy mapping 
> between
>@@ -172,6 +176,12 @@ struct flow_action_entry {
>                       s64                     burst;
>                       u64                     rate_bytes_ps;
>               } police;
>+              struct {                                /* FLOW_ACTION_MPLS */
>+                      u32             label;
>+                      __be16          proto;
>+                      u8              tc;
>+                      u8              ttl;
>+              } mpls;


This patch is not really useful without a driver offloading this...

[...]

Reply via email to