Just a clarification, Following a talk with Andrew regarding his comments about missing documentation in V4 it was agreed that no documentation change is needed.
The only comment is the typo, which Ferruh agreed to correct when applying the patch. Thanks, Ori > -----Original Message----- > From: Andrew Rybchenko <arybche...@solarflare.com> > Sent: Monday, October 22, 2018 5:16 PM > To: Ori Kam <or...@mellanox.com>; wenzhuo...@intel.com; > jingjing...@intel.com; bernard.iremon...@intel.com; > arybche...@solarflare.com; ferruh.yi...@intel.com; > step...@networkplumber.org; Adrien Mazarguil > <adrien.mazarg...@6wind.com> > Cc: dev@dpdk.org; Dekel Peled <dek...@mellanox.com>; Thomas Monjalon > <tho...@monjalon.net>; NĂ©lio Laranjeiro <nelio.laranje...@6wind.com>; > Yongseok Koh <ys...@mellanox.com>; Shahaf Shuler > <shah...@mellanox.com> > Subject: Re: [dpdk-dev] [PATCH v5 1/3] ethdev: add raw encapsulation action > > On 10/17/18 8:07 PM, Ori Kam wrote: > > Currenlty the encap/decap actions only support encapsulation > > of VXLAN and NVGRE L2 packets (L2 encapsulation is where > > the inner packet has a valid Ethernet header, while L3 encapsulation > > is where the inner packet doesn't have the Ethernet header). > > In addtion the parameter to to the encap action is a list of rte items, > > this results in 2 extra translation, between the application to the > > actioni and from the action to the NIC. This results in negative impact > > on the insertion performance. > > > > Looking forward there are going to be a need to support many more tunnel > > encapsulations. For example MPLSoGRE, MPLSoUDP. > > Adding the new encapsulation will result in duplication of code. > > For example the code for handling NVGRE and VXLAN are exactly the same, > > and each new tunnel will have the same exact structure. > > > > This patch introduce a raw encapsulation that can support L2 tunnel types > > and L3 tunnel types. In addtion the new > > encapsulations commands are using raw buffer inorder to save the > > converstion time, both for the application and the PMD. > > > > In order to encapsulate L3 tunnel type there is a need to use both > > actions in the same rule: The decap to remove the L2 of the original > > packet, and then encap command to encapsulate the packet with the > > tunnel. > > For decap L3 there is also a need to use both commands in the same flow > > first the decap command to remove the outer tunnel header and then encap > > to add the L2 header. > > > > Signed-off-by: Ori Kam <or...@mellanox.com> > > One nit below > > Acked-by: Andrew Rybchenko <arybche...@solarflare.com> > > [...] > > > diff --git a/doc/guides/prog_guide/rte_flow.rst > b/doc/guides/prog_guide/rte_flow.rst > > index a5ec441..5212b18 100644 > > --- a/doc/guides/prog_guide/rte_flow.rst > > +++ b/doc/guides/prog_guide/rte_flow.rst > > @@ -2076,6 +2076,57 @@ RTE_FLOW_ERROR_TYPE_ACTION error should > be returned. > > > > This action modifies the payload of matched flows. > > > > +Action: ``RAW_ENCAP`` > > +^^^^^^^^^^^^^^^^^^^^^ > > + > > +Adds outer header whose template is provided in it's data buffer, > > it's -> its