mbox

[00/50] add features for host-based flow management

Message ID 20200612132934.16488-1-somnath.kotur@broadcom.com (mailing list archive)
Headers

Message

Somnath Kotur June 12, 2020, 1:28 p.m. UTC
This patchset introduces support for VF representors, flow
counters and on-chip exact match flows.
Also implements the driver hook for the rte_flow_query API.

Jay Ding (5):
  net/bnxt: implement support for TCAM access
  net/bnxt: support two level priority for TCAMs
  net/bnxt: add external action alloc and free
  net/bnxt: implement IF tables set and get
  net/bnxt: add global config set and get APIs

Kishore Padmanabha (8):
  net/bnxt: integrate with the latest tf_core library
  net/bnxt: add support for if table processing
  net/bnxt: disable vector mode in tx direction when truflow is enabled
  net/bnxt: add index opcode and index operand mapper table
  net/bnxt: add support for global resource templates
  net/bnxt: add support for internal exact match entries
  net/bnxt: add support for conditional execution of mapper tables
  net/bnxt: add support for vf rep and stat templates

Lance Richardson (1):
  net/bnxt: initialize parent PF information

Michael Wildt (7):
  net/bnxt: add multi device support
  net/bnxt: update multi device design support
  net/bnxt: multiple device implementation
  net/bnxt: update identifier with remap support
  net/bnxt: update RM with residual checker
  net/bnxt: update table get to use new design
  net/bnxt: add TF register and unregister

Mike Baucom (1):
  net/bnxt: add support for internal encap records

Pete Spreadborough (6):
  net/bnxt: add support for Exact Match
  net/bnxt: modify EM insert and delete to use HWRM direct
  net/bnxt: add HCAPI interface support
  net/bnxt: support EM and TCAM lookup with table scope
  net/bnxt: update RM to support HCAPI only
  net/bnxt: remove table scope from session

Peter Spreadborough (1):
  net/bnxt: add support for EEM System memory

Randy Schacher (2):
  net/bnxt: add core changes for EM and EEM lookups
  net/bnxt: align CFA resources with RM

Shahaji Bhosle (2):
  net/bnxt: support bulk table get and mirror
  net/bnxt: support two-level priority for TCAMs

Somnath Kotur (7):
  net/bnxt: Basic infrastructure support for VF representors
  net/bnxt: Infrastructure support for VF-reps data path
  net/bnxt: add support to get FID,default vnic ID and svif of VF-Rep
    Endpoint
  net/bnxt: fix to parse representor along with other dev-args
  net/bnxt: create default flow rules for the VF-rep conduit
  net/bnxt: support for ULP Flow counter Manager
  net/bnxt: Add support for flow query with action_type COUNT

