[dpdk-dev] [PATCH 28/58] net/bnxt: add support for mapper flow database opcodes

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha Added support for mapper flow database opcode to enable shared resources like mirror action. This allows mapper to conditionally populate flow database based on template content. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Michael

[dpdk-dev] [PATCH 22/58] net/bnxt: modify host session failure cleanup

2021-05-30 Thread Venkat Duvvuru
: Randy Schacher Signed-off-by: Venkat Duvvuru Reviewed-by: Randy Schacher --- drivers/net/bnxt/tf_core/tf_em_internal.c | 15 +++--- drivers/net/bnxt/tf_core/tf_identifier.c | 14 -- drivers/net/bnxt/tf_core/tf_msg.c | 24 ++--- drivers/net/bnxt/tf_core/tf_msg.h | 9

[dpdk-dev] [PATCH 25/58] net/bnxt: add API to clear hi/lo WC region

2021-05-30 Thread Venkat Duvvuru
From: Farah Smith Provide TRUFLOW API to clear either the hi or the low region for ungraceful exit cleanup. Signed-off-by: Farah Smith Signed-off-by: Randy Schacher Signed-off-by: Venkat Duvvuru Reviewed-by: Jay Ding Reviewed-by: Peter Spreadborough --- drivers/net/bnxt/tf_core/tf_core.c

[dpdk-dev] [PATCH 30/58] net/bnxt: modify TCAM opcode processing

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha Added TCAM table specific opcode to process TCAM entry creation and reuse. This change removes the TCAM cache mechanism and uses the generic table mechanism for reuse of TCAM entries. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Michael

[dpdk-dev] [PATCH 31/58] net/bnxt: modify VXLAN decap for multichannel mode

2021-05-30 Thread Venkat Duvvuru
patch fixes the above two problems by 1. Using dpdk port id as the index to store tunnel inner info. 2. Caching any number of tunnel inner flow offload requests that come before offloading tunnel outer flow offload request Signed-off-by: Venkat Duvvuru Reviewed-by: Shahaji Bhosle --- drivers

[dpdk-dev] [PATCH 29/58] net/bnxt: add conditional execution and rejection

2021-05-30 Thread Venkat Duvvuru
From: Mike Baucom Conditional execution and rejection processing added for templates and tables. This allows the mapper to skip tables and reject templates based on the content without having to hard code rules. Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Kishore

[dpdk-dev] [PATCH 24/58] net/bnxt: add support for WC TCAM shared session

2021-05-30 Thread Venkat Duvvuru
From: Jay Ding If the session shares WC TCAM entries with others, specify it in the session name by attach "-wc_tcam". Firmware will flush the shared WC TCAM entries if the last shared session using them is closed. Signed-off-by: Jay Ding Signed-off-by: Randy Schacher Signed-off-

[dpdk-dev] [PATCH 36/58] net/bnxt: set shared handle for generic table

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha The shared handle is set in the mapper params when generic resource are created, this shall be used by application as a handle to the shared resource like mirror handle. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Michael Baucom

[dpdk-dev] [PATCH 32/58] net/bnxt: modify table processing

2021-05-30 Thread Venkat Duvvuru
values for critical resource is replaced with template defined values. Signed-off-by: Kishore Padmanabha Signed-off-by: Michael Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Michael Baucom --- drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 18 +- drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h

[dpdk-dev] [PATCH 40/58] net/bnxt: add partial header field processing

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha For support for wild card TCAM, some of the header fields have to be partially written, hence this new opcode is added. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Ajit Kumar Khaparde Reviewed-by: Michael Baucom --- drivers/net/bnxt

[dpdk-dev] [PATCH 42/58] net/bnxt: add support for GRE flows

2021-05-30 Thread Venkat Duvvuru
This patch does the following to support GRE flows: 1. RTE_FLOW_ITEM_TYPE_ANY & RTE_FLOW_ITEM_TYPE_GRE processing 2. Calculate the absolute function ID from the logical VF ID passed as part of RTE_FLOW_ACTION_TYPE_VF action. 3. Move bnxt_get_bp API to bnxt_ethdev.c Signed-off-by: Ve

