From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [RFC] ethdev: add generic L2/L3 tunnel encapsulation actions Date: Mon, 30 Jul 2018 10:28:36 -0700 Message-ID: <20180730102836.00605a3e@xeon-e3> References: <1532967565-13962-1-git-send-email-orika@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: xuemingl@mellanox.com, dekelp@mellanox.com, shahafs@mellanox.com, adrien.mazarguil@6wind.com, thomas@monjalon.net, yskoh@mellanox.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, dev@dpdk.org To: Ori Kam Return-path: Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by dpdk.org (Postfix) with ESMTP id 6AC6A5B1E for ; Mon, 30 Jul 2018 19:28:40 +0200 (CEST) Received: by mail-pg1-f176.google.com with SMTP id p23-v6so7603753pgv.13 for ; Mon, 30 Jul 2018 10:28:40 -0700 (PDT) In-Reply-To: <1532967565-13962-1-git-send-email-orika@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, 30 Jul 2018 19:19:25 +0300 Ori Kam wrote: > Currenlty the encap/decap actions only support encapsulation > of VXLAN and NVGRE L2 packets. > There is a need to add more L2 tunnels and also L3 tunnels. > > One issue with the current approch is the 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. > > Last issue with the current approach is the use of rte_items. > The most significant issue with that is that the PMD needs to convert > the items and this hurts the insertion rate. Other issue is that > the rte_item has 3 members while we only need the spec (last and mask > are useless). I know that the extra member have only small memory > impact but considering that we can have millions of rules, this became > more important consideration, and it is bad practice to add a variable > that is never used. > > My suggestion is to create 2 commands, one for encapsulation of L2 > packets and one for encapsulation of L3 tunnels. > The parameters for those functions will be a uint8_t buffer with > a length parameter. > > The current approach is not implemented yet in drivers yet, and > is marked as experimental, so it should be removed. > > Any comments will be hugely appreciated. > > Signed-off-by: Ori Kam What about binary and source compatibilities with older release?