mbox

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

Message ID 20210530085929.29695-1-venkatkumar.duvvuru@broadcom.com (mailing list archive)
Headers

Message

Venkat Duvvuru May 30, 2021, 8:58 a.m. UTC
This patchset adds flow table management support for
Thor network adapter and introduces enhancements to
the existing flow table management functionality.

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 session open/close messages
  net/bnxt: add WC TCAM hi/lo move support
  net/bnxt: add API to get shared table increments
  net/bnxt: cleanup of WC TCAM shared unbind
  net/bnxt: add API to clear hi/lo WC region

Jay Ding (9):
  net/bnxt: check resource reservation in TRUFLOW
  net/bnxt: add L2 Context TCAM get support
  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: modify 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: modify ULP priority opcode processing
  net/bnxt: add support for conflict resolution
  net/bnxt: add support for 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 TF ULP
  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 and parser
  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 support for shared sessions in ULP
  net/bnxt: add support for icmp6 ULP parsing
  net/bnxt: add support for ULP context list for timers

Mike Baucom (5):
  net/bnxt: add conditional execution and rejection
  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     |   292 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.h     |   185 +
 drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p58.c    |   122 +
 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        |   281 +-
 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              |   373 +
 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       |   164 +-
 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      |   375 +
 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             |   194 +-
 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, 63946 insertions(+), 68836 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