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... [...]