[dpdk-dev] [PATCH 44/58] net/bnxt: refactor ULP mapper and parser

2021-05-30 Thread Venkat Duvvuru
red session. Signed-off-by: Venkat Duvvuru Signed-off-by: Kishore Padmanabha Signed-off-by: Jay Ding Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde Reviewed-by: Michael Baucom Reviewed-by: Somnath Kotur Reviewed-by: Randy Schacher --- drivers/net/bnxt/bnxt.h

[dpdk-dev] [PATCH 41/58] net/bnxt: add support for wild card pattern match

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha The computational field is enabled for wild card pattern support. The template checks the computational field to add a flow as wild card entry or exact match entry. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Venkat Duvvuru Reviewed

[dpdk-dev] [PATCH 48/58] net/bnxt: add shared session support to ULP

2021-05-30 Thread Venkat Duvvuru
Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Kishore Padmanabha --- drivers/net/bnxt/bnxt.h |2 + drivers/net/bnxt/bnxt_ethdev.c| 50 + drivers/net/bnxt/tf_ulp/bnxt_ulp.c| 645 +++-- drivers/net/bnxt/tf_ulp

[dpdk-dev] [PATCH 51/58] net/bnxt: process resource lists before session open

2021-05-30 Thread Venkat Duvvuru
allocated on demand. The sum of both named and unnamed resources must be requested when initializing the session. The ulp_init now processes both lists prior to calling tf_open_session for both shared and regular sessions. Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Randy

[dpdk-dev] [PATCH 53/58] net/bnxt: add HA support in ULP

2021-05-30 Thread Venkat Duvvuru
From: Mike Baucom Added the ability for cooperative applications to share resources and perform some high availability functions. Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Shahaji Bhosle Reviewed-by: Randy Schacher --- drivers/net/bnxt/tf_ulp/bnxt_ulp.c

[dpdk-dev] [PATCH 54/58] net/bnxt: add support for icmp6 ULP parsing

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha This patch adds support for parsing rte_flow items for icmp6 flows. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Randy Schacher --- drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c

[dpdk-dev] [PATCH 55/58] net/bnxt: add support for ULP context list for timers

2021-05-30 Thread Venkat Duvvuru
From: Kishore Padmanabha The alarm callback needs to have a valid context pointer when it is invoked, the context could become invalid if the port goes down and the callback is invoked before it is cancelled. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Randy

[dpdk-dev] [PATCH] net/bnxt: fixes for vxlan decap full offload

2020-11-01 Thread Venkat Duvvuru
r all the ports on which the flow offload request has arrived on. The tunnel inner flows which were cached on the irrelevant ports will eventually get aged out as there won't be any traffic on these ports. Fixes: 3c0da5ee4064 ("net/bnxt: add VXLAN decap offload support") S

[dpdk-dev] [PATCH v3 19/34] net/bnxt: add support to process action tables

2020-04-14 Thread Venkat Duvvuru
From: Mike Baucom This patch processes the action template. Iterates through the list of action info templates and processes it. Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson --- drivers/net/bnxt/Makefile

[dpdk-dev] [PATCH v3 16/34] net/bnxt: add support for ULP session manager init

2020-04-14 Thread Venkat Duvvuru
that a single ULP session is only initialized once. Apart from this, it also initializes MARK database, EEM table & flow database. ULP session manager also manages a list of all opened ULP sessions. Signed-off-by: Venkat Duvvuru Signed-off-by: Mike Baucom Reviewed-by: Lance Richardson Revi

[dpdk-dev] [PATCH v3 18/34] net/bnxt: add helper functions for blob/regfile ops

2020-04-14 Thread Venkat Duvvuru
From: Mike Baucom 1. blob routines for managing key/mask/result data 2. regfile routines for managing temporal data during flow construction Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar

[dpdk-dev] [PATCH v3 17/34] net/bnxt: add support for ULP session manager cleanup

2020-04-14 Thread Venkat Duvvuru
f-by: Venkat Duvvuru Signed-off-by: Mike Baucom Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 3 + drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 167 - drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 10 ++ drivers

