[dpdk-dev] [PATCH v2 00/34] add support for host based flow table management
Venkat Duvvuru
venkatkumar.duvvuru at broadcom.com
Mon Apr 13 21:39:37 CEST 2020
This patchset introduces a new mechanism to allow host-memory based
flow table management. This should allow higher flow scalability
than what is currently supported. This new approach also defines a
new rte_flow parser, and mapper which currently supports basic packet
classification in receive path. The patchset uses a newly implemented
control-plane firmware interface which optimizes flow insertions and
deletions.
This is a baseline patchset with limited scale. Follow on patches will
add support for more protocol headers, rte_flow attributes, actions
and such.
Currently the code path is disabled by default and can be enabled
using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
v1==>v2
=======
1. Meson build support for new files
2. Devargs support for this feature
3. Fixed compilation error in ulp_mapper.c
Ajit Kumar Khaparde (1):
net/bnxt: add updated dpdk hsi structure
Farah Smith (2):
net/bnxt: add tf core identifier support
net/bnxt: add tf core table scope support
Kishore Padmanabha (8):
net/bnxt: match rte flow items with flow template patterns
net/bnxt: match rte flow actions with flow template actions
net/bnxt: add support for rte flow item parsing
net/bnxt: add support for rte flow action parsing
net/bnxt: add support for rte flow create driver hook
net/bnxt: add support for rte flow validate driver hook
net/bnxt: add support for rte flow destroy driver hook
net/bnxt: add support for rte flow flush driver hook
Michael Wildt (4):
net/bnxt: add initial tf core session open
net/bnxt: add initial tf core session close support
net/bnxt: add tf core session sram functions
net/bnxt: add resource manager functionality
Mike Baucom (5):
net/bnxt: add helper functions for blob/regfile ops
net/bnxt: add support to process action tables
net/bnxt: add support to process key tables
net/bnxt: add support to free key and action tables
net/bnxt: add support to alloc and program key and act tbls
Pete Spreadborough (2):
net/bnxt: add truflow message handlers
net/bnxt: add EM/EEM functionality
Randy Schacher (1):
net/bnxt: update hwrm prep to use ptr
Shahaji Bhosle (2):
net/bnxt: add initial tf core resource mgmt support
net/bnxt: add tf core TCAM support
Venkat Duvvuru (9):
net/bnxt: fetch SVIF information from the firmware
net/bnxt: fetch vnic info from DPDK port
net/bnxt: add devargs parameter for host memory based TRUFLOW feature
net/bnxt: add support for ULP session manager init
net/bnxt: add support for ULP session manager cleanup
net/bnxt: register tf rte flow ops
net/bnxt: disable vector mode when host based TRUFLOW is enabled
net/bnxt: add support for injecting mark into packet’s mbuf
net/bnxt: enable meson build on truflow code
drivers/net/bnxt/Makefile | 24 +
drivers/net/bnxt/bnxt.h | 21 +-
drivers/net/bnxt/bnxt_ethdev.c | 118 +-
drivers/net/bnxt/bnxt_hwrm.c | 317 +-
drivers/net/bnxt/bnxt_hwrm.h | 19 +
drivers/net/bnxt/bnxt_rxr.c | 153 +-
drivers/net/bnxt/hsi_struct_def_dpdk.h | 3786 ++++++++++++++++++++---
drivers/net/bnxt/meson.build | 26 +
drivers/net/bnxt/tf_core/bitalloc.c | 364 +++
drivers/net/bnxt/tf_core/bitalloc.h | 119 +
drivers/net/bnxt/tf_core/hwrm_tf.h | 992 ++++++
drivers/net/bnxt/tf_core/lookup3.h | 161 +
drivers/net/bnxt/tf_core/rand.c | 47 +
drivers/net/bnxt/tf_core/rand.h | 36 +
drivers/net/bnxt/tf_core/stack.c | 107 +
drivers/net/bnxt/tf_core/stack.h | 107 +
drivers/net/bnxt/tf_core/tf_core.c | 659 ++++
drivers/net/bnxt/tf_core/tf_core.h | 1376 ++++++++
drivers/net/bnxt/tf_core/tf_em.c | 516 +++
drivers/net/bnxt/tf_core/tf_em.h | 117 +
drivers/net/bnxt/tf_core/tf_ext_flow_handle.h | 166 +
drivers/net/bnxt/tf_core/tf_msg.c | 1248 ++++++++
drivers/net/bnxt/tf_core/tf_msg.h | 256 ++
drivers/net/bnxt/tf_core/tf_msg_common.h | 47 +
drivers/net/bnxt/tf_core/tf_project.h | 24 +
drivers/net/bnxt/tf_core/tf_resources.h | 542 ++++
drivers/net/bnxt/tf_core/tf_rm.c | 3297 ++++++++++++++++++++
drivers/net/bnxt/tf_core/tf_rm.h | 321 ++
drivers/net/bnxt/tf_core/tf_session.h | 300 ++
drivers/net/bnxt/tf_core/tf_tbl.c | 1836 +++++++++++
drivers/net/bnxt/tf_core/tf_tbl.h | 126 +
drivers/net/bnxt/tf_core/tfp.c | 163 +
drivers/net/bnxt/tf_core/tfp.h | 188 ++
drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 54 +
drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 695 +++++
drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 110 +
drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 303 ++
drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 626 ++++
drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 156 +
drivers/net/bnxt/tf_ulp/ulp_mapper.c | 1502 +++++++++
drivers/net/bnxt/tf_ulp/ulp_mapper.h | 69 +
drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 271 ++
drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h | 111 +
drivers/net/bnxt/tf_ulp/ulp_matcher.c | 188 ++
drivers/net/bnxt/tf_ulp/ulp_matcher.h | 35 +
drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 1208 ++++++++
drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 203 ++
drivers/net/bnxt/tf_ulp/ulp_template_db.c | 1712 ++++++++++
drivers/net/bnxt/tf_ulp/ulp_template_db.h | 354 +++
drivers/net/bnxt/tf_ulp/ulp_template_field_db.h | 133 +
drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 266 ++
drivers/net/bnxt/tf_ulp/ulp_utils.c | 521 ++++
drivers/net/bnxt/tf_ulp/ulp_utils.h | 279 ++
53 files changed, 25880 insertions(+), 495 deletions(-)
create mode 100644 drivers/net/bnxt/tf_core/bitalloc.c
create mode 100644 drivers/net/bnxt/tf_core/bitalloc.h
create mode 100644 drivers/net/bnxt/tf_core/hwrm_tf.h
create mode 100644 drivers/net/bnxt/tf_core/lookup3.h
create mode 100644 drivers/net/bnxt/tf_core/rand.c
create mode 100644 drivers/net/bnxt/tf_core/rand.h
create mode 100644 drivers/net/bnxt/tf_core/stack.c
create mode 100644 drivers/net/bnxt/tf_core/stack.h
create mode 100644 drivers/net/bnxt/tf_core/tf_core.c
create mode 100644 drivers/net/bnxt/tf_core/tf_core.h
create mode 100644 drivers/net/bnxt/tf_core/tf_em.c
create mode 100644 drivers/net/bnxt/tf_core/tf_em.h
create mode 100644 drivers/net/bnxt/tf_core/tf_ext_flow_handle.h
create mode 100644 drivers/net/bnxt/tf_core/tf_msg.c
create mode 100644 drivers/net/bnxt/tf_core/tf_msg.h
create mode 100644 drivers/net/bnxt/tf_core/tf_msg_common.h
create mode 100644 drivers/net/bnxt/tf_core/tf_project.h
create mode 100644 drivers/net/bnxt/tf_core/tf_resources.h
create mode 100644 drivers/net/bnxt/tf_core/tf_rm.c
create mode 100644 drivers/net/bnxt/tf_core/tf_rm.h
create mode 100644 drivers/net/bnxt/tf_core/tf_session.h
create mode 100644 drivers/net/bnxt/tf_core/tf_tbl.c
create mode 100644 drivers/net/bnxt/tf_core/tf_tbl.h
create mode 100644 drivers/net/bnxt/tf_core/tfp.c
create mode 100644 drivers/net/bnxt/tf_core/tfp.h
create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_common.h
create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp.c
create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp.h
create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_flow_db.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_flow_db.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mapper.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mapper.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_matcher.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_matcher.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_rte_parser.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_db.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_field_db.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_struct.h
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_utils.c
create mode 100644 drivers/net/bnxt/tf_ulp/ulp_utils.h
--
2.7.4
More information about the dev
mailing list