[dpdk-dev] [PATCH v2 00/58] enhancements to host based flow table management

Ajit Khaparde ajit.khaparde at broadcom.com
Tue Jun 15 21:33:09 CEST 2021


On Sat, Jun 12, 2021 at 5:06 PM Ajit Khaparde
<ajit.khaparde at 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)
>


More information about the dev mailing list