[dpdk-dev] [PATCH v3 23/34] net/bnxt: match rte flow items with flow template patterns

2020-04-14 Thread Venkat Duvvuru
From: Kishore Padmanabha This patch does the following 1. Takes hdr_bitmap generated from the rte_flow_items 2. Iterates through the static hdr_bitmap list 3. Returns success if a match is found, otherwise an error Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by

[dpdk-dev] [PATCH v3 20/34] net/bnxt: add support to process key tables

2020-04-14 Thread Venkat Duvvuru
From: Mike Baucom This patch creates the classifier table entries for a flow. Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/ulp_mapper.c| 773

[dpdk-dev] [PATCH v3 21/34] net/bnxt: add support to free key and action tables

2020-04-14 Thread Venkat Duvvuru
From: Mike Baucom This patch does the following 1. Gets all the flow resources from the flow id 2. Frees all the table resources 3. Frees the flow in the flow table Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson

[dpdk-dev] [PATCH v3 22/34] net/bnxt: add support to alloc and program key and act tbls

2020-04-14 Thread Venkat Duvvuru
bles Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 37 + drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 13 ++ drivers/net/bnxt/tf_ulp/ulp_mapper.c |

[dpdk-dev] [PATCH v3 24/34] net/bnxt: match rte flow actions with flow template actions

2020-04-14 Thread Venkat Duvvuru
From: Kishore Padmanabha This patch does the following 1. Takes act_bitmap generated from the rte_flow_actions 2. Iterates through the static act_bitmap list 3. Returns success if a match is found, otherwise an error Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by

[dpdk-dev] [PATCH v3 26/34] net/bnxt: add support for rte flow action parsing

2020-04-14 Thread Venkat Duvvuru
populate the respective fields in act_details & act_bitmap Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 7 + drivers/net/bnxt/tf_ulp/ulp_rte_parser.c |

[dpdk-dev] [PATCH v3 29/34] net/bnxt: add support for rte flow destroy driver hook

2020-04-14 Thread Venkat Duvvuru
f-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 32 +++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.

[dpdk-dev] [PATCH v3 28/34] net/bnxt: add support for rte flow validate driver hook

2020-04-14 Thread Venkat Duvvuru
: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 67 - 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/drivers

[dpdk-dev] [PATCH v3 25/34] net/bnxt: add support for rte flow item parsing

2020-04-14 Thread Venkat Duvvuru
hdr_field & hdr_bitmap Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Makefile | 1 + drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 767 ++ drivers

[dpdk-dev] [PATCH v3 27/34] net/bnxt: add support for rte flow create driver hook

2020-04-14 Thread Venkat Duvvuru
& action tables Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Makefile | 1 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 177 2 files changed,

[dpdk-dev] [PATCH v3 30/34] net/bnxt: add support for rte flow flush driver hook

2020-04-14 Thread Venkat Duvvuru
bles associated with each flow Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 3 ++ drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 33 +++- drivers/net/bnxt/tf

[dpdk-dev] [PATCH v3 32/34] net/bnxt: disable vector mode when host based TRUFLOW is enabled

2020-04-14 Thread Venkat Duvvuru
If bp->truflow is not set then don't enable vector mode. Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_et

[dpdk-dev] [PATCH v3 33/34] net/bnxt: add support for injecting mark into packet’s mbuf

2020-04-14 Thread Venkat Duvvuru
into packet’s mbuf. Signed-off-by: Venkat Duvvuru Signed-off-by: Mike Baucom Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_rxr.c| 153 - drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 55 +++- drivers/net

[dpdk-dev] [PATCH v3 34/34] net/bnxt: enable meson build on truflow code

2020-04-14 Thread Venkat Duvvuru
Include tf_ulp & tf_core directories and the files inside them. Signed-off-by: Venkat Duvvuru Reviewed-by: Somnath Kotur Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/meson.build | 26 ++ 1 file changed, 26 insertions(+) diff --git a/drivers/net/

[dpdk-dev] [PATCH v3 31/34] net/bnxt: register tf rte flow ops

