mbox series

[v2,00/58] enhancements to host based flow table management

Message ID 20210613000652.28191-1-ajit.khaparde@broadcom.com (mailing list archive)
Headers show
Series enhancements to host based flow table management | expand

Message

Ajit Khaparde June 13, 2021, 12:05 a.m. UTC
This patchset adds flow table management support for
Thor network adapter and introduces enhancements to
the existing flow table management functionality.

v1->v2:
 - Rebased against latest dpdk-next-net-brcm for-next-net branch.
 - Fixed typo errors in some of the patches
 - Address some issues encountered while applying patches
 - Changed log levels for some log messages to debug
 - Cleaned up some unused code

Farah Smith (11):
  net/bnxt: add base TRUFLOW support for Thor
  net/bnxt: update TRUFLOW resources
  net/bnxt: add action SRAM translation
  net/bnxt: add 64B SRAM record management with RM
  net/bnxt: modify TRUFLOW HWRM messages
  net/bnxt: shared TCAM region support
  net/bnxt: cleanup logs in session handling paths
  net/bnxt: add WC TCAM management support
  net/bnxt: add API to get shared table increments
  net/bnxt: cleanup WC TCAM shared pool
  net/bnxt: add API to clear TCAM regions

Jay Ding (9):
  net/bnxt: check resource reservation in TRUFLOW
  net/bnxt: support L2 Context TCAM ops
  net/bnxt: add Thor WC TCAM support
  net/bnxt: change RM database type
  net/bnxt: add shared session support
  net/bnxt: update shared session functionality
  net/bnxt: modify resource reservation strategy
  net/bnxt: refactor host session failure cleanup
  net/bnxt: add support for WC TCAM shared session

Jeffrey Huang (1):
  net/bnxt: add CFA folder to HCAPI directory

Kishore Padmanabha (23):
  net/bnxt: add support for generic table processing
  net/bnxt: add support for mapper flow database opcodes
  net/bnxt: modify TCAM opcode processing
  net/bnxt: modify table processing
  net/bnxt: add ULP priority opcode processing
  net/bnxt: add support to identify duplicate flows
  net/bnxt: add conditional goto processing
  net/bnxt: set shared handle for generic table
  net/bnxt: modify ULP template
  net/bnxt: add conditional opcode and L4 port fields
  net/bnxt: refactor TRUFLOW processing
  net/bnxt: add partial header field processing
  net/bnxt: add support for wild card pattern match
  net/bnxt: enable extended exact match support
  net/bnxt: refactor ULP mapper
  net/bnxt: add support for generic hash table
  net/bnxt: add support for Thor platform
  net/bnxt: refactor flow parser in ULP
  net/bnxt: add field opcodes in ULP
  net/bnxt: add support for application ID in ULP matcher
  net/bnxt: add templates for shared sessions
  net/bnxt: add ICMPv6 parser to ULP
  net/bnxt: add context list for timers

Mike Baucom (5):
  net/bnxt: add conditional processing of templates
  net/bnxt: add shared session support to ULP
  net/bnxt: process resource lists before session open
  net/bnxt: add HA support in ULP
  net/bnxt: add Thor template support

Peter Spreadborough (4):
  net/bnxt: add mailbox selection via dev op
  net/bnxt: add support for EM with FKB
  net/bnxt: add hashing changes for Thor
  net/bnxt: add dpool allocator for EM allocation

Shahaji Bhosle (1):
  net/bnxt: cleanup ULP parser and mapper

