On Wed, Apr 15, 2020 at 1:19 AM Venkat Duvvuru < venkatkumar.duvv...@broadcom.com> wrote:
> 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. > > This is a tech preview feature, hence disabled by default and can be > enabled > using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”. > > v3==>v4 > ======= > 1. Fixed some more compilation issues reported by CI > Patchset applied to dpdk-next-net-brcm. > > 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 | 319 +- > 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 | 162 + > 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 | 515 +++ > 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 | 1513 +++++++++ > 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 | 1713 ++++++++++ > drivers/net/bnxt/tf_ulp/ulp_template_db.h | 354 +++ > drivers/net/bnxt/tf_ulp/ulp_template_field_db.h | 130 + > 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, 25891 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 > >