2020-04-14 Thread Venkat Duvvuru
Register bnxt_ulp_rte_flow_ops when host based TRUFLOW is enabled. Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt.h| 1 + drivers/net/bnxt/bnxt_ethdev.c | 6 +- 2 files changed, 6 insertions(+), 1 deletion

[dpdk-dev] [PATCH v4 02/34] net/bnxt: update hwrm prep to use ptr

2020-04-15 Thread Venkat Duvvuru
From: Randy Schacher - Change HWRM_PREP to use pointer and use the full HWRM enum Signed-off-by: Randy Schacher Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt.h | 2 +- drivers/net/bnxt/bnxt_hwrm.c | 202 ++- 2 files changed, 103 insertio

[dpdk-dev] [PATCH v4 00/34] add support for host based flow table management

2020-04-15 Thread Venkat Duvvuru
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

[dpdk-dev] [PATCH v4 04/34] net/bnxt: add initial tf core session open

2020-04-15 Thread Venkat Duvvuru
From: Michael Wildt - Add infrastructure support - Add tf_core open session support Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/Makefile| 8 + drivers/net/bnxt/bnxt.h

[dpdk-dev] [PATCH v4 03/34] net/bnxt: add truflow message handlers

2020-04-15 Thread Venkat Duvvuru
From: Pete Spreadborough - Add bnxt message functions for truflow APIs Signed-off-by: Pete Spreadborough Signed-off-by: Randy Schacher Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 83 drivers/n

[dpdk-dev] [PATCH v4 06/34] net/bnxt: add tf core session sram functions

2020-04-15 Thread Venkat Duvvuru
From: Michael Wildt - Add TruFlow session resource support functionality - Add TruFlow session hw flush capability as well as sram support functions. - Add resource definitions for session pools. Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde ---

[dpdk-dev] [PATCH v4 08/34] net/bnxt: add resource manager functionality

2020-04-15 Thread Venkat Duvvuru
From: Michael Wildt - Add TruFlow RM functionality for resource handling - Update the TruFlow Resource Manager (RM) with resource support functions for debugging as well as resource cleanup. - Add support for Internal and external pools. Signed-off-by: Michael Wildt Reviewed-by: Randy Schache

[dpdk-dev] [PATCH v4 07/34] net/bnxt: add initial tf core resource mgmt support

2020-04-15 Thread Venkat Duvvuru
From: Shahaji Bhosle - Add TruFlow public API definitions for resources as well as RM infrastructure Signed-off-by: Shahaji Bhosle Reviewed-by: Randy Schacher Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/Makefile |1 + drivers/net/bnxt/tf_core/tf_core.c| 40 + driv

[dpdk-dev] [PATCH v4 05/34] net/bnxt: add initial tf core session close support

2020-04-15 Thread Venkat Duvvuru
From: Michael Wildt - Add TruFlow session and resource support functions - Add Truflow session close API and related message support functions for both session and hw resources Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Ma

[dpdk-dev] [PATCH v4 11/34] net/bnxt: add tf core table scope support

2020-04-15 Thread Venkat Duvvuru
From: Farah Smith - Added TruFlow Table public API - Added Table Scope capability including Table Type support code for setting and getting Table Types. Signed-off-by: Farah Smith Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnx

[dpdk-dev] [PATCH v4 13/34] net/bnxt: fetch SVIF information from the firmware

2020-04-15 Thread Venkat Duvvuru
needs this SVIF information to program L2 context and Exact match tables. Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt.h| 6 ++ drivers/net/bnxt/bnxt_ethdev.c | 14 ++ drivers/net/bnxt/bnxt_hwrm.c

[dpdk-dev] [PATCH v4 09/34] net/bnxt: add tf core identifier support

2020-04-15 Thread Venkat Duvvuru
From: Farah Smith - Add TruFlow Identifier resource support - Add TruFlow public API for Identifier resources. - Add support code and stack for Identifier resource allocation control. Signed-off-by: Farah Smith Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt

[dpdk-dev] [PATCH v4 10/34] net/bnxt: add tf core TCAM support