Venkat Duvvuru (4):
  net/bnxt: check FW capability to support TRUFLOW
  net/bnxt: modify VXLAN decap for multichannel mode
  net/bnxt: add support for GRE flows
  net/bnxt: reorganize ULP template directory structure

 doc/guides/nics/bnxt.rst                      |     3 +-
 drivers/net/bnxt/bnxt.h                       |    19 +-
 drivers/net/bnxt/bnxt_ethdev.c                |   162 +-
 drivers/net/bnxt/bnxt_hwrm.c                  |     7 +-
 drivers/net/bnxt/bnxt_util.h                  |     3 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h        |   126 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_common.c |    83 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h   |   381 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c     |   289 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.h     |   185 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.c    |   120 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.h    |   142 +
 drivers/net/bnxt/hcapi/cfa/meson.build        |    12 +
 drivers/net/bnxt/hcapi/cfa_p40_hw.h           |   781 -
 drivers/net/bnxt/hcapi/cfa_p40_tbl.h          |   303 -
 drivers/net/bnxt/hcapi/hcapi_cfa.h            |   295 -
 drivers/net/bnxt/hcapi/hcapi_cfa_defs.h       |   672 -
 drivers/net/bnxt/hcapi/hcapi_cfa_p4.c         |   399 -
 drivers/net/bnxt/hcapi/hcapi_cfa_p4.h         |   467 -
 drivers/net/bnxt/hsi_struct_def_dpdk.h        |   250 +-
 drivers/net/bnxt/meson.build                  |    65 +-
 drivers/net/bnxt/tf_core/bitalloc.c           |    10 +-
 drivers/net/bnxt/tf_core/bitalloc.h           |     5 +-
 drivers/net/bnxt/tf_core/cfa_resource_types.h |     3 +-
 drivers/net/bnxt/tf_core/dpool.c              |   374 +
 drivers/net/bnxt/tf_core/dpool.h              |   309 +
 drivers/net/bnxt/tf_core/hwrm_tf.h            |   195 -
 drivers/net/bnxt/tf_core/lookup3.h            |     2 +-
 drivers/net/bnxt/tf_core/meson.build          |    36 +
 drivers/net/bnxt/tf_core/tf_core.c            |   326 +-
 drivers/net/bnxt/tf_core/tf_core.h            |   563 +-
 drivers/net/bnxt/tf_core/tf_device.c          |   530 +-
 drivers/net/bnxt/tf_core/tf_device.h          |   276 +-
 drivers/net/bnxt/tf_core/tf_device_p4.c       |   161 +-
 drivers/net/bnxt/tf_core/tf_device_p4.h       |   203 +-
 drivers/net/bnxt/tf_core/tf_device_p45.h      |   105 -
 drivers/net/bnxt/tf_core/tf_device_p58.c      |   372 +
 drivers/net/bnxt/tf_core/tf_device_p58.h      |   212 +
 drivers/net/bnxt/tf_core/tf_em.h              |    99 +-
 drivers/net/bnxt/tf_core/tf_em_common.c       |   332 +-
 drivers/net/bnxt/tf_core/tf_em_common.h       |    68 +-
 .../net/bnxt/tf_core/tf_em_hash_internal.c    |   215 +
 drivers/net/bnxt/tf_core/tf_em_host.c         |   115 +-
 drivers/net/bnxt/tf_core/tf_em_internal.c     |   376 +-
 drivers/net/bnxt/tf_core/tf_ext_flow_handle.h |    15 +-
 drivers/net/bnxt/tf_core/tf_identifier.c      |   174 +-
 drivers/net/bnxt/tf_core/tf_identifier.h      |    26 +
 drivers/net/bnxt/tf_core/tf_if_tbl.c          |    20 +-
 drivers/net/bnxt/tf_core/tf_msg.c             |  1219 +-
 drivers/net/bnxt/tf_core/tf_msg.h             |   217 +-
 drivers/net/bnxt/tf_core/tf_msg_common.h      |     3 -
 drivers/net/bnxt/tf_core/tf_rm.c              |   834 +-
 drivers/net/bnxt/tf_core/tf_rm.h              |   143 +-
 drivers/net/bnxt/tf_core/tf_session.c         |   261 +-
 drivers/net/bnxt/tf_core/tf_session.h         |   206 +-
 drivers/net/bnxt/tf_core/tf_shadow_tbl.c      |   785 -
 drivers/net/bnxt/tf_core/tf_shadow_tbl.h      |   256 -
 drivers/net/bnxt/tf_core/tf_shadow_tcam.c     |     6 +-
 drivers/net/bnxt/tf_core/tf_tbl.c             |   656 +-
 drivers/net/bnxt/tf_core/tf_tbl.h             |    57 +-
 drivers/net/bnxt/tf_core/tf_tcam.c            |   435 +-
 drivers/net/bnxt/tf_core/tf_tcam.h            |    30 +
 drivers/net/bnxt/tf_core/tf_tcam_shared.c     |  1283 +
 drivers/net/bnxt/tf_core/tf_tcam_shared.h     |   183 +
 drivers/net/bnxt/tf_core/tf_util.c            |    62 +-
 drivers/net/bnxt/tf_core/tf_util.h            |    31 +-
 drivers/net/bnxt/tf_core/tfp.c                |    44 +-
 drivers/net/bnxt/tf_core/tfp.h                |    61 +-
 drivers/net/bnxt/tf_ulp/bnxt_tf_common.h      |     2 -
 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c    |   378 +
 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h    |    29 +
 drivers/net/bnxt/tf_ulp/bnxt_ulp.c            |   943 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.h            |    85 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c       |    74 +-
 .../bnxt/tf_ulp/generic_templates/meson.build |    13 +
 .../generic_templates/ulp_template_db_act.c   |  1017 +
 .../generic_templates/ulp_template_db_class.c | 13188 ++++++++++
 .../generic_templates/ulp_template_db_enum.h  |  1883 ++
 .../generic_templates/ulp_template_db_field.h |   686 +
 .../generic_templates/ulp_template_db_tbl.c   |  3335 +++
 .../generic_templates/ulp_template_db_tbl.h   |   112 +
 .../ulp_template_db_thor_act.c                |   225 +
 .../ulp_template_db_thor_class.c              |  6107 +++++
 .../ulp_template_db_wh_plus_act.c             |  4974 ++++
 .../ulp_template_db_wh_plus_class.c           | 14270 +++++++++++
 drivers/net/bnxt/tf_ulp/meson.build           |    28 +
 drivers/net/bnxt/tf_ulp/ulp_def_rules.c       |    91 +-
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c          |   171 +-
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h          |     1 +
 drivers/net/bnxt/tf_ulp/ulp_flow_db.c         |   129 +-
 drivers/net/bnxt/tf_ulp/ulp_flow_db.h         |    20 +-
 drivers/net/bnxt/tf_ulp/ulp_gen_hash.c        |   369 +
 drivers/net/bnxt/tf_ulp/ulp_gen_hash.h        |   166 +
 drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c         |   417 +
 drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h         |   171 +
 drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c          |   637 +
 drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h          |    67 +
 drivers/net/bnxt/tf_ulp/ulp_mapper.c          |  3572 ++-
 drivers/net/bnxt/tf_ulp/ulp_mapper.h          |    59 +-
 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c        |    10 +-
 drivers/net/bnxt/tf_ulp/ulp_matcher.c         |    36 +-
 drivers/net/bnxt/tf_ulp/ulp_port_db.c         |   140 +-
 drivers/net/bnxt/tf_ulp/ulp_port_db.h         |    42 +
 ...emplate_db_tbl.c => ulp_rte_handler_tbl.c} |   269 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c      |  1207 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.h      |    36 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db.c     |  4622 ----
 drivers/net/bnxt/tf_ulp/ulp_template_db.h     |   614 -
 drivers/net/bnxt/tf_ulp/ulp_template_db_act.c |   815 -
 .../net/bnxt/tf_ulp/ulp_template_db_class.c   |  3985 ---
 .../net/bnxt/tf_ulp/ulp_template_db_enum.h    |   973 -
 .../net/bnxt/tf_ulp/ulp_template_db_field.h   |  1191 -
 .../tf_ulp/ulp_template_db_stingray_act.c     |  3305 ---
 .../tf_ulp/ulp_template_db_stingray_class.c   | 20566 ----------------
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.h |    48 -
 .../bnxt/tf_ulp/ulp_template_db_wh_plus_act.c |  3304 ---
 .../tf_ulp/ulp_template_db_wh_plus_class.c    | 20566 ----------------
 .../net/bnxt/tf_ulp/ulp_template_field_db.h   |   224 -
 drivers/net/bnxt/tf_ulp/ulp_template_struct.h |   192 +-
 drivers/net/bnxt/tf_ulp/ulp_tun.c             |   192 +-
 drivers/net/bnxt/tf_ulp/ulp_tun.h             |    33 +-
 drivers/net/bnxt/tf_ulp/ulp_utils.c           |   339 +-
 drivers/net/bnxt/tf_ulp/ulp_utils.h           |   153 +-
 123 files changed, 63931 insertions(+), 68808 deletions(-)
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_common.c
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.h
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.c
 create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.h
 create mode 100644 drivers/net/bnxt/hcapi/cfa/meson.build
 delete mode 100644 drivers/net/bnxt/hcapi/cfa_p40_hw.h
 delete mode 100644 drivers/net/bnxt/hcapi/cfa_p40_tbl.h
 delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa.h
 delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_defs.h
 delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.c
 delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.h
 create mode 100644 drivers/net/bnxt/tf_core/dpool.c
 create mode 100644 drivers/net/bnxt/tf_core/dpool.h
 delete mode 100644 drivers/net/bnxt/tf_core/hwrm_tf.h
 create mode 100644 drivers/net/bnxt/tf_core/meson.build
 delete mode 100644 drivers/net/bnxt/tf_core/tf_device_p45.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_device_p58.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_device_p58.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_em_hash_internal.c
 delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.c
 delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_shared.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_shared.h
 create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c
 create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/meson.build
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.h
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c
 create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c
 create mode 100644 drivers/net/bnxt/tf_ulp/meson.build
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_hash.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_hash.h
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h
 rename drivers/net/bnxt/tf_ulp/{ulp_template_db_tbl.c => ulp_rte_handler_tbl.c} (60%)
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.h
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_act.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_field.h
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_act.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_class.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.h
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c
 delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_field_db.h

