mbox series

[v4,00/34] add support for host based flow table management

Message ID 1586938751-32808-1-git-send-email-venkatkumar.duvvuru@broadcom.com (mailing list archive)
Headers
Series add support for host based flow table management |

Message

Venkat Duvvuru April 15, 2020, 8:18 a.m. UTC
  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
  

Comments

Ajit Khaparde April 15, 2020, 3:29 p.m. UTC | #1
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=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
>
>
  
Ferruh Yigit April 16, 2020, 4:23 p.m. UTC | #2
On 4/15/2020 9:18 AM, Venkat Duvvuru 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
> 
> 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
> 

Can you please update the release notes too?
Also what do you think about updating the PMD documentation for TruFlow?

These can be separate patches and can be merged to next-net separately.

Thanks,
ferruh
  
Ajit Khaparde April 16, 2020, 4:38 p.m. UTC | #3
On Thu, Apr 16, 2020 at 9:23 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> On 4/15/2020 9:18 AM, Venkat Duvvuru 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
> >
> > 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
> >
>
> Can you please update the release notes too?
> Also what do you think about updating the PMD documentation for TruFlow?
>
> These can be separate patches and can be merged to next-net separately.
>
Yes Ferruh. We. do have follow on patches. We will include the release
notes update.
PMD documentation is also in the works. It will be submitted soon.


>
> Thanks,
> ferruh
>
>
  
Ferruh Yigit April 16, 2020, 5:40 p.m. UTC | #4
On 4/15/2020 9:18 AM, Venkat Duvvuru 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
> 
> 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
> 

Hi Ajit,

If there will be a new version, I suggest following commit titles, if they make
sense can you update accordingly?

 net/bnxt: update HSI structure
 net/bnxt: update HWRM prep to use pointer
 net/bnxt: add TruFlow message handlers
 net/bnxt: add initial TruFlow core session open
 net/bnxt: add initial TruFlow core session close
 net/bnxt: add TruFlow core session SRAM
 net/bnxt: add initial TruFlow core resource management
 net/bnxt: add resource manager
 net/bnxt: add TruFlow core identifier
 net/bnxt: support TruFlow core TCAM
 net/bnxt: support TruFlow core table scope
 net/bnxt: support EM/EEM
 net/bnxt: fetch SVIF information from firmware
 net/bnxt: fetch VNIC info
 net/bnxt: support host memory based TruFlow
 net/bnxt: support ULP session manager init
 net/bnxt: support ULP session manager cleanup
 net/bnxt: add helper functions for blob/regfile ops
 net/bnxt: support process action tables
 net/bnxt: support process key tables
 net/bnxt: support freeing key and action tables
 net/bnxt: support alloc and program key and act tables
 net/bnxt: match flow API items with flow template patterns
 net/bnxt: match flow API actions with flow template actions
 net/bnxt: support flow API item parsing
 net/bnxt: support flow API action parsing
 net/bnxt: support flow API create
 net/bnxt: support flow API validate
 net/bnxt: support flow API destroy
 net/bnxt: support flow API flush
 net/bnxt: register TruFlow flow API ops
 net/bnxt: disable vector mode on host based TruFlow
 net/bnxt: support marking packet
 net/bnxt: enable meson build on TruFlow
  
Ajit Khaparde April 16, 2020, 5:51 p.m. UTC | #5
On Thu, Apr 16, 2020 at 10:40 AM Ferruh Yigit <ferruh.yigit@intel.com>
wrote:

> On 4/15/2020 9:18 AM, Venkat Duvvuru 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
> >
> > 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
> >
>
> Hi Ajit,
>
> If there will be a new version, I suggest following commit titles, if they
> make
> sense can you update accordingly?
>
>  net/bnxt: update HSI structure
>  net/bnxt: update HWRM prep to use pointer
>  net/bnxt: add TruFlow message handlers
>  net/bnxt: add initial TruFlow core session open
>  net/bnxt: add initial TruFlow core session close
>  net/bnxt: add TruFlow core session SRAM
>  net/bnxt: add initial TruFlow core resource management
>  net/bnxt: add resource manager
>  net/bnxt: add TruFlow core identifier
>  net/bnxt: support TruFlow core TCAM
>  net/bnxt: support TruFlow core table scope
>  net/bnxt: support EM/EEM
>  net/bnxt: fetch SVIF information from firmware
>  net/bnxt: fetch VNIC info
>  net/bnxt: support host memory based TruFlow
>  net/bnxt: support ULP session manager init
>  net/bnxt: support ULP session manager cleanup
>  net/bnxt: add helper functions for blob/regfile ops
>  net/bnxt: support process action tables
>  net/bnxt: support process key tables
>  net/bnxt: support freeing key and action tables
>  net/bnxt: support alloc and program key and act tables
>  net/bnxt: match flow API items with flow template patterns
>  net/bnxt: match flow API actions with flow template actions
>  net/bnxt: support flow API item parsing
>  net/bnxt: support flow API action parsing
>  net/bnxt: support flow API create
>  net/bnxt: support flow API validate
>  net/bnxt: support flow API destroy
>  net/bnxt: support flow API flush
>  net/bnxt: register TruFlow flow API ops
>  net/bnxt: disable vector mode on host based TruFlow
>  net/bnxt: support marking packet
>  net/bnxt: enable meson build on TruFlow
>
Ferruh,
These look ok to me.
Do you want me to respin the set or can you handle it this time?
I am fine with both.

