From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 40AEAA0563;
	Wed, 15 Apr 2020 10:19:26 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 367431D516;
	Wed, 15 Apr 2020 10:19:25 +0200 (CEST)
Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com
 [209.85.216.52]) by dpdk.org (Postfix) with ESMTP id 016BE1D501
 for <dev@dpdk.org>; Wed, 15 Apr 2020 10:19:22 +0200 (CEST)
Received: by mail-pj1-f52.google.com with SMTP id cl8so5272808pjb.3
 for <dev@dpdk.org>; Wed, 15 Apr 2020 01:19:22 -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:in-reply-to:references
 :mime-version:content-transfer-encoding;
 bh=Pun8ORAz9FBpzy0SXFcWQEehijhL9fCc1eu0ZMi5d08=;
 b=cUnXOUgLHXXuJ0shgAUG1decM3Fz0lCTvUjm+LY0D+eTJzM3zV5hlWyVQ9+PmFLpbq
 gBGcVPX4ydV52upLTkC8CS63VS1Yi2tR/c65YVG0Y4LnT9w4VrBdLmoho7/hxKYr42Zz
 QuIcglDCgITRHP9CKumsw9W06TQ/QEE/ojV6I=
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:in-reply-to
 :references:mime-version:content-transfer-encoding;
 bh=Pun8ORAz9FBpzy0SXFcWQEehijhL9fCc1eu0ZMi5d08=;
 b=d4UXjA5z1Yf6BRugFGSlBYcpM76qaBqFCaT/rOo09iqNWqYQFprqDgZ0HHcwUzp6gh
 /foW1KidQmrsWdcND4zlujj7cksU8MLnQivzOdwsPgA43b97W7bFeIb72Obu6pS4kZMJ
 2JYTyyxIawssLYebpLcWq/kUoRCU8L5h9uiAfa6Ju4J9Gda5lKX8dRf/9RQPPfmsCwNX
 KDNPnMJ0E11N6EJoBI/6VHmoCSiv+Me4YD4JcmYZppLdrc+L+nYmj53mutBhn/oUGk7B
 KPKqUxVqxZY1xEzTv6fh32gvHvDymGMu3MG3FwFG4ZyOBvEEvvTQdgBHwCS39ReQxAHv
 kqMA==
X-Gm-Message-State: AGi0PuYZRv9GQkfvaj9taLirIXT2xrGB9j0kPMZuJf8n8lEHBdjjt96y
 ZaeqZH7P3oLOkym9ek3929+jv3TO7cOicz3tEa4fboq4+o4MLoOwfpp1jMm4wfuanigaU95b6q0
 N/uGrCw5DIM1JpF94uRCrHTxdDSR8830tQGEjw3wlxT5cvtNsIFgBiqyN5IbPWTC3A55a
X-Google-Smtp-Source: APiQypKr2/I1JFIb3NVOAL4tMOwbxuLK566QbzbCP6mk8ArQpHa4S1lBABBDIj8iKBXziKGVerPnKA==
X-Received: by 2002:a17:902:b489:: with SMTP id
 y9mr3813761plr.67.1586938761342; 
 Wed, 15 Apr 2020 01:19:21 -0700 (PDT)
Received: from S60.dhcp.broadcom.net ([192.19.234.250])
 by smtp.gmail.com with ESMTPSA id fy21sm3819019pjb.25.2020.04.15.01.19.19
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 15 Apr 2020 01:19:20 -0700 (PDT)
From: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
To: dev@dpdk.org
Cc: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Date: Wed, 15 Apr 2020 13:48:37 +0530
Message-Id: <1586938751-32808-1-git-send-email-venkatkumar.duvvuru@broadcom.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1586852011-37536-1-git-send-email-venkatkumar.duvvuru@broadcom.com>
References: <1586852011-37536-1-git-send-email-venkatkumar.duvvuru@broadcom.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

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=1”.

v3==>v4
=======
1. Fixed some more compilation issues reported by CI

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’s 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