Comments

Ajit Khaparde June 15, 2021, 7:33 p.m. UTC | #1
On Sat, Jun 12, 2021 at 5:06 PM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> This patchset adds flow table management support for
> Thor network adapter and introduces enhancements to
> the existing flow table management functionality.
>
> v1->v2:
>  - Rebased against latest dpdk-next-net-brcm for-next-net branch.
>  - Fixed typo errors in some of the patches
>  - Address some issues encountered while applying patches
>  - Changed log levels for some log messages to debug
>  - Cleaned up some unused code

Patchset applied to the for-next-net branch of dpdk-next-net-brcm.
Thanks

>
> Farah Smith (11):
>   net/bnxt: add base TRUFLOW support for Thor
>   net/bnxt: update TRUFLOW resources
>   net/bnxt: add action SRAM translation
>   net/bnxt: add 64B SRAM record management with RM
>   net/bnxt: modify TRUFLOW HWRM messages
>   net/bnxt: shared TCAM region support
>   net/bnxt: cleanup logs in session handling paths
>   net/bnxt: add WC TCAM management support
>   net/bnxt: add API to get shared table increments
>   net/bnxt: cleanup WC TCAM shared pool
>   net/bnxt: add API to clear TCAM regions
>
> Jay Ding (9):
>   net/bnxt: check resource reservation in TRUFLOW
>   net/bnxt: support L2 Context TCAM ops
>   net/bnxt: add Thor WC TCAM support
>   net/bnxt: change RM database type
>   net/bnxt: add shared session support
>   net/bnxt: update shared session functionality
>   net/bnxt: modify resource reservation strategy
>   net/bnxt: refactor host session failure cleanup
>   net/bnxt: add support for WC TCAM shared session
>
> Jeffrey Huang (1):
>   net/bnxt: add CFA folder to HCAPI directory
>
> Kishore Padmanabha (23):
>   net/bnxt: add support for generic table processing
>   net/bnxt: add support for mapper flow database opcodes
>   net/bnxt: modify TCAM opcode processing
>   net/bnxt: modify table processing
>   net/bnxt: add ULP priority opcode processing
>   net/bnxt: add support to identify duplicate flows
>   net/bnxt: add conditional goto processing
>   net/bnxt: set shared handle for generic table
>   net/bnxt: modify ULP template
>   net/bnxt: add conditional opcode and L4 port fields
>   net/bnxt: refactor TRUFLOW processing
>   net/bnxt: add partial header field processing
>   net/bnxt: add support for wild card pattern match
>   net/bnxt: enable extended exact match support
>   net/bnxt: refactor ULP mapper
>   net/bnxt: add support for generic hash table
>   net/bnxt: add support for Thor platform
>   net/bnxt: refactor flow parser in ULP
>   net/bnxt: add field opcodes in ULP
>   net/bnxt: add support for application ID in ULP matcher
>   net/bnxt: add templates for shared sessions
>   net/bnxt: add ICMPv6 parser to ULP
>   net/bnxt: add context list for timers
>
> Mike Baucom (5):
>   net/bnxt: add conditional processing of templates
>   net/bnxt: add shared session support to ULP
>   net/bnxt: process resource lists before session open
>   net/bnxt: add HA support in ULP
>   net/bnxt: add Thor template support
>
> Peter Spreadborough (4):
>   net/bnxt: add mailbox selection via dev op
>   net/bnxt: add support for EM with FKB
>   net/bnxt: add hashing changes for Thor
>   net/bnxt: add dpool allocator for EM allocation
>
> Shahaji Bhosle (1):
>   net/bnxt: cleanup ULP parser and mapper
>
> Venkat Duvvuru (4):
>   net/bnxt: check FW capability to support TRUFLOW
>   net/bnxt: modify VXLAN decap for multichannel mode
>   net/bnxt: add support for GRE flows
>   net/bnxt: reorganize ULP template directory structure
>
>  doc/guides/nics/bnxt.rst                      |     3 +-
>  drivers/net/bnxt/bnxt.h                       |    19 +-
>  drivers/net/bnxt/bnxt_ethdev.c                |   162 +-
>  drivers/net/bnxt/bnxt_hwrm.c                  |     7 +-
>  drivers/net/bnxt/bnxt_util.h                  |     3 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h        |   126 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa_common.c |    83 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h   |   381 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c     |   289 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.h     |   185 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.c    |   120 +
>  drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.h    |   142 +
>  drivers/net/bnxt/hcapi/cfa/meson.build        |    12 +
>  drivers/net/bnxt/hcapi/cfa_p40_hw.h           |   781 -
>  drivers/net/bnxt/hcapi/cfa_p40_tbl.h          |   303 -
>  drivers/net/bnxt/hcapi/hcapi_cfa.h            |   295 -
>  drivers/net/bnxt/hcapi/hcapi_cfa_defs.h       |   672 -
>  drivers/net/bnxt/hcapi/hcapi_cfa_p4.c         |   399 -
>  drivers/net/bnxt/hcapi/hcapi_cfa_p4.h         |   467 -
>  drivers/net/bnxt/hsi_struct_def_dpdk.h        |   250 +-
>  drivers/net/bnxt/meson.build                  |    65 +-
>  drivers/net/bnxt/tf_core/bitalloc.c           |    10 +-
>  drivers/net/bnxt/tf_core/bitalloc.h           |     5 +-
>  drivers/net/bnxt/tf_core/cfa_resource_types.h |     3 +-
>  drivers/net/bnxt/tf_core/dpool.c              |   374 +
>  drivers/net/bnxt/tf_core/dpool.h              |   309 +
>  drivers/net/bnxt/tf_core/hwrm_tf.h            |   195 -
>  drivers/net/bnxt/tf_core/lookup3.h            |     2 +-
>  drivers/net/bnxt/tf_core/meson.build          |    36 +
>  drivers/net/bnxt/tf_core/tf_core.c            |   326 +-
>  drivers/net/bnxt/tf_core/tf_core.h            |   563 +-
>  drivers/net/bnxt/tf_core/tf_device.c          |   530 +-
>  drivers/net/bnxt/tf_core/tf_device.h          |   276 +-
>  drivers/net/bnxt/tf_core/tf_device_p4.c       |   161 +-
>  drivers/net/bnxt/tf_core/tf_device_p4.h       |   203 +-
>  drivers/net/bnxt/tf_core/tf_device_p45.h      |   105 -
>  drivers/net/bnxt/tf_core/tf_device_p58.c      |   372 +
>  drivers/net/bnxt/tf_core/tf_device_p58.h      |   212 +
>  drivers/net/bnxt/tf_core/tf_em.h              |    99 +-
>  drivers/net/bnxt/tf_core/tf_em_common.c       |   332 +-
>  drivers/net/bnxt/tf_core/tf_em_common.h       |    68 +-
>  .../net/bnxt/tf_core/tf_em_hash_internal.c    |   215 +
>  drivers/net/bnxt/tf_core/tf_em_host.c         |   115 +-
>  drivers/net/bnxt/tf_core/tf_em_internal.c     |   376 +-
>  drivers/net/bnxt/tf_core/tf_ext_flow_handle.h |    15 +-
>  drivers/net/bnxt/tf_core/tf_identifier.c      |   174 +-
>  drivers/net/bnxt/tf_core/tf_identifier.h      |    26 +
>  drivers/net/bnxt/tf_core/tf_if_tbl.c          |    20 +-
>  drivers/net/bnxt/tf_core/tf_msg.c             |  1219 +-
>  drivers/net/bnxt/tf_core/tf_msg.h             |   217 +-
>  drivers/net/bnxt/tf_core/tf_msg_common.h      |     3 -
>  drivers/net/bnxt/tf_core/tf_rm.c              |   834 +-
>  drivers/net/bnxt/tf_core/tf_rm.h              |   143 +-
>  drivers/net/bnxt/tf_core/tf_session.c         |   261 +-
>  drivers/net/bnxt/tf_core/tf_session.h         |   206 +-
>  drivers/net/bnxt/tf_core/tf_shadow_tbl.c      |   785 -
>  drivers/net/bnxt/tf_core/tf_shadow_tbl.h      |   256 -
>  drivers/net/bnxt/tf_core/tf_shadow_tcam.c     |     6 +-
>  drivers/net/bnxt/tf_core/tf_tbl.c             |   656 +-
>  drivers/net/bnxt/tf_core/tf_tbl.h             |    57 +-
>  drivers/net/bnxt/tf_core/tf_tcam.c            |   435 +-
>  drivers/net/bnxt/tf_core/tf_tcam.h            |    30 +
>  drivers/net/bnxt/tf_core/tf_tcam_shared.c     |  1283 +
>  drivers/net/bnxt/tf_core/tf_tcam_shared.h     |   183 +
>  drivers/net/bnxt/tf_core/tf_util.c            |    62 +-
>  drivers/net/bnxt/tf_core/tf_util.h            |    31 +-
>  drivers/net/bnxt/tf_core/tfp.c                |    44 +-
>  drivers/net/bnxt/tf_core/tfp.h                |    61 +-
>  drivers/net/bnxt/tf_ulp/bnxt_tf_common.h      |     2 -
>  drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c    |   378 +
>  drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h    |    29 +
>  drivers/net/bnxt/tf_ulp/bnxt_ulp.c            |   943 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp.h            |    85 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c       |    74 +-
>  .../bnxt/tf_ulp/generic_templates/meson.build |    13 +
>  .../generic_templates/ulp_template_db_act.c   |  1017 +
>  .../generic_templates/ulp_template_db_class.c | 13188 ++++++++++
>  .../generic_templates/ulp_template_db_enum.h  |  1883 ++
>  .../generic_templates/ulp_template_db_field.h |   686 +
>  .../generic_templates/ulp_template_db_tbl.c   |  3335 +++
>  .../generic_templates/ulp_template_db_tbl.h   |   112 +
>  .../ulp_template_db_thor_act.c                |   225 +
>  .../ulp_template_db_thor_class.c              |  6107 +++++
>  .../ulp_template_db_wh_plus_act.c             |  4974 ++++
>  .../ulp_template_db_wh_plus_class.c           | 14270 +++++++++++
>  drivers/net/bnxt/tf_ulp/meson.build           |    28 +
>  drivers/net/bnxt/tf_ulp/ulp_def_rules.c       |    91 +-
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c          |   171 +-
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h          |     1 +
>  drivers/net/bnxt/tf_ulp/ulp_flow_db.c         |   129 +-
>  drivers/net/bnxt/tf_ulp/ulp_flow_db.h         |    20 +-
>  drivers/net/bnxt/tf_ulp/ulp_gen_hash.c        |   369 +
>  drivers/net/bnxt/tf_ulp/ulp_gen_hash.h        |   166 +
>  drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c         |   417 +
>  drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h         |   171 +
>  drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c          |   637 +
>  drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h          |    67 +
>  drivers/net/bnxt/tf_ulp/ulp_mapper.c          |  3572 ++-
>  drivers/net/bnxt/tf_ulp/ulp_mapper.h          |    59 +-
>  drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c        |    10 +-
>  drivers/net/bnxt/tf_ulp/ulp_matcher.c         |    36 +-
>  drivers/net/bnxt/tf_ulp/ulp_port_db.c         |   140 +-
>  drivers/net/bnxt/tf_ulp/ulp_port_db.h         |    42 +
>  ...emplate_db_tbl.c => ulp_rte_handler_tbl.c} |   269 +-
>  drivers/net/bnxt/tf_ulp/ulp_rte_parser.c      |  1207 +-
>  drivers/net/bnxt/tf_ulp/ulp_rte_parser.h      |    36 +-
>  drivers/net/bnxt/tf_ulp/ulp_template_db.c     |  4622 ----
>  drivers/net/bnxt/tf_ulp/ulp_template_db.h     |   614 -
>  drivers/net/bnxt/tf_ulp/ulp_template_db_act.c |   815 -
>  .../net/bnxt/tf_ulp/ulp_template_db_class.c   |  3985 ---
>  .../net/bnxt/tf_ulp/ulp_template_db_enum.h    |   973 -
>  .../net/bnxt/tf_ulp/ulp_template_db_field.h   |  1191 -
>  .../tf_ulp/ulp_template_db_stingray_act.c     |  3305 ---
>  .../tf_ulp/ulp_template_db_stingray_class.c   | 20566 ----------------
>  drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.h |    48 -
>  .../bnxt/tf_ulp/ulp_template_db_wh_plus_act.c |  3304 ---
>  .../tf_ulp/ulp_template_db_wh_plus_class.c    | 20566 ----------------
>  .../net/bnxt/tf_ulp/ulp_template_field_db.h   |   224 -
>  drivers/net/bnxt/tf_ulp/ulp_template_struct.h |   192 +-
>  drivers/net/bnxt/tf_ulp/ulp_tun.c             |   192 +-
>  drivers/net/bnxt/tf_ulp/ulp_tun.h             |    33 +-
>  drivers/net/bnxt/tf_ulp/ulp_utils.c           |   339 +-
>  drivers/net/bnxt/tf_ulp/ulp_utils.h           |   153 +-
>  123 files changed, 63931 insertions(+), 68808 deletions(-)
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_common.c
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.h
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.c
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.h
>  create mode 100644 drivers/net/bnxt/hcapi/cfa/meson.build
>  delete mode 100644 drivers/net/bnxt/hcapi/cfa_p40_hw.h
>  delete mode 100644 drivers/net/bnxt/hcapi/cfa_p40_tbl.h
>  delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa.h
>  delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_defs.h
>  delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.c
>  delete mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.h
>  create mode 100644 drivers/net/bnxt/tf_core/dpool.c
>  create mode 100644 drivers/net/bnxt/tf_core/dpool.h
>  delete mode 100644 drivers/net/bnxt/tf_core/hwrm_tf.h
>  create mode 100644 drivers/net/bnxt/tf_core/meson.build
>  delete mode 100644 drivers/net/bnxt/tf_core/tf_device_p45.h
>  create mode 100644 drivers/net/bnxt/tf_core/tf_device_p58.c
>  create mode 100644 drivers/net/bnxt/tf_core/tf_device_p58.h
>  create mode 100644 drivers/net/bnxt/tf_core/tf_em_hash_internal.c
>  delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.c
>  delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.h
>  create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_shared.c
>  create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_shared.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/meson.build
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/meson.build
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_hash.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_hash.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h
>  rename drivers/net/bnxt/tf_ulp/{ulp_template_db_tbl.c => ulp_rte_handler_tbl.c} (60%)
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.h
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_act.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_field.h
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_act.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_class.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.h
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c
>  delete mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_field_db.h
>
> --
> 2.21.1 (Apple Git-122.3)
>
Thomas Monjalon July 7, 2021, 8:43 a.m. UTC | #2
15/06/2021 21:33, Ajit Khaparde:
> On Sat, Jun 12, 2021 at 5:06 PM Ajit Khaparde
> <ajit.khaparde@broadcom.com> wrote:
> >
> > This patchset adds flow table management support for
> > Thor network adapter and introduces enhancements to
> > the existing flow table management functionality.
> >
> > v1->v2:
> >  - Rebased against latest dpdk-next-net-brcm for-next-net branch.
> >  - Fixed typo errors in some of the patches
> >  - Address some issues encountered while applying patches
> >  - Changed log levels for some log messages to debug
> >  - Cleaned up some unused code
> 
> Patchset applied to the for-next-net branch of dpdk-next-net-brcm.
> Thanks