Thanks
Ajit
  
Ferruh Yigit April 17, 2020, 8:37 a.m. UTC | #6
On 4/16/2020 6:51 PM, Ajit Khaparde wrote:
> 
> 
> On Thu, Apr 16, 2020 at 10:40 AM Ferruh Yigit <ferruh.yigit@intel.com
> <mailto:ferruh.yigit@intel.com>> wrote:
> 
>     On 4/15/2020 9:18 AM, Venkat Duvvuru 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
>     >
>     > 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
>     >
> 
>     Hi Ajit,
> 
>     If there will be a new version, I suggest following commit titles, if they make
>     sense can you update accordingly?
> 
>      net/bnxt: update HSI structure
>      net/bnxt: update HWRM prep to use pointer
>      net/bnxt: add TruFlow message handlers
>      net/bnxt: add initial TruFlow core session open
>      net/bnxt: add initial TruFlow core session close
>      net/bnxt: add TruFlow core session SRAM
>      net/bnxt: add initial TruFlow core resource management
>      net/bnxt: add resource manager
>      net/bnxt: add TruFlow core identifier
>      net/bnxt: support TruFlow core TCAM
>      net/bnxt: support TruFlow core table scope
>      net/bnxt: support EM/EEM
>      net/bnxt: fetch SVIF information from firmware
>      net/bnxt: fetch VNIC info
>      net/bnxt: support host memory based TruFlow
>      net/bnxt: support ULP session manager init
>      net/bnxt: support ULP session manager cleanup
>      net/bnxt: add helper functions for blob/regfile ops
>      net/bnxt: support process action tables
>      net/bnxt: support process key tables
>      net/bnxt: support freeing key and action tables
>      net/bnxt: support alloc and program key and act tables
>      net/bnxt: match flow API items with flow template patterns
>      net/bnxt: match flow API actions with flow template actions
>      net/bnxt: support flow API item parsing
>      net/bnxt: support flow API action parsing
>      net/bnxt: support flow API create
>      net/bnxt: support flow API validate
>      net/bnxt: support flow API destroy
>      net/bnxt: support flow API flush
>      net/bnxt: register TruFlow flow API ops
>      net/bnxt: disable vector mode on host based TruFlow
>      net/bnxt: support marking packet
>      net/bnxt: enable meson build on TruFlow
> 
> Ferruh,
> These look ok to me.
> Do you want me to respin the set or can you handle it this time?
> I am fine with both.

Hi Ajit,

Let me check if I can fix the build errors quickly, if so it is easier for me to
handle myself. If I can't fix them I will ping you.
  