2020-04-15 Thread Venkat Duvvuru
From: Shahaji Bhosle - Add TruFlow TCAM public API functions - Add TCAM support functions as well as public APIs. Signed-off-by: Shahaji Bhosle Signed-off-by: Jay Ding Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_core/tf_core.c | 163 +

[dpdk-dev] [PATCH v4 14/34] net/bnxt: fetch vnic info from DPDK port

2020-04-15 Thread Venkat Duvvuru
VNIC is needed for the driver to program the action record for rx flows. VNIC determines what receive rings to use to place the received packets. This patch introduces a routine that will convert a given dpdk port to VNIC. Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by

[dpdk-dev] [PATCH v4 15/34] net/bnxt: add devargs parameter for host memory based TRUFLOW feature

2020-04-15 Thread Venkat Duvvuru
This feature can be enabled by passing "-w :0d:00.0,host-based-truflow=1” to the DPDK application. Signed-off-by: Venkat Duvvuru Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt.h| 4 ++- drivers/net/bnxt/bnxt_ethdev.c | 73 ++ 2

[dpdk-dev] [PATCH v4 12/34] net/bnxt: add EM/EEM functionality

2020-04-15 Thread Venkat Duvvuru
From: Pete Spreadborough - Add TruFlow flow memory support - Exact Match (EM) adds the capability to manage and manipulate data flows using on chip memory. - Extended Exact Match (EEM) behaves similarly to EM, but at a vastly increased scale by using host DDR, with performance tradeoff due

[dpdk-dev] [PATCH v4 16/34] net/bnxt: add support for ULP session manager init

2020-04-15 Thread Venkat Duvvuru
that a single ULP session is only initialized once. Apart from this, it also initializes MARK database, EEM table & flow database. ULP session manager also manages a list of all opened ULP sessions. Signed-off-by: Venkat Duvvuru Signed-off-by: Mike Baucom Reviewed-by: Lance Richardson Revi

[dpdk-dev] [PATCH v4 17/34] net/bnxt: add support for ULP session manager cleanup

2020-04-15 Thread Venkat Duvvuru
f-by: Venkat Duvvuru Signed-off-by: Mike Baucom Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 3 + drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 167 - drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 10 ++ drivers

[dpdk-dev] [PATCH v4 18/34] net/bnxt: add helper functions for blob/regfile ops

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom 1. blob routines for managing key/mask/result data 2. regfile routines for managing temporal data during flow construction Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar

[dpdk-dev] [PATCH v4 19/34] net/bnxt: add support to process action tables

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom This patch processes the action template. Iterates through the list of action info templates and processes it. Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson --- drivers/net/bnxt/Makefile

[dpdk-dev] [PATCH v4 20/34] net/bnxt: add support to process key tables

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom This patch creates the classifier table entries for a flow. Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/ulp_mapper.c| 784

[dpdk-dev] [PATCH v4 24/34] net/bnxt: match rte flow actions with flow template actions

2020-04-15 Thread Venkat Duvvuru
From: Kishore Padmanabha This patch does the following 1. Takes act_bitmap generated from the rte_flow_actions 2. Iterates through the static act_bitmap list 3. Returns success if a match is found, otherwise an error Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by

[dpdk-dev] [PATCH v4 25/34] net/bnxt: add support for rte flow item parsing

2020-04-15 Thread Venkat Duvvuru
hdr_field & hdr_bitmap Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Makefile | 1 + drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 767 ++ drivers

[dpdk-dev] [PATCH v4 23/34] net/bnxt: match rte flow items with flow template patterns

2020-04-15 Thread Venkat Duvvuru
From: Kishore Padmanabha This patch does the following 1. Takes hdr_bitmap generated from the rte_flow_items 2. Iterates through the static hdr_bitmap list 3. Returns success if a match is found, otherwise an error Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by

[dpdk-dev] [PATCH v4 22/34] net/bnxt: add support to alloc and program key and act tbls

2020-04-15 Thread Venkat Duvvuru
bles Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 37 + drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 13 ++ drivers/net/bnxt/tf_ulp/ulp_mapper.c |

[dpdk-dev] [PATCH v4 21/34] net/bnxt: add support to free key and action tables

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom This patch does the following 1. Gets all the flow resources from the flow id 2. Frees all the table resources 3. Frees the flow in the flow table Signed-off-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson

[dpdk-dev] [PATCH v4 28/34] net/bnxt: add support for rte flow validate driver hook

2020-04-15 Thread Venkat Duvvuru
: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 67 - 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/drivers

[dpdk-dev] [PATCH v4 30/34] net/bnxt: add support for rte flow flush driver hook

2020-04-15 Thread Venkat Duvvuru
bles associated with each flow Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 3 ++ drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 33 +++- drivers/net/bnxt/tf

[dpdk-dev] [PATCH v4 29/34] net/bnxt: add support for rte flow destroy driver hook

2020-04-15 Thread Venkat Duvvuru
f-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 32 +++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.

[dpdk-dev] [PATCH v4 26/34] net/bnxt: add support for rte flow action parsing

2020-04-15 Thread Venkat Duvvuru
populate the respective fields in act_details & act_bitmap Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 7 + drivers/net/bnxt/tf_ulp/ulp_rte_parser.c |

[dpdk-dev] [PATCH v4 27/34] net/bnxt: add support for rte flow create driver hook

2020-04-15 Thread Venkat Duvvuru
& action tables Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Makefile | 1 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 177 2 files changed,

[dpdk-dev] [PATCH v4 32/34] net/bnxt: disable vector mode when host based TRUFLOW is enabled

2020-04-15 Thread Venkat Duvvuru
If bp->truflow is not set then don't enable vector mode. Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_et

[dpdk-dev] [PATCH v4 34/34] net/bnxt: enable meson build on truflow code

2020-04-15 Thread Venkat Duvvuru
Include tf_ulp & tf_core directories and the files inside them. Signed-off-by: Venkat Duvvuru Reviewed-by: Somnath Kotur Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/meson.build | 26 ++ 1 file changed, 26 insertions(+) diff --git a/drivers/net/

[dpdk-dev] [PATCH v4 33/34] net/bnxt: add support for injecting mark into packet’s mbuf

2020-04-15 Thread Venkat Duvvuru
into packet’s mbuf. Signed-off-by: Venkat Duvvuru Signed-off-by: Mike Baucom Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_rxr.c| 153 - drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 55 +++- drivers/net

[dpdk-dev] [PATCH v4 31/34] net/bnxt: register tf rte flow ops

2020-04-15 Thread Venkat Duvvuru
Register bnxt_ulp_rte_flow_ops when host based TRUFLOW is enabled. Signed-off-by: Venkat Duvvuru Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt.h| 1 + drivers/net/bnxt/bnxt_ethdev.c | 6 +- 2 files changed, 6 insertions(+), 1 deletion

Re: [dpdk-dev] [PATCH v2 00/34] add support for host based flow table management

2020-04-15 Thread Venkat Duvvuru
On Tue, Apr 14, 2020 at 3:06 AM Thomas Monjalon wrote: > > 13/04/2020 21:39, Venkat Duvvuru: > > 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

[dpdk-dev] [PATCH 01/11] net/bnxt: SVIF changes for dpdk port id

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom Modification of the parser to get the SVIF from the driver for matches on port_id, pf, and phy_port. Reviewed-by: Kishore Padmanabha Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 31 +-- drivers/net/bnxt

[dpdk-dev] [PATCH 00/11] enhancements to host based flow table management

2020-04-15 Thread Venkat Duvvuru
This patchset introduces enhancements to the flow table management related to resource sharing and deletion, flow matching performance, and flow flushing. Additionally, a new port database was introduced to store frequently required port mappings and resources. Kishore Padmanabha (5): net/bnxt:

[dpdk-dev] [PATCH 06/11] net/bnxt: aggregated ulp mapper create arguments to single structure

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom The changes are to the ulp mapper flow_create, the API changed to take the bnxt_ulp_mapper_create_parms structure instead of individual fields. Reviewed-by: Venkat Duvvuru Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c

[dpdk-dev] [PATCH 02/11] net/bnxt: allow usage of more resources in flow db

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom Allow the flow db resources to be more effectively utilized. Reviewed-by: Kishore Padmanabha Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers

