From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 9266D5F1A for ; Mon, 22 Oct 2018 16:16:41 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 50A704C0070; Mon, 22 Oct 2018 14:16:38 +0000 (UTC) Received: from [192.168.38.17] (91.220.146.112) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 22 Oct 2018 15:16:28 +0100 To: Ori Kam , , , , , , , CC: , , , , , References: <1539726023-14402-1-git-send-email-orika@mellanox.com> <1539796072-111646-1-git-send-email-orika@mellanox.com> <1539796072-111646-2-git-send-email-orika@mellanox.com> From: Andrew Rybchenko Message-ID: Date: Mon, 22 Oct 2018 17:15:49 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: <1539796072-111646-2-git-send-email-orika@mellanox.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-Originating-IP: [91.220.146.112] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24170.003 X-TM-AS-Result: No-7.711900-8.000000-10 X-TMASE-MatchedRID: zGP2F0O7j/sOwH4pD14DsPHkpkyUphL9f6/Md8Lb2l8cVJCT3tVgaupi uk7UuTK1ga94sNw62T6bOrGeb7+ySK+E45fdyyZX46qridCOdGA4gG1vqBBN+ES/boWSGMtdJz/ Fli73wMilXUU7yxjrICQ28VgeTQO4hrD3pNcSx1YbmaDSnOqZfrBH/AqZyGLZ31GU/N5W5BAOlu t2Fx3n+RF9goDxV3zokZOl7WKIImrvXOvQVlExsG4djWaei+WE+gD2vYtOFhgqtq5d3cxkNblvU lETg/ppNXIP9wgGxyl1tvYK5b66Lilo9slFSsyUyXiAtjUFXD/EHgf1tn3c447WxpzweuayL5dQ Z597V65Ffbjfq7oio7Du8kSu3mDoBsRAh8WmTAcG2WAWHb2qekrMHC7kmmSWWgpFdCbsUfc= X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--7.711900-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24170.003 X-MDID: 1540217799-eXrKgzG2NK9q Subject: Re: [dpdk-dev] [PATCH v5 1/3] ethdev: add raw encapsulation action X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Oct 2018 14:16:42 -0000 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 One nit below Acked-by: Andrew Rybchenko [...] > 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