Ferruh Yigit April 17, 2020, 11:03 a.m. UTC | #7
On 4/17/2020 9:37 AM, Ferruh Yigit wrote:
> On 4/16/2020 6:51 PM, Ajit Khaparde wrote:
>>
>>
>> On Thu, Apr 16, 2020 at 10:40 AM Ferruh Yigit <ferruh.yigit@intel.com
>> <mailto:ferruh.yigit@intel.com>> wrote:
>>
>>     On 4/15/2020 9:18 AM, Venkat Duvvuru 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
>>     >
>>     > 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
>>     >
>>
>>     Hi Ajit,
>>
>>     If there will be a new version, I suggest following commit titles, if they make
>>     sense can you update accordingly?
>>
>>      net/bnxt: update HSI structure
>>      net/bnxt: update HWRM prep to use pointer
>>      net/bnxt: add TruFlow message handlers
>>      net/bnxt: add initial TruFlow core session open
>>      net/bnxt: add initial TruFlow core session close
>>      net/bnxt: add TruFlow core session SRAM
>>      net/bnxt: add initial TruFlow core resource management
>>      net/bnxt: add resource manager
>>      net/bnxt: add TruFlow core identifier
>>      net/bnxt: support TruFlow core TCAM
>>      net/bnxt: support TruFlow core table scope
>>      net/bnxt: support EM/EEM
>>      net/bnxt: fetch SVIF information from firmware
>>      net/bnxt: fetch VNIC info
>>      net/bnxt: support host memory based TruFlow
>>      net/bnxt: support ULP session manager init
>>      net/bnxt: support ULP session manager cleanup
>>      net/bnxt: add helper functions for blob/regfile ops
>>      net/bnxt: support process action tables
>>      net/bnxt: support process key tables
>>      net/bnxt: support freeing key and action tables
>>      net/bnxt: support alloc and program key and act tables
>>      net/bnxt: match flow API items with flow template patterns
>>      net/bnxt: match flow API actions with flow template actions
>>      net/bnxt: support flow API item parsing
>>      net/bnxt: support flow API action parsing
>>      net/bnxt: support flow API create
>>      net/bnxt: support flow API validate
>>      net/bnxt: support flow API destroy
>>      net/bnxt: support flow API flush
>>      net/bnxt: register TruFlow flow API ops
>>      net/bnxt: disable vector mode on host based TruFlow
>>      net/bnxt: support marking packet
>>      net/bnxt: enable meson build on TruFlow
>>
>> Ferruh,
>> These look ok to me.
>> Do you want me to respin the set or can you handle it this time?
>> I am fine with both.
> 
> Hi Ajit,
> 
> Let me check if I can fix the build errors quickly, if so it is easier for me to
> handle myself. If I can't fix them I will ping you.
> 

Fixed and pulled.
  
Ajit Khaparde April 17, 2020, 4:14 p.m. UTC | #8
On Fri, Apr 17, 2020 at 4:03 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> On 4/17/2020 9:37 AM, Ferruh Yigit wrote:
> > On 4/16/2020 6:51 PM, Ajit Khaparde wrote:
> >>
> >>
> >> On Thu, Apr 16, 2020 at 10:40 AM Ferruh Yigit <ferruh.yigit@intel.com
> >> <mailto:ferruh.yigit@intel.com>> wrote:
> >>
> >>     On 4/15/2020 9:18 AM, Venkat Duvvuru 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
> >>     >
> >>     > 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
> >>     >
> >>
> >>     Hi Ajit,
> >>
> >>     If there will be a new version, I suggest following commit titles,
> if they make
> >>     sense can you update accordingly?
> >>
> >>      net/bnxt: update HSI structure
> >>      net/bnxt: update HWRM prep to use pointer
> >>      net/bnxt: add TruFlow message handlers
> >>      net/bnxt: add initial TruFlow core session open
> >>      net/bnxt: add initial TruFlow core session close
> >>      net/bnxt: add TruFlow core session SRAM
> >>      net/bnxt: add initial TruFlow core resource management
> >>      net/bnxt: add resource manager
> >>      net/bnxt: add TruFlow core identifier
> >>      net/bnxt: support TruFlow core TCAM
> >>      net/bnxt: support TruFlow core table scope
> >>      net/bnxt: support EM/EEM
> >>      net/bnxt: fetch SVIF information from firmware
> >>      net/bnxt: fetch VNIC info
> >>      net/bnxt: support host memory based TruFlow
> >>      net/bnxt: support ULP session manager init
> >>      net/bnxt: support ULP session manager cleanup
> >>      net/bnxt: add helper functions for blob/regfile ops
> >>      net/bnxt: support process action tables
> >>      net/bnxt: support process key tables
> >>      net/bnxt: support freeing key and action tables
> >>      net/bnxt: support alloc and program key and act tables
> >>      net/bnxt: match flow API items with flow template patterns
> >>      net/bnxt: match flow API actions with flow template actions
> >>      net/bnxt: support flow API item parsing
> >>      net/bnxt: support flow API action parsing
> >>      net/bnxt: support flow API create
> >>      net/bnxt: support flow API validate
> >>      net/bnxt: support flow API destroy
> >>      net/bnxt: support flow API flush
> >>      net/bnxt: register TruFlow flow API ops
> >>      net/bnxt: disable vector mode on host based TruFlow
> >>      net/bnxt: support marking packet
> >>      net/bnxt: enable meson build on TruFlow
> >>
> >> Ferruh,
> >> These look ok to me.
> >> Do you want me to respin the set or can you handle it this time?
> >> I am fine with both.
> >
> > Hi Ajit,
> >
> > Let me check if I can fix the build errors quickly, if so it is easier
> for me to
> > handle myself. If I can't fix them I will ping you.
> >
>
> Fixed and pulled.
>
Thanks Ferruh.