[dpdk-dev] [PATCH 03/11] net/bnxt: Added flow database resource iteration API

2020-04-15 Thread Venkat Duvvuru
From: Kishore Padmanabha This API can be used to iterate individual resource functions in the flow database. Reviewed-by: Michael Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 66

[dpdk-dev] [PATCH 04/11] net/bnxt: added type of resource name to debug messages

2020-04-15 Thread Venkat Duvvuru
From: Mike Baucom Added the name of the resource to the index/result and key/mask common builder functions. Reviewed-by: Kishore Padmanabha Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 61 1 file

[dpdk-dev] [PATCH 05/11] net/bnxt: aggregated ulp rte parser arguments to single structure

2020-04-15 Thread Venkat Duvvuru
From: Kishore Padmanabha The changes are to the ulp rte parser, the API are changed to take the parser param structure instead of individual fields. Reviewed-by: Venkat Duvvuru Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c

[dpdk-dev] [PATCH 08/11] net/bnxt: addition of session and function flow flush

2020-04-15 Thread Venkat Duvvuru
the device function is not the sole owner of the session, it deletes all the flows that are associated with that device function. Reviewed-by: Venkat Duvvuru Reviewed-by: Michael Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/bnxt.h

[dpdk-dev] [PATCH 07/11] net/bnxt: use hashing for flow template matching

2020-04-15 Thread Venkat Duvvuru
flow template. This change resulted in creation of computed fields to remove the fields that do not participate in the hash calculations. The field bitmap is created for this purpose. Reviewed-by: Venkat Duvvuru Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru --- drivers/net

[dpdk-dev] [PATCH 10/11] net/bnxt: cache table type added for tcam lookups

2020-04-15 Thread Venkat Duvvuru
mechanisms as other search tables, but the table type is set to a cache that mirrors the actual TCAM table. The allocated result fields are stored in the cache entry and can be used for subsequent searches in future tables. Reviewed-by: Venkat Duvvuru Signed-off-by: Mike Baucom Signed-off-by: Venkat

[dpdk-dev] [PATCH 09/11] net/bnxt: default identifiers added to ulp mapper

2020-04-15 Thread Venkat Duvvuru
default ids into blobs Reviewed-by: Venkat Duvvuru Signed-off-by: Mike Baucom Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/bnxt_ulp.c| 33 drivers/net/bnxt/tf_ulp/bnxt_ulp.h| 10 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 8 +- drivers/net/bnxt

[dpdk-dev] [PATCH 11/11] net/bnxt: addition of the port database

2020-04-15 Thread Venkat Duvvuru
From: Kishore Padmanabha The port database is a repository of the port details it is used by the ulp code to query any port related details. Reviewed-by: Mike Baucom Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru --- drivers/net/bnxt/Makefile | 1

[dpdk-dev] [PATCH 3/5] net/bnxt: ulp modifications for handling actions/index tables

2020-04-24 Thread Venkat Duvvuru
: Kishore Padmanabha Reviewed-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 30 +++--- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index dc7b7ca..9ea6fdb 100644

[dpdk-dev] [PATCH 0/5] introduce changes to support flow scaling

2020-04-24 Thread Venkat Duvvuru
This patchset introduces changes to the action record allocation, flow database entry deletion, and hw flow cache updates. Action record allocation now allows the actions to scale with the flows. Additionally, resources attached to a flow database entry are now correctly released when the critical

[dpdk-dev] [PATCH 1/5] net/bnxt: reserve a flowdb resource function as invalid

2020-04-24 Thread Venkat Duvvuru
From: Mike Baucom The resource function did not have a method of invalidating or indicating that a resource is uninitialized. Added an invalid enum so that processing works correctly for partially added flows. Signed-off-by: Mike Baucom Reviewed-by: Kishore Padmanabha Reviewed-by: Ajit Kumar

[dpdk-dev] [PATCH 2/5] net/bnxt: action record external pool updates

2020-04-24 Thread Venkat Duvvuru
From: Farah Smith - Added support variable sized action records - Additional error checking on table scope params - Single external pool supported per direction - Changed to return action record pointer - Allows action pool to fully utilize the number of flows Signed-off-by: Farah Smith Signed-

