mbox

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

Message ID 20210613000652.28191-1-ajit.khaparde@broadcom.com (mailing list archive)
Headers

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