Venkat Duvvuru (10):
  net/bnxt: modify ulp_port_db_dev_port_intf_update prototype
  net/bnxt: get port & function related information
  net/bnxt: add support for bnxt_hwrm_port_phy_qcaps
  net/bnxt: modify port_db to store & retrieve more info
  net/bnxt: enable HWRM_PORT_MAC_QCFG for trusted vf
  net/bnxt: fixes for port db
  net/bnxt: fix for VF to VFR conduit
  net/bnxt: fill mapper parameters with default rules info
  net/bnxt: add ingress & egress port default rules
  net/bnxt: fill cfa_action in the tx buffer descriptor properly

 config/common_base                              |    5 +-
 drivers/net/bnxt/Makefile                       |    8 +-
 drivers/net/bnxt/bnxt.h                         |  121 +-
 drivers/net/bnxt/bnxt_ethdev.c                  |  519 ++-
 drivers/net/bnxt/bnxt_hwrm.c                    |  122 +-
 drivers/net/bnxt/bnxt_hwrm.h                    |    7 +
 drivers/net/bnxt/bnxt_reps.c                    |  773 ++++
 drivers/net/bnxt/bnxt_reps.h                    |   45 +
 drivers/net/bnxt/bnxt_rxr.c                     |   38 +-
 drivers/net/bnxt/bnxt_rxr.h                     |    1 +
 drivers/net/bnxt/bnxt_txq.h                     |    2 +
 drivers/net/bnxt/bnxt_txr.c                     |   18 +-
 drivers/net/bnxt/hcapi/Makefile                 |   10 +
 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              |  273 ++
 drivers/net/bnxt/hcapi/hcapi_cfa_defs.h         |  669 +++
 drivers/net/bnxt/hcapi/hcapi_cfa_p4.c           |  411 ++
 drivers/net/bnxt/hcapi/hcapi_cfa_p4.h           |  467 ++
 drivers/net/bnxt/hsi_struct_def_dpdk.h          | 3095 ++++++++++++--
 drivers/net/bnxt/meson.build                    |   21 +-
 drivers/net/bnxt/tf_core/Makefile               |   29 +-
 drivers/net/bnxt/tf_core/bitalloc.c             |  107 +
 drivers/net/bnxt/tf_core/bitalloc.h             |    5 +
 drivers/net/bnxt/tf_core/cfa_resource_types.h   |  293 ++
 drivers/net/bnxt/tf_core/hwrm_tf.h              |  995 +----
 drivers/net/bnxt/tf_core/ll.c                   |   52 +
 drivers/net/bnxt/tf_core/ll.h                   |   46 +
 drivers/net/bnxt/tf_core/lookup3.h              |    1 -
 drivers/net/bnxt/tf_core/stack.c                |   10 +-
 drivers/net/bnxt/tf_core/stack.h                |   10 +
 drivers/net/bnxt/tf_core/tf_common.h            |   43 +
 drivers/net/bnxt/tf_core/tf_core.c              | 1495 +++++--
 drivers/net/bnxt/tf_core/tf_core.h              |  874 +++-
 drivers/net/bnxt/tf_core/tf_device.c            |  271 ++
 drivers/net/bnxt/tf_core/tf_device.h            |  650 +++
 drivers/net/bnxt/tf_core/tf_device_p4.c         |  147 +
 drivers/net/bnxt/tf_core/tf_device_p4.h         |  104 +
 drivers/net/bnxt/tf_core/tf_em.c                |  515 ---
 drivers/net/bnxt/tf_core/tf_em.h                |  492 ++-
 drivers/net/bnxt/tf_core/tf_em_common.c         | 1050 +++++
 drivers/net/bnxt/tf_core/tf_em_common.h         |  134 +
 drivers/net/bnxt/tf_core/tf_em_host.c           |  532 +++
 drivers/net/bnxt/tf_core/tf_em_internal.c       |  352 ++
 drivers/net/bnxt/tf_core/tf_em_system.c         |  538 +++
 drivers/net/bnxt/tf_core/tf_ext_flow_handle.h   |   16 +
 drivers/net/bnxt/tf_core/tf_global_cfg.c        |  199 +
 drivers/net/bnxt/tf_core/tf_global_cfg.h        |  170 +
 drivers/net/bnxt/tf_core/tf_identifier.c        |  186 +
 drivers/net/bnxt/tf_core/tf_identifier.h        |  147 +
 drivers/net/bnxt/tf_core/tf_if_tbl.c            |  178 +
 drivers/net/bnxt/tf_core/tf_if_tbl.h            |  236 +
 drivers/net/bnxt/tf_core/tf_msg.c               | 1681 ++++----
 drivers/net/bnxt/tf_core/tf_msg.h               |  409 +-
 drivers/net/bnxt/tf_core/tf_resources.h         |  531 ---
 drivers/net/bnxt/tf_core/tf_rm.c                | 3840 ++++-------------
 drivers/net/bnxt/tf_core/tf_rm.h                |  554 ++-
 drivers/net/bnxt/tf_core/tf_session.c           |  776 ++++
 drivers/net/bnxt/tf_core/tf_session.h           |  565 ++-
 drivers/net/bnxt/tf_core/tf_shadow_tbl.c        |   63 +
 drivers/net/bnxt/tf_core/tf_shadow_tbl.h        |  240 ++
 drivers/net/bnxt/tf_core/tf_shadow_tcam.c       |   63 +
 drivers/net/bnxt/tf_core/tf_shadow_tcam.h       |  239 ++
 drivers/net/bnxt/tf_core/tf_tbl.c               | 1935 ++-------
 drivers/net/bnxt/tf_core/tf_tbl.h               |  469 +-
 drivers/net/bnxt/tf_core/tf_tcam.c              |  430 ++
 drivers/net/bnxt/tf_core/tf_tcam.h              |  360 ++
 drivers/net/bnxt/tf_core/tf_util.c              |  176 +
 drivers/net/bnxt/tf_core/tf_util.h              |   98 +
 drivers/net/bnxt/tf_core/tfp.c                  |   33 +-
 drivers/net/bnxt/tf_core/tfp.h                  |  153 +-
 drivers/net/bnxt/tf_ulp/Makefile                |    2 +
 drivers/net/bnxt/tf_ulp/bnxt_tf_common.h        |   16 +
 drivers/net/bnxt/tf_ulp/bnxt_ulp.c              |  129 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.h              |   35 +
 drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c         |   85 +-
 drivers/net/bnxt/tf_ulp/ulp_def_rules.c         |  385 ++
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c            |  596 +++
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h            |  163 +
 drivers/net/bnxt/tf_ulp/ulp_flow_db.c           |   42 +-
 drivers/net/bnxt/tf_ulp/ulp_mapper.c            |  482 ++-
 drivers/net/bnxt/tf_ulp/ulp_mapper.h            |    6 +-
 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c          |   10 +
 drivers/net/bnxt/tf_ulp/ulp_port_db.c           |  234 +-
 drivers/net/bnxt/tf_ulp/ulp_port_db.h           |  122 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c        |   30 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_act.c   |  433 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c | 5217 +++++++++++++++++------
 drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h  |  537 +--
 drivers/net/bnxt/tf_ulp/ulp_template_db_field.h |  463 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c   |   84 +-
 drivers/net/bnxt/tf_ulp/ulp_template_struct.h   |   23 +-
 drivers/net/bnxt/tf_ulp/ulp_utils.c             |    2 +-
 93 files changed, 28024 insertions(+), 11253 deletions(-)
 create mode 100644 drivers/net/bnxt/bnxt_reps.c
 create mode 100644 drivers/net/bnxt/bnxt_reps.h
 create mode 100644 drivers/net/bnxt/hcapi/Makefile
 create mode 100644 drivers/net/bnxt/hcapi/cfa_p40_hw.h
 create mode 100644 drivers/net/bnxt/hcapi/cfa_p40_tbl.h
 create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa.h
 create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_defs.h
 create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.c
 create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.h
 create mode 100644 drivers/net/bnxt/tf_core/cfa_resource_types.h
 create mode 100644 drivers/net/bnxt/tf_core/ll.c
 create mode 100644 drivers/net/bnxt/tf_core/ll.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_common.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_device.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_device.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_device_p4.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_device_p4.h
 delete mode 100644 drivers/net/bnxt/tf_core/tf_em.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_em_common.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_em_common.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_em_host.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_em_internal.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_em_system.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_global_cfg.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_global_cfg.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_identifier.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_identifier.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_if_tbl.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_if_tbl.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_session.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_tcam.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_tcam.h
 create mode 100644 drivers/net/bnxt/tf_core/tf_util.c
 create mode 100644 drivers/net/bnxt/tf_core/tf_util.h
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_def_rules.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h