[dpdk-dev] [PATCH 5/5] net/bnxt: ulp must set hw flow cache timer when allocating table scope

2020-04-24 Thread Venkat Duvvuru
From: Mike Baucom The tf_alloc_tbl_scope API now accepts a timer interval for flushing the hw flow cache. The flush timer is necessary in order to refresh the flow table. Signed-off-by: Mike Baucom Reviewed-by: Venkat Duvvuru --- drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 6 ++ 1 file changed

[dpdk-dev] [PATCH 4/5] net/bnxt: add truflow flush-timer to alloc table scope API

2020-04-24 Thread Venkat Duvvuru
From: Shahaji Bhosle Updated the params list to include flush timer, this will allow users to set the HW flush timer value in 10th of second. Setting 0 will disable the pending cache flush feature. Signed-off-by: Shahaji Bhosle Signed-off-by: Randy Schacher Signed-off-by: Venkat Duvvuru

[dpdk-dev] [PATCH] net/bnxt: mark handling needs to look at meta_fmt instead of meta data

2020-04-30 Thread Venkat Duvvuru
From: Mike Baucom The current mark handling uses the meta data field of the rxcmp as the first level check for determining gfid vs lfid. When the meta data is zero due to only the lowest 16bits of the gfid being set, the cfa code is incorrectly interpreted as being an lfid. Changing code to loo

[dpdk-dev] [PATCH v2 02/34] net/bnxt: update hwrm prep to use ptr

2020-04-13 Thread Venkat Duvvuru
From: Randy Schacher - Change HWRM_PREP to use pointer and use the full HWRM enum Signed-off-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt.h | 2 +- drivers/net/bnxt/bnxt_hwrm.c | 200 +-- 2 files changed, 101 in

[dpdk-dev] [PATCH v2 03/34] net/bnxt: add truflow message handlers

2020-04-13 Thread Venkat Duvvuru
From: Pete Spreadborough - Add bnxt message functions for truflow APIs Signed-off-by: Pete Spreadborough Signed-off-by: Randy Schacher Reviewed-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 83 drivers/n

[dpdk-dev] [PATCH v2 00/34] add support for host based flow table management

2020-04-13 Thread Venkat Duvvuru
y 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/b

[dpdk-dev] [PATCH v2 06/34] net/bnxt: add tf core session sram functions

2020-04-13 Thread Venkat Duvvuru
From: Michael Wildt - Add TruFlow session resource support functionality - Add TruFlow session hw flush capability as well as sram support functions. - Add resource definitions for session pools. Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde ---

[dpdk-dev] [PATCH v2 05/34] net/bnxt: add initial tf core session close support

2020-04-13 Thread Venkat Duvvuru
From: Michael Wildt - Add TruFlow session and resource support functions - Add Truflow session close API and related message support functions for both session and hw resources Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Ma

[dpdk-dev] [PATCH v2 04/34] net/bnxt: add initial tf core session open

2020-04-13 Thread Venkat Duvvuru
From: Michael Wildt - Add infrastructure support - Add tf_core open session support Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/Makefile| 8 + drivers/net/bnxt/bnxt.h | 4 + drivers/net/bn

[dpdk-dev] [PATCH v2 11/34] net/bnxt: add tf core table scope support

2020-04-13 Thread Venkat Duvvuru
From: Farah Smith - Added TruFlow Table public API - Added Table Scope capability including Table Type support code for setting and getting Table Types. Signed-off-by: Farah Smith Signed-off-by: Michael Wildt Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnx

[dpdk-dev] [PATCH v2 10/34] net/bnxt: add tf core TCAM support

2020-04-13 Thread Venkat Duvvuru
From: Shahaji Bhosle - Add TruFlow TCAM public API functions - Add TCAM support functions as well as public APIs. Signed-off-by: Shahaji Bhosle Signed-off-by: Jay Ding Reviewed-by: Randy Schacher Reviewed-by: Ajit Kumar Khaparde --- drivers/net/bnxt/tf_core/tf_core.c | 163 +

<    1   2   3   >