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 E264FA0565; Tue, 17 Mar 2020 16:38:59 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A42342BF9; Tue, 17 Mar 2020 16:38:58 +0100 (CET) Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by dpdk.org (Postfix) with ESMTP id DCC05CF3 for ; Tue, 17 Mar 2020 16:38:57 +0100 (CET) Received: by mail-wm1-f52.google.com with SMTP id z12so13360142wmf.5 for ; Tue, 17 Mar 2020 08:38:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=G8Sen+KE6EeN+JMqFPyRSnMxvKSqsiqBajxG2Y1Ezm0=; b=dqn9mW721YvMNdUsXOCP7gGNN2cFw/3+jP0U70/W1HKWTH9ph3maj2Rtn6djv9GGKY lcxlbSamh6jY4rnqH+0OChhZzT8/Y+s77qE7uClsmU+rdjFdHBtnxkJucLHIMkNfUBfH NhAbtSQLK0KP90Z0YeWbhtfM6Yrv7n2m/+o5M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=G8Sen+KE6EeN+JMqFPyRSnMxvKSqsiqBajxG2Y1Ezm0=; b=qFFhkSqzo6Kc/fYoIlcI3jObzbRUOoSGg6LpJ0aH/aBqWqE7gShpfNUSGEBz7nqRXN kBzzaFAPsYH0cbEf48FXasxxAjdkNidMsWexJYutacDeVUaE1qz/RTIirZE2YOJdhMdR 3YIT+BWuIH7NYVQ+aDCKsdgd7xOWzQi23ls0xH6JzF4Xf8DrAj6Xs3aFRin9BpU83sxI es73l3P0KcENhT6R9tpYSUrmse7m6cRIKMCsAfdcAmFrhknCtXDe7mAte7wDH4hwzvKp wknlDn6wSRq1elpOuXaAnIGKfuNr2KKQpudwQee6PaFfAZMk906YuqWS9b1H9n8fCNTW PaLw== X-Gm-Message-State: ANhLgQ1VjIkzHhF8NemzDPZ45Qpb6EE1kilsml+sFH08/KDQJG2UOkFn whoCv2aJKIgq2o0H2LS2jt4bsrb8JAXXqa00SLPPOFDdklTiAhrFH7miU28f3a3GbylsnFikXl1 +2UkiXCSNwZOg+hQHqZLeXyQGh+MIr5k/UTRdAiIqLzrgXEVKQVgN+K+i4xSNmL41GdxO X-Google-Smtp-Source: ADFU+vttRqUUylTP5rY1PPoy8sy045Pqge6Uh5NVWeNzu9yKdfZkWoVDJ75NxtemNlLdAA36kyD6wg== X-Received: by 2002:a1c:3585:: with SMTP id c127mr5894461wma.124.1584459537084; Tue, 17 Mar 2020 08:38:57 -0700 (PDT) Received: from S60.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id q4sm5052142wro.56.2020.03.17.08.38.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Mar 2020 08:38:56 -0700 (PDT) From: Venkat Duvvuru To: dev@dpdk.org Cc: Venkat Duvvuru Date: Tue, 17 Mar 2020 21:07:58 +0530 Message-Id: <1584459511-5353-1-git-send-email-venkatkumar.duvvuru@broadcom.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 00/33] 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" 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. Currently the code path is disabled by default and can be enabled using the CONFIG_RTE_LIBRTE_BNXT_TRUFLOW config flag. 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 (8): net/bnxt: fetch SVIF information from the firmware net/bnxt: fetch vnic info from DPDK port 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 BNXT TRUFLOW is enabled net/bnxt: add support for injecting mark into packet’s mbuf config: introduce BNXT TRUFLOW config flag config/common_base | 1 + drivers/net/bnxt/Makefile | 23 + drivers/net/bnxt/bnxt.h | 25 +- drivers/net/bnxt/bnxt_ethdev.c | 44 + drivers/net/bnxt/bnxt_hwrm.c | 323 +- drivers/net/bnxt/bnxt_hwrm.h | 19 + drivers/net/bnxt/bnxt_rxr.c | 156 +- drivers/net/bnxt/hsi_struct_def_dpdk.h | 3786 ++++++++++++++++++++--- 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 | 161 + 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 | 516 +++ 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 | 1502 +++++++++ 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 | 1712 ++++++++++ drivers/net/bnxt/tf_ulp/ulp_template_db.h | 354 +++ drivers/net/bnxt/tf_ulp/ulp_template_field_db.h | 133 + 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, 25794 insertions(+), 494 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