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 87730A0563; Wed, 15 Apr 2020 17:29:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6ADF11D977; Wed, 15 Apr 2020 17:29:30 +0200 (CEST) Received: from mail-oi1-f193.google.com (mail-oi1-f193.google.com [209.85.167.193]) by dpdk.org (Postfix) with ESMTP id 262941D976 for ; Wed, 15 Apr 2020 17:29:29 +0200 (CEST) Received: by mail-oi1-f193.google.com with SMTP id j16so13791926oih.10 for ; Wed, 15 Apr 2020 08:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9VC4qCmOJJPspBLNFAaueHupt2AI9ue/QBY3lmUGbJo=; b=OXmp2jHGYsC3+mLsYMMjKTCtyJ3p2qlg2La7VIE1Rj0UlQHZS4ms8UZx+3O9C6/RMp 6909JmDj1rPTsd8CEQsT2vn+DN0PmASbh5T3v+asDCMTZQ0/QNZOVvMeo+xJqNDDh1yH /4tnumdsbEN8pR6xisXSmn0sOs5sALPvDUa+U= 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; bh=9VC4qCmOJJPspBLNFAaueHupt2AI9ue/QBY3lmUGbJo=; b=uExUjRdA6aObYEjRk1m6ffnBLHP07gX0TvznFuh+/AEfWftOhpxBgXgndfq3yMp6M/ gh3RWfkS6XiB5rjMmlBiFmbkGw0FbV9RLUEF/F3vay1Fnxc1/LI+lzWMrGhWkOgqpWir mxIaQNCvmm6Er+i9AXuqsz/MOo261upF04gbSErfsQ5V9vAKdxoiKnUvqBuGjZi6x950 CjNc+++8MCAPDToLwb/q9YXux5l9SBwKU+8v3XY2ZGK1gjsIOwzqrd+6BhryloZg4ag7 +Au4OsuKMYoVprW8FJmmYsK4umsSyvlXXYveCK4wdb/KeA0bst0cmM1yM6w1pwfoqe1O 1sAA== X-Gm-Message-State: AGi0PubeQ1X+D7soc7PjFoa58GRDsM/wkvuA8UeSiDmIjlIRcHCqeoI0 ++uafagN2x4gPfuRDCh5LXg7ciD1viFA3nOdCJ779Q== X-Google-Smtp-Source: APiQypJfALi31DiUshol6XvcKzt4VWnFXlk1HCVyRI76xrYWz4Vge27Pg8NOkhOxuqA11R7ZFg23V54hYinD/ATdORU= X-Received: by 2002:aca:5fd6:: with SMTP id t205mr19642322oib.27.1586964568159; Wed, 15 Apr 2020 08:29:28 -0700 (PDT) MIME-Version: 1.0 References: <1586852011-37536-1-git-send-email-venkatkumar.duvvuru@broadcom.com> <1586938751-32808-1-git-send-email-venkatkumar.duvvuru@broadcom.com> In-Reply-To: <1586938751-32808-1-git-send-email-venkatkumar.duvvuru@broadcom.com> From: Ajit Khaparde Date: Wed, 15 Apr 2020 08:29:11 -0700 Message-ID: To: Venkat Duvvuru Cc: dpdk-dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v4 00/34] add support for host based flow table management 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 Wed, Apr 15, 2020 at 1:19 AM Venkat Duvvuru < venkatkumar.duvvuru@broadcom.com> wrote: > This patchset introduces a new mechanism to allow host-memory based > flow table management. This should allow higher flow scalability > than what is currently supported. This new approach also defines a > new rte_flow parser, and mapper which currently supports basic packet > classification in receive path. The patchset uses a newly implemented > control-plane firmware interface which optimizes flow insertions and > deletions. > > This is a baseline patchset with limited scale. Follow on patches will > add support for more protocol headers, rte_flow attributes, actions > and such. > > This is a tech preview feature, hence disabled by default and can be > enabled > using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=3D1=E2=80= =9D. > > v3=3D=3D>v4 > =3D=3D=3D=3D=3D=3D=3D > 1. Fixed some more compilation issues reported by CI > Patchset applied to dpdk-next-net-brcm. > > Ajit Kumar Khaparde (1): > net/bnxt: add updated dpdk hsi structure > > Farah Smith (2): > net/bnxt: add tf core identifier support > net/bnxt: add tf core table scope support > > Kishore Padmanabha (8): > net/bnxt: match rte flow items with flow template patterns > net/bnxt: match rte flow actions with flow template actions > net/bnxt: add support for rte flow item parsing > net/bnxt: add support for rte flow action parsing > net/bnxt: add support for rte flow create driver hook > net/bnxt: add support for rte flow validate driver hook > net/bnxt: add support for rte flow destroy driver hook > net/bnxt: add support for rte flow flush driver hook > > Michael Wildt (4): > net/bnxt: add initial tf core session open > net/bnxt: add initial tf core session close support > net/bnxt: add tf core session sram functions > net/bnxt: add resource manager functionality > > Mike Baucom (5): > net/bnxt: add helper functions for blob/regfile ops > net/bnxt: add support to process action tables > net/bnxt: add support to process key tables > net/bnxt: add support to free key and action tables > net/bnxt: add support to alloc and program key and act tbls > > Pete Spreadborough (2): > net/bnxt: add truflow message handlers > net/bnxt: add EM/EEM functionality > > Randy Schacher (1): > net/bnxt: update hwrm prep to use ptr > > Shahaji Bhosle (2): > net/bnxt: add initial tf core resource mgmt support > net/bnxt: add tf core TCAM support > > Venkat Duvvuru (9): > net/bnxt: fetch SVIF information from the firmware > net/bnxt: fetch vnic info from DPDK port > net/bnxt: add devargs parameter for host memory based TRUFLOW feature > net/bnxt: add support for ULP session manager init > net/bnxt: add support for ULP session manager cleanup > net/bnxt: register tf rte flow ops > net/bnxt: disable vector mode when host based TRUFLOW is enabled > net/bnxt: add support for injecting mark into packet=E2=80=99s mbuf > net/bnxt: enable meson build on truflow code > > drivers/net/bnxt/Makefile | 24 + > drivers/net/bnxt/bnxt.h | 21 +- > drivers/net/bnxt/bnxt_ethdev.c | 118 +- > drivers/net/bnxt/bnxt_hwrm.c | 319 +- > drivers/net/bnxt/bnxt_hwrm.h | 19 + > drivers/net/bnxt/bnxt_rxr.c | 153 +- > drivers/net/bnxt/hsi_struct_def_dpdk.h | 3786 > ++++++++++++++++++++--- > drivers/net/bnxt/meson.build | 26 + > drivers/net/bnxt/tf_core/bitalloc.c | 364 +++ > drivers/net/bnxt/tf_core/bitalloc.h | 119 + > drivers/net/bnxt/tf_core/hwrm_tf.h | 992 ++++++ > drivers/net/bnxt/tf_core/lookup3.h | 162 + > drivers/net/bnxt/tf_core/rand.c | 47 + > drivers/net/bnxt/tf_core/rand.h | 36 + > drivers/net/bnxt/tf_core/stack.c | 107 + > drivers/net/bnxt/tf_core/stack.h | 107 + > drivers/net/bnxt/tf_core/tf_core.c | 659 ++++ > drivers/net/bnxt/tf_core/tf_core.h | 1376 ++++++++ > drivers/net/bnxt/tf_core/tf_em.c | 515 +++ > drivers/net/bnxt/tf_core/tf_em.h | 117 + > drivers/net/bnxt/tf_core/tf_ext_flow_handle.h | 166 + > drivers/net/bnxt/tf_core/tf_msg.c | 1248 ++++++++ > drivers/net/bnxt/tf_core/tf_msg.h | 256 ++ > drivers/net/bnxt/tf_core/tf_msg_common.h | 47 + > drivers/net/bnxt/tf_core/tf_project.h | 24 + > drivers/net/bnxt/tf_core/tf_resources.h | 542 ++++ > drivers/net/bnxt/tf_core/tf_rm.c | 3297 > ++++++++++++++++++++ > drivers/net/bnxt/tf_core/tf_rm.h | 321 ++ > drivers/net/bnxt/tf_core/tf_session.h | 300 ++ > drivers/net/bnxt/tf_core/tf_tbl.c | 1836 +++++++++++ > drivers/net/bnxt/tf_core/tf_tbl.h | 126 + > drivers/net/bnxt/tf_core/tfp.c | 163 + > drivers/net/bnxt/tf_core/tfp.h | 188 ++ > drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 54 + > drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 695 +++++ > drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 110 + > drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 303 ++ > drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 626 ++++ > drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 156 + > drivers/net/bnxt/tf_ulp/ulp_mapper.c | 1513 +++++++++ > drivers/net/bnxt/tf_ulp/ulp_mapper.h | 69 + > drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 271 ++ > drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h | 111 + > drivers/net/bnxt/tf_ulp/ulp_matcher.c | 188 ++ > drivers/net/bnxt/tf_ulp/ulp_matcher.h | 35 + > drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 1208 ++++++++ > drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 203 ++ > drivers/net/bnxt/tf_ulp/ulp_template_db.c | 1713 ++++++++++ > drivers/net/bnxt/tf_ulp/ulp_template_db.h | 354 +++ > drivers/net/bnxt/tf_ulp/ulp_template_field_db.h | 130 + > drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 266 ++ > drivers/net/bnxt/tf_ulp/ulp_utils.c | 521 ++++ > drivers/net/bnxt/tf_ulp/ulp_utils.h | 279 ++ > 53 files changed, 25891 insertions(+), 495 deletions(-) > create mode 100644 drivers/net/bnxt/tf_core/bitalloc.c > create mode 100644 drivers/net/bnxt/tf_core/bitalloc.h > create mode 100644 drivers/net/bnxt/tf_core/hwrm_tf.h > create mode 100644 drivers/net/bnxt/tf_core/lookup3.h > create mode 100644 drivers/net/bnxt/tf_core/rand.c > create mode 100644 drivers/net/bnxt/tf_core/rand.h > create mode 100644 drivers/net/bnxt/tf_core/stack.c > create mode 100644 drivers/net/bnxt/tf_core/stack.h > create mode 100644 drivers/net/bnxt/tf_core/tf_core.c > create mode 100644 drivers/net/bnxt/tf_core/tf_core.h > create mode 100644 drivers/net/bnxt/tf_core/tf_em.c > create mode 100644 drivers/net/bnxt/tf_core/tf_em.h > create mode 100644 drivers/net/bnxt/tf_core/tf_ext_flow_handle.h > create mode 100644 drivers/net/bnxt/tf_core/tf_msg.c > create mode 100644 drivers/net/bnxt/tf_core/tf_msg.h > create mode 100644 drivers/net/bnxt/tf_core/tf_msg_common.h > create mode 100644 drivers/net/bnxt/tf_core/tf_project.h > create mode 100644 drivers/net/bnxt/tf_core/tf_resources.h > create mode 100644 drivers/net/bnxt/tf_core/tf_rm.c > create mode 100644 drivers/net/bnxt/tf_core/tf_rm.h > create mode 100644 drivers/net/bnxt/tf_core/tf_session.h > create mode 100644 drivers/net/bnxt/tf_core/tf_tbl.c > create mode 100644 drivers/net/bnxt/tf_core/tf_tbl.h > create mode 100644 drivers/net/bnxt/tf_core/tfp.c > create mode 100644 drivers/net/bnxt/tf_core/tfp.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_common.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp.c > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_flow_db.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_flow_db.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mapper.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mapper.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_matcher.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_matcher.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_rte_parser.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_field_db.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_struct.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_utils.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_utils.h > > -- > 2.7.4 > >