From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C7AC4A056A; Fri, 6 Mar 2020 10:06:28 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AA7A41BFF4; Fri, 6 Mar 2020 10:06:28 +0100 (CET) Received: from mail-il1-f196.google.com (mail-il1-f196.google.com [209.85.166.196]) by dpdk.org (Postfix) with ESMTP id 1AE601BFF3 for ; Fri, 6 Mar 2020 10:06:28 +0100 (CET) Received: by mail-il1-f196.google.com with SMTP id e8so1351879ilc.13 for ; Fri, 06 Mar 2020 01:06:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=XfTqfU0NQYi8HXGYl6sV7G5nMinqU5awOMwjUyrVqNU=; b=oIrEQBy7LzYkWt+GBIvGupvfFf2nn1G4sXHa4Qx/n5FWlqitz0LCA+gG4NOwlUWluU V7SVY8SF7V3jFkTQGRYgv+E7mxnAcgP+jJZ57rFYKy9wFn/fXAfNzhsmOiKsDWRGzEFq WtyVqcYo7X0X2eX1tQcrubbEybT7YsopNZagv/iYr7atsjZ8asarNFPs9YezZueEUzp8 QqcpusKCDDRz80XJkeDUw6KDi7x6MN3cXMvHn0UDKHfKqAwA56QgU15z37TodtANrJCU STOMLeQSkqktkbAcKYXaMgGNy6n1E5sNE/I37E+uScZNs9n4xw1Na/OGtTajnmionuaN DHIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=XfTqfU0NQYi8HXGYl6sV7G5nMinqU5awOMwjUyrVqNU=; b=HXGN4Y9UkIaCpk0+dJGqE327WE34N86ku55WpLJx6cLKFfNzWWq3b0+LFAEJXWz3dz gLlerfh8ct9ydtv4a0a/oIiEsYbWXne1mv6GWI7GXPS28rQrMHFgt1GoGoM/LxYEq7nV quJxB0uP2S5ztoL3UKE3q3Rz/Ii5M7oI223y6XGaZOXUhxDc5KMhtn8qcnkqI/sDWo6S oGEbHO9X17QUJ5aFXXa0qago75MnJOPG6loIgS+rmgV+p5sDwBvINGvSqGaEeTm3ZAuU +s2X9naGQmY2FmAwV7LIIIVA0qt7YuJNoKA80OfQTIMf1NVHw1tDY/ZcGLWxZLQLKp75 jN3w== X-Gm-Message-State: ANhLgQ3AeqZdsns6u4RcATLPQTIxap77L0nVBEuWmiGZTOsT2gSyfyEz UlKq90ps1ALh0CkXnszQIASTmsJoAoF3/TFwp1cMgv3Z X-Google-Smtp-Source: ADFU+vtbjuKtjmvbaXQZUTqDSmosh13b6hL2nL4isl5nX4jJxlPuVd/lO6bCjrDWFV0CanCA0hbrmL1OJAhnmoKe+w4= X-Received: by 2002:a92:cd0e:: with SMTP id z14mr2320368iln.294.1583485587328; Fri, 06 Mar 2020 01:06:27 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jerin Jacob Date: Fri, 6 Mar 2020 14:36:11 +0530 Message-ID: To: "Coyle, David" , Shreyansh Jain , Hemant Agrawal Cc: "dev@dpdk.org" , "stephen@networkplumber.org" , "Doherty, Declan" , "Trahe, Fiona" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [RFC] Accelerator API to chain packet processing functions 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Mar 5, 2020 at 10:14 PM Coyle, David wrote: > > Having taken feedback from the community into account, we would like to p= ropose some changes to our approach for combining multiple packet-processin= g functions into a single operation on a single device, be that an optimize= d software library or a hardware accelerator. > Note that development work is already progressing well on this new approa= ch, with the aim of upstreaming this into DPDK v20.05. > > Also, we may consider consolidating the multi-function API into the main = DPDK library in the future if there were more devices which wanted to suppo= rt these multi-function operations. > > The following is the proposed rawdev multi-function interface, defined in= 'drivers/raw/common/rte_rawdev_multi_fn.h' > > /* SPDX-License-Identifier: BSD-3-Clause > * Copyright(c) 2020 Intel Corporation. > */ > > #ifndef _RTE_RAWDEV_MULTI_FN_H_ > #define _RTE_RAWDEV_MULTI_FN_H_ > > #ifdef __cplusplus > extern "C" { > #endif > > #include > #include > #include > #include > #include > #include > #include > #include > > /** Error Detection Algorithms */ > enum rte_rawdev_multi_fn_err_detect_algorithm { > RTE_RAWDEV_MULTI_FN_ERR_DETECT_CRC32_ETH, IMO, It does not make sense to add protocol specific stuff in rawdev symbol= s. IMO, It is better to have a separate library for CRC and BIP32 acceleration like the rte_security library and underneath still it can use rawdev or anydev if required. IMO, Exposing the public API in drivers/raw/common/rte_rawdev_multi_fn.h is a shortcut. IMO, public API should be in lib/.. Just my 2c.