#
580fcb3d |
| 07-Nov-2024 |
Randy Schacher <stuart.schacher@broadcom.com> |
net/bnxt/tf_core: allocate TCAM entries dynamically
Previously, TCAM entries were allocated statically, but this takes up too much stack memory. Change the identifier for TCAM entries from an index
net/bnxt/tf_core: allocate TCAM entries dynamically
Previously, TCAM entries were allocated statically, but this takes up too much stack memory. Change the identifier for TCAM entries from an index which is tied to the HW location, to an abstract entry ID associated with the session.
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
19f3ac61 |
| 07-Nov-2024 |
Shuanglin Wang <shuanglin.wang@broadcom.com> |
net/bnxt/tf_core: support flow scale query
TF supports the flow scale query feature for OVS application. The resource usage is tracked when opening a TF session or adding/deleting a flow. The resour
net/bnxt/tf_core: support flow scale query
TF supports the flow scale query feature for OVS application. The resource usage is tracked when opening a TF session or adding/deleting a flow. The resources includes WC TCAM, EM, Action, Counter, Meter, ACT_ENCAP, ACT_ENCAP, and SP_SMAC. User can query the resource usage using niccli.
Several improvements on flow scale query feature: 1. Some default rules require both RX and TX resources; need to update usage states on both directions. 2. Update resource usage state for regular flows only. 3. Added a buffer dirty state to avoid unnecessary state sync with firmware.
This feature is disabled by default. Using the build flag -DTF_FLOW_SCALE_QUERY to enable it.
Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
show more ...
|
#
97435d79 |
| 21-Apr-2023 |
Randy Schacher <stuart.schacher@broadcom.com> |
net/bnxt: update Truflow core
Update TruFlow core code to: - Add shared session management - Add SRAM session management - Add dynamic TCAM management - Add shared TCAM session management - Add Hot
net/bnxt: update Truflow core
Update TruFlow core code to: - Add shared session management - Add SRAM session management - Add dynamic TCAM management - Add shared TCAM session management - Add Hot Upgrade support - Update copyright year
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
0d63f20a |
| 21-Apr-2023 |
Randy Schacher <stuart.schacher@broadcom.com> |
net/bnxt: remove deprecated features
- Deprecate shadow identifier - Deprecate shadow TCAM - Remove files which are not needed anymore.
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com>
net/bnxt: remove deprecated features
- Deprecate shadow identifier - Deprecate shadow TCAM - Remove files which are not needed anymore.
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
a2dfcd1f |
| 24-Feb-2022 |
Weiguo Li <liwg06@foxmail.com> |
net/bnxt: fix null dereference in session cleanup
In tf_session_create(), there is a case that with 'tfp->session' still be NULL and run 'goto cleanup', which will leads to a null dereference by 'tf
net/bnxt: fix null dereference in session cleanup
In tf_session_create(), there is a case that with 'tfp->session' still be NULL and run 'goto cleanup', which will leads to a null dereference by 'tfp_free(tfp->session->core_data)' in the cleanup.
Fixes: a46bbb57605b ("net/bnxt: update multi device design") Cc: stable@dpdk.org
Signed-off-by: Weiguo Li <liwg06@foxmail.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
e90df01c |
| 16-Nov-2021 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: remove settings for multiple session
Move wc_tcam_slices_per_row and database structure of global_cfg and if_tbl to session structure to support multiple TruFlow sessions with different ca
net/bnxt: remove settings for multiple session
Move wc_tcam_slices_per_row and database structure of global_cfg and if_tbl to session structure to support multiple TruFlow sessions with different card type under single DPDK application instance.
Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
37ff91c1 |
| 20-Sep-2021 |
Farah Smith <farah.smith@broadcom.com> |
net/bnxt: add SRAM manager model
The SRAM manager supports allocation and free of variable sized records within SRAM memory. These record sizes are 8, 16, 32, or 64B. The SRAM manager algorithm wil
net/bnxt: add SRAM manager model
The SRAM manager supports allocation and free of variable sized records within SRAM memory. These record sizes are 8, 16, 32, or 64B. The SRAM manager algorithm will not fragment memory during run time. Previous implementation only included fixed size 64B records regardless of the size required.
Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
e32312d1 |
| 30-May-2021 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: support WC TCAM shared session
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
net/bnxt: support WC TCAM shared session
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 <jay.ding@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
b08e34cd |
| 30-May-2021 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: refactor host session failure cleanup
- Close FW session if session open fails after Fw session open. - Additional WC TCAM debug info to help in future debug - Reduce key/mask buffer sizes
net/bnxt: refactor host session failure cleanup
- Close FW session if session open fails after Fw session open. - Additional WC TCAM debug info to help in future debug - Reduce key/mask buffer sizes for performance - When a 64b counter is freed, clear the entry
Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Farah Smith <farah.smith@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
83680d37 |
| 30-May-2021 |
Farah Smith <farah.smith@broadcom.com> |
net/bnxt: support WC TCAM management
- Add new API to move WC TCAM regions from the hi pool to the low pool. - Enable shared TCAM get/set functions on Thor.
Signed-off-by: Farah Smith <farah.smit
net/bnxt: support WC TCAM management
- Add new API to move WC TCAM regions from the hi pool to the low pool. - Enable shared TCAM get/set functions on Thor.
Signed-off-by: Farah Smith <farah.smith@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
1678535b |
| 30-May-2021 |
Farah Smith <farah.smith@broadcom.com> |
net/bnxt: cleanup logs in session handling paths
Cleanup some of the log messages in the session open and close paths.
Signed-off-by: Farah Smith <farah.smith@broadcom.com> Signed-off-by: Jay Ding
net/bnxt: cleanup logs in session handling paths
Cleanup some of the log messages in the session open and close paths.
Signed-off-by: Farah Smith <farah.smith@broadcom.com> Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
b97763fc |
| 30-May-2021 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: update shared session functionality
- Distinguish the shared session on host side using PCI address - One session could be shared by multiple interfaces.
Signed-off-by: Jay Ding <jay.ding
net/bnxt: update shared session functionality
- Distinguish the shared session on host side using PCI address - One session could be shared by multiple interfaces.
Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
873661aa |
| 30-May-2021 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: support shared session
There are 2 types of sessions - shared and non-shared. For non-shared all the allocated resources are owned and managed by a single session instance. No other appli
net/bnxt: support shared session
There are 2 types of sessions - shared and non-shared. For non-shared all the allocated resources are owned and managed by a single session instance. No other applications have access to the resources owned by the non-shared session. For a shared session, resources are shared between 2 applications.
The FW shared session can only be created by one application and shared by other apps. The host session that creates the FW shared session is the creator.
Applications can retrieve the reserved resources through a new API tf_get_session_resc_info.
Each module supports two sessions, one is shared session, the other is non-shared session.
Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
08e1af1a |
| 30-May-2021 |
Farah Smith <farah.smith@broadcom.com> |
net/bnxt: modify TRUFLOW HWRM messages
- Move Bulk get to a direct HWRM message - Deprecate code based on HCAPI changes
Signed-off-by: Farah Smith <farah.smith@broadcom.com> Signed-off-by: Peter Sp
net/bnxt: modify TRUFLOW HWRM messages
- Move Bulk get to a direct HWRM message - Deprecate code based on HCAPI changes
Signed-off-by: Farah Smith <farah.smith@broadcom.com> Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
fe00aacb |
| 30-May-2021 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: check resource reservation in TRUFLOW
- Allow tf_open to continue if no resource is allocated for some table type. - Close the session if binding fails for any table. - Close the session
net/bnxt: check resource reservation in TRUFLOW
- Allow tf_open to continue if no resource is allocated for some table type. - Close the session if binding fails for any table. - Close the session if no resource is allocated for all tables.
Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
3d3ab7df |
| 30-May-2021 |
Peter Spreadborough <peter.spreadborough@broadcom.com> |
net/bnxt: add mailbox selection via device operation
Add get mailbox dev op so that mailbox offset is based on device instead of a hard coded value.
Signed-off-by: Peter Spreadborough <peter.spread
net/bnxt: add mailbox selection via device operation
Add get mailbox dev op so that mailbox offset is based on device instead of a hard coded value.
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
2addc463 |
| 27-Jan-2021 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
98487d72 |
| 06-Jul-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: cleanup and refactor session management
The return value of some functions is explicitly ignored in cases where scope id may not be valid for internal EM entries. Additional minor refactor
net/bnxt: cleanup and refactor session management
The return value of some functions is explicitly ignored in cases where scope id may not be valid for internal EM entries. Additional minor refactoring and cleanups - Change log level for some log messages to DEBUG instead of ERR. - Check data size conformity and log appropriate message.
Signed-off-by: Michael Wildt <michael.wildt@broadcom.com> Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
aa2be509 |
| 02-Jul-2020 |
Michael Wildt <michael.wildt@broadcom.com> |
net/bnxt: add TF register and unregister
- Add TF register/unregister support. Session got session clients to keep track of the ctrl-channels/function. - Add support code to tfp layer
Signed-off-
net/bnxt: add TF register and unregister
- Add TF register/unregister support. Session got session clients to keep track of the ctrl-channels/function. - Add support code to tfp layer
Signed-off-by: Michael Wildt <michael.wildt@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
f3502f5c |
| 02-Jul-2020 |
Jay Ding <jay.ding@broadcom.com> |
net/bnxt: implement IF tables set and get
- Implement set/get for PROF_SPIF_CTXT, LKUP_PF_DFLT_ARP, PROF_PF_ERR_ARP with tunneled HWRM messages - Add IF table for PROF_PARIF_DFLT_ARP - Fix page si
net/bnxt: implement IF tables set and get
- Implement set/get for PROF_SPIF_CTXT, LKUP_PF_DFLT_ARP, PROF_PF_ERR_ARP with tunneled HWRM messages - Add IF table for PROF_PARIF_DFLT_ARP - Fix page size offset in the HCAPI code - Fix Entry offset calculation
Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
eee264ad |
| 02-Jul-2020 |
Michael Wildt <michael.wildt@broadcom.com> |
net/bnxt: update RM with residual checker
- Add residual checker to the TF Host RM as well as new RM APIs. On close it will scan the DB and check of any remaining elements. If found they will be
net/bnxt: update RM with residual checker
- Add residual checker to the TF Host RM as well as new RM APIs. On close it will scan the DB and check of any remaining elements. If found they will be logged and FW msg sent for FW to scrub that specific type of resources. - Update the module bind to be aware of the module type, for each of the modules. - Add additional type 2 string util functions. - Fix the device naming to be in compliance with TF. - Update the device unbind order as to assure TCAMs gets flushed first. - Update the close functionality such that the session gets closed after the device is unbound.
Signed-off-by: Michael Wildt <michael.wildt@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
48d3dff2 |
| 02-Jul-2020 |
Michael Wildt <michael.wildt@broadcom.com> |
net/bnxt: support multiple device
Implement the Identifier, Table Type and the Resource Manager modules. Integrate Resource Manager with HCAPI. Update open/close session. Move to direct msgs for qca
net/bnxt: support multiple device
Implement the Identifier, Table Type and the Resource Manager modules. Integrate Resource Manager with HCAPI. Update open/close session. Move to direct msgs for qcaps and resv messages.
Signed-off-by: Michael Wildt <michael.wildt@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
a46bbb57 |
| 02-Jul-2020 |
Michael Wildt <michael.wildt@broadcom.com> |
net/bnxt: update multi device design
- Implement the modules RM, Device (WH+), Identifier. - Update Session module. - Implement new HWRMs for RM direct messaging. - Add new parameter check macro's a
net/bnxt: update multi device design
- Implement the modules RM, Device (WH+), Identifier. - Update Session module. - Implement new HWRMs for RM direct messaging. - Add new parameter check macro's and clean up the header includes for i.e. tfp such that bnxt.h is not directly included in the new modules. - Add cfa_resource_types, required for RM design.
Signed-off-by: Michael Wildt <michael.wildt@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
8187694b |
| 02-Jul-2020 |
Michael Wildt <michael.wildt@broadcom.com> |
net/bnxt: support multi device
Introduce new modules for Device, Resource Manager, Identifier, Table Types, and TCAM for multi device support.
Signed-off-by: Michael Wildt <michael.wildt@broadcom.c
net/bnxt: support multi device
Introduce new modules for Device, Resource Manager, Identifier, Table Types, and TCAM for multi device support.
Signed-off-by: Michael Wildt <michael.wildt@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|