These 3 tools are returning errors:

devtools/check-meson.py
devtools/check-spdx-tag.sh
devtools/check-doc-vs-code.sh

1/ The meson files have a new indent policy.
2/ The SPDX tag is missing in some hcapi_cfa files.
3/ devtools/parse-flow-support.sh must be updated with new bnxt path

Please fix in dpdk-next-net-brcm.
Ajit Khaparde July 8, 2021, 3:57 a.m. UTC | #3
On Wed, Jul 7, 2021 at 1:43 AM Thomas Monjalon <thomas@monjalon.net> wrote:

> 15/06/2021 21:33, Ajit Khaparde:
> > On Sat, Jun 12, 2021 at 5:06 PM Ajit Khaparde
> > <ajit.khaparde@broadcom.com> wrote:
> > >
> > > This patchset adds flow table management support for
> > > Thor network adapter and introduces enhancements to
> > > the existing flow table management functionality.
> > >
> > > v1->v2:
> > >  - Rebased against latest dpdk-next-net-brcm for-next-net branch.
> > >  - Fixed typo errors in some of the patches
> > >  - Address some issues encountered while applying patches
> > >  - Changed log levels for some log messages to debug
> > >  - Cleaned up some unused code
> >
> > Patchset applied to the for-next-net branch of dpdk-next-net-brcm.
> > Thanks
>
> These 3 tools are returning errors:
>
> devtools/check-meson.py
> devtools/check-spdx-tag.sh
> devtools/check-doc-vs-code.sh
>
> 1/ The meson files have a new indent policy.
> 2/ The SPDX tag is missing in some hcapi_cfa files.
> 3/ devtools/parse-flow-support.sh must be updated with new bnxt path
>
> Please fix in dpdk-next-net-brcm.
>
Done and changes pushed to the for-next-net branch of  dpdk-next-net-brcm.

