On Wed, Apr 15, 2020 at 1:19 AM Venkat Duvvuru <
venkatkumar.duvv...@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=1”.
>
> v3==>v4
> =======
> 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’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
>
>

Reply via email to