Thanks
-Ajit
Thomas Monjalon July 8, 2021, 12:51 p.m. UTC | #4
08/07/2021 05:57, Ajit Khaparde:
> On Wed, Jul 7, 2021 at 1:43 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> > 15/06/2021 21:33, Ajit Khaparde:
> > > On Sat, Jun 12, 2021 at 5:06 PM Ajit Khaparde
> > > <ajit.khaparde@broadcom.com> wrote:
> > > >
> > > > This patchset adds flow table management support for
> > > > Thor network adapter and introduces enhancements to
> > > > the existing flow table management functionality.
> > > >
> > > > v1->v2:
> > > >  - Rebased against latest dpdk-next-net-brcm for-next-net branch.
> > > >  - Fixed typo errors in some of the patches
> > > >  - Address some issues encountered while applying patches
> > > >  - Changed log levels for some log messages to debug
> > > >  - Cleaned up some unused code
> > >
> > > Patchset applied to the for-next-net branch of dpdk-next-net-brcm.
> > > Thanks
> >
> > These 3 tools are returning errors:
> >
> > devtools/check-meson.py
> > devtools/check-spdx-tag.sh
> > devtools/check-doc-vs-code.sh
> >
> > 1/ The meson files have a new indent policy.
> > 2/ The SPDX tag is missing in some hcapi_cfa files.
> > 3/ devtools/parse-flow-support.sh must be updated with new bnxt path
> >
> > Please fix in dpdk-next-net-brcm.
> >
> Done and changes pushed to the for-next-net branch of  dpdk-next-net-brcm.

There is still an issue with the third tool mentionned above:

devtools/check-doc-vs-code.sh
rte_flow doc out of sync for bnxt
        item any
        item gre
        item icmp
        item icmp6
        action dec_ttl
        action jump
        action of_pop_vlan
        action of_push_vlan
        action of_set_vlan_pcp
        action of_set_vlan_vid
        action sample
        action set_ipv4_dst
        action set_ipv4_src
        action set_tp_dst
        action set_tp_src

The file doc/guides/nics/features/bnxt.ini must be updated in each patch
adding a new support of an item or an action.

I fixed all by making sure the below command passing:
git rebase -i --exec devtools/check-doc-vs-code.sh origin/main
Ajit Khaparde July 8, 2021, 2:37 p.m. UTC | #5
On Thu, Jul 8, 2021 at 5:51 AM Thomas Monjalon <thomas@monjalon.net> wrote:

> 08/07/2021 05:57, Ajit Khaparde:
> > On Wed, Jul 7, 2021 at 1:43 AM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> > > 15/06/2021 21:33, Ajit Khaparde:
> > > > On Sat, Jun 12, 2021 at 5:06 PM Ajit Khaparde
> > > > <ajit.khaparde@broadcom.com> wrote:
> > > > >
> > > > > This patchset adds flow table management support for
> > > > > Thor network adapter and introduces enhancements to
> > > > > the existing flow table management functionality.
> > > > >
> > > > > v1->v2:
> > > > >  - Rebased against latest dpdk-next-net-brcm for-next-net branch.
> > > > >  - Fixed typo errors in some of the patches
> > > > >  - Address some issues encountered while applying patches
> > > > >  - Changed log levels for some log messages to debug
> > > > >  - Cleaned up some unused code
> > > >
> > > > Patchset applied to the for-next-net branch of dpdk-next-net-brcm.
> > > > Thanks
> > >
> > > These 3 tools are returning errors:
> > >
> > > devtools/check-meson.py
> > > devtools/check-spdx-tag.sh
> > > devtools/check-doc-vs-code.sh
> > >
> > > 1/ The meson files have a new indent policy.
> > > 2/ The SPDX tag is missing in some hcapi_cfa files.
> > > 3/ devtools/parse-flow-support.sh must be updated with new bnxt path
> > >
> > > Please fix in dpdk-next-net-brcm.
> > >
> > Done and changes pushed to the for-next-net branch of
> dpdk-next-net-brcm.
>
> There is still an issue with the third tool mentionned above:
>
> devtools/check-doc-vs-code.sh
> rte_flow doc out of sync for bnxt
>         item any
>         item gre
>         item icmp
>         item icmp6
>         action dec_ttl
>         action jump
>         action of_pop_vlan
>         action of_push_vlan
>         action of_set_vlan_pcp
>         action of_set_vlan_vid
>         action sample
>         action set_ipv4_dst
>         action set_ipv4_src
>         action set_tp_dst
>         action set_tp_src
>
> The file doc/guides/nics/features/bnxt.ini must be updated in each patch
> adding a new support of an item or an action.
>
> I fixed all by making sure the below command passing:
> git rebase -i --exec devtools/check-doc-vs-code.sh origin/main
>

Thanks. Let me know if you want me to fix anything else for the merge.