|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1 |
|
| #
cf21c2d3 |
| 13-Oct-2021 |
Ferruh Yigit <[email protected]> |
net/bnxt: fix build with debug macro
Setting 'RTE_LIBRTE_BNXT_TRUFLOW_DEBUG' macro cause build error, removing it.
Also with meson build system compile time debug macros should be documented in dri
net/bnxt: fix build with debug macro
Setting 'RTE_LIBRTE_BNXT_TRUFLOW_DEBUG' macro cause build error, removing it.
Also with meson build system compile time debug macros should be documented in driver documentation, since there is no other way to figure out their existence.
Fixes: ad9eed0248ad ("net/bnxt: support flow template for Thor") Cc: [email protected]
Signed-off-by: Ferruh Yigit <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
dbd29c42 |
| 20-Sep-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add enhancements to TruFlow ULP
1. Added support to specify l4 port masks in the template. Also enabled source mac in the wild card key for ingress flows.
2. Added support to enable of
net/bnxt: add enhancements to TruFlow ULP
1. Added support to specify l4 port masks in the template. Also enabled source mac in the wild card key for ingress flows.
2. Added support to enable offload for ipv6 traffic within the vxlan tunnel connection.
3. The flow counters is reduced from 7168 to 6912 for Whitney. The stats operation is updated to reflect counts for packets at egress from CFA instead of ingress to CFA
4. The miss path for the l2 context table is updated with correct parif and default action handler to handle the miss path for egress flows.
5. This support enables allocation of encapsulation, modification and action records dynamically based on a given flow actions.
6. Reduce the l2context resource requests during open_session. Move the SMAC from the L2Context to the EM/WM
7. Remap the parif in the bd action in order to eliminate incorrect replication of broadcast packets. The layer 4 source port mask was incorrectly updated in the outer layer 4 source port mask instead of inner layer 4. Add the l3 proto to egress rules, switch to using computed fields for l4 ports, add internal smac to f1/f2 flows, add l3 proto to ingress ipv6 flows
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Mike Baucom <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
2730e7f9 |
| 20-Sep-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add flow templates for Thor
1. Add support for egress flows with port and count action for Thor platform. 2. Added templates to support VXLAN encapsulation feature for Thor. 3. Added su
net/bnxt: add flow templates for Thor
1. Add support for egress flows with port and count action for Thor platform. 2. Added templates to support VXLAN encapsulation feature for Thor. 3. Added support for VXLAN decap and VLAN pop actions along with the ingress flow. 4. Added templates to enable VXLAN decap support for f1 and f2 flows. 5. Added templates Thor VF Rep support 6. Added Thor ingress mod table actions for NAT, NAPT, and TTL. 7. Added mirror/sample table support 8. Added supported for IPv6 flows for Thor.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Mike Baucom <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
1f7f7c3c |
| 20-Sep-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add wildcard TCAM byte order for Thor
The wild card TCAM for Thor platform is different from the profile TCAM byte order.
Signed-off-by: Kishore Padmanabha <[email protected]
net/bnxt: add wildcard TCAM byte order for Thor
The wild card TCAM for Thor platform is different from the profile TCAM byte order.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Shuanglin Wang <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
f63aa27d |
| 20-Sep-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support dynamic encap action
The encapsulation record processing is enhanced to handle data dynamically. Different combinations of VXLAN encapsulation using no VLAN or single or double VLA
net/bnxt: support dynamic encap action
The encapsulation record processing is enhanced to handle data dynamically. Different combinations of VXLAN encapsulation using no VLAN or single or double VLAN can be supported and also supports both IPv4 and IPv6 versions.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Acked-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
bdf4a3c6 |
| 20-Sep-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support tunnel offload
Add support for tunnel offload APIs. Specifically the following are supported. tunnel_decap_set, tunnel_match, tunnel_action_decap_release, tunnel_item_release.
Thi
net/bnxt: support tunnel offload
Add support for tunnel offload APIs. Specifically the following are supported. tunnel_decap_set, tunnel_match, tunnel_action_decap_release, tunnel_item_release.
This provides support for VXLAN decap action where two flows can indicate tunnel offload rule. The first flow indicates the tunnel properties and second flow indicates the inner packet structure. The templates are updated to support this feature.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Acked-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
ad9eed02 |
| 20-Sep-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support flow template for Thor
Template adds non-VFR based support for testpmd with: matches to include - DMAC, SIP, DIP, Proto, Sport, Dport - SIP, DIP, Proto, Sport, Dport actions: - cou
net/bnxt: support flow template for Thor
Template adds non-VFR based support for testpmd with: matches to include - DMAC, SIP, DIP, Proto, Sport, Dport - SIP, DIP, Proto, Sport, Dport actions: - count, drop
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Acked-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
c6d273e9 |
| 20-Sep-2021 |
Farah Smith <[email protected]> |
net/bnxt: update TruFlow core index table
Update the TruFlow core index table and remove unused shadow table functionality.
Signed-off-by: Farah Smith <[email protected]> Reviewed-by: Peter
net/bnxt: update TruFlow core index table
Update the TruFlow core index table and remove unused shadow table functionality.
Signed-off-by: Farah Smith <[email protected]> Reviewed-by: Peter Spreadborough <[email protected]> Acked-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
72d7b595 |
| 08-Jul-2021 |
Ajit Khaparde <[email protected]> |
net/bnxt: fix build
Fix build failures seen on Fedora Core 34 (GCC 11) because of uninitialized variables.
In function ‘ulp_mapper_index_tbl_process’: drivers/net/bnxt/tf_ulp/ulp_mapper.c:2252:43:
net/bnxt: fix build
Fix build failures seen on Fedora Core 34 (GCC 11) because of uninitialized variables.
In function ‘ulp_mapper_index_tbl_process’: drivers/net/bnxt/tf_ulp/ulp_mapper.c:2252:43: error: ‘*(unsigned int *)((char *)&glb_res + offsetof(struct bnxt_ulp_glb_resource_info, resource_func))’ may be used uninitialized in this function 2252 | struct bnxt_ulp_glb_resource_info glb_res; | ^~~~~~~ drivers/net/bnxt/tf_ulp/ulp_mapper.c:2252:43: error: ‘glb_res.resource_type’ may be used uninitialized in this function
In function ‘dpool_defrag’: drivers/net/bnxt/tf_core/dpool.c:95:18: error: ‘index’ may be used uninitialized in this function 95 | uint32_t index; | ^~~~~
Fixes: 05b405d58148 ("net/bnxt: add dpool allocator for EM allocation")
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
1993b267 |
| 30-May-2021 |
Shahaji Bhosle <[email protected]> |
net/bnxt: cleanup ULP parser and mapper
1. Disable accum_stats for Thor 2. Delete the generic port table for default flow 3. The packet mask to calculate the number of packets must be 28 bits. 4. In
net/bnxt: cleanup ULP parser and mapper
1. Disable accum_stats for Thor 2. Delete the generic port table for default flow 3. The packet mask to calculate the number of packets must be 28 bits. 4. Increase the WC TCAM entries to 512 per application and add 2 shared L2 context TCAM entries to match identifiers for flow scaling 5. Ignore multiple critical resources in ULP flow database 6. Renamed conditional code update to function opcode. 7. Updated TRUFLOW debug logs to support the above changes. 8. As part of the HA cleanup, the shared session name now allows the user to designate that the session uses the wc_tcam regions within the shared session. 9. The CFA action pointer does not exist if there is no support for VF representor, so no need to display the message for use case where there is no support for VF representors. 10. Cleanup flow counter software accumulation. 11. When an application exits ungracefully, the HA code now clears the appropriate shared WC region and sets the HA state. 12. Removal of unnecessary INFO message. The message is an indicator that the ports are being removed from DPDK, but all cleanup has not completed. Once the cleanup is completed, the timer will be stopped.
Signed-off-by: Shahaji Bhosle <[email protected]> Signed-off-by: Mike Baucom <[email protected]> Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
3184b1ef |
| 30-May-2021 |
Mike Baucom <[email protected]> |
net/bnxt: add HA support in ULP
Add the ability for cooperative applications to share resources and use the high availability functionality in the HW.
Signed-off-by: Mike Baucom <michael.baucom@bro
net/bnxt: add HA support in ULP
Add the ability for cooperative applications to share resources and use the high availability functionality in the HW.
Signed-off-by: Mike Baucom <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
19994cc7 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add templates for shared sessions
1. Add template support for shared sessions. 2. Store the shared session flag in flow data base. 3. Store WC TCAM region in the computational field.
Sign
net/bnxt: add templates for shared sessions
1. Add template support for shared sessions. 2. Store the shared session flag in flow data base. 3. Store WC TCAM region in the computational field.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
6b70a956 |
| 30-May-2021 |
Mike Baucom <[email protected]> |
net/bnxt: process resource lists before session open
Shared sessions require both named and unnamed resources to be requested during a tf_open_session. ULP uses named resources for global resources
net/bnxt: process resource lists before session open
Shared sessions require both named and unnamed resources to be requested during a tf_open_session. ULP uses named resources for global resources that are pre-allocated and remain through the life of the application. Unnamed resources are generally per flow resources and 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 <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
5b73c859 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support application ID in ULP matcher
The application id in the ULP matcher makes the template matching restrict to only flows that are supported for that application.
Signed-off-by: Kish
net/bnxt: support application ID in ULP matcher
The application id in the ULP matcher makes the template matching restrict to only flows that are supported for that application.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
286569d5 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add field opcodes in ULP
Add field opcodes that perform logical evaluation of multiple conditions. Also add more logging especially in error path.
Signed-off-by: Kishore Padmanabha <kisho
net/bnxt: add field opcodes in ULP
Add field opcodes that perform logical evaluation of multiple conditions. Also add more logging especially in error path.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
c6062ec0 |
| 30-May-2021 |
Mike Baucom <[email protected]> |
net/bnxt: add shared session support to ULP
Shared session permits cooperative sharing of prescribed resources between applications.
- devargs added for app-id in order to enable sharing session
net/bnxt: add shared session support to ULP
Shared session permits cooperative sharing of prescribed resources between applications.
- devargs added for app-id in order to enable sharing session resources across applications - shared session management added - TRUFLOW resource reservations are now app ID and device dependent
Signed-off-by: Mike Baucom <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
741172be |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: refactor flow parser in ULP
1. Remove Ether type, VLAN type and IP proto type from pattern matching, since the header bits can be used for matching. This reduces the class template signatu
net/bnxt: refactor flow parser in ULP
1. Remove Ether type, VLAN type and IP proto type from pattern matching, since the header bits can be used for matching. This reduces the class template signatures by a factor of 8.
2. Remove the wild card bit in the pattern matching since same template can be used for both exact and wild card entries.
3. The action record pointers have to use higher range to not collide with the firmware action record pointers. Hence reduced the number of action record pointers for Whitney platform.
4. The conditional update opcode provide functionality to reject flows for instance reject flows that do not adhere to flow signature match.
5. Added check to not populate protocol specifications if the protocol mask is null or zero.
6. Check that field array is not overrun.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
3fe124d2 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support Thor platform
1. Add templates to support Thor platform. 2. Flow counter manager is not enabled if no flow counters are configured. 3. Mark database is not enabled if mark actio
net/bnxt: support Thor platform
1. Add templates to support Thor platform. 2. Flow counter manager is not enabled if no flow counters are configured. 3. Mark database is not enabled if mark action is not supported. 4. Removed application to port default flow. 5. Add allocate and write for the global registry file. 6. Multiple default flow templates are combined to one. 7. Remove default loopback action record, this is required in order to support multiple platforms. 8. Enable port table support in the generic table. 9. remove global template table in order to support multiple platforms. 10. Add support to get parent VNIC from port table database. 11. VF representor action mark is made optional since not all configurations need representor support. 12. Add layer 4 ports to computational fields. 13. Update templates to support the above changes. 14. Add support for wildcard.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
0001cc58 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support generic hash table
Added support for generic table to enable search of keys that are larger than 16 bits using hash table.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@br
net/bnxt: support generic hash table
Added support for generic table to enable search of keys that are larger than 16 bits using hash table.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
ddaf0afa |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: refactor ULP mapper
1. The internal and external exact match table resource types is combined since the resource handle contains the encoded type whether it is internal or external exact m
net/bnxt: refactor ULP mapper
1. The internal and external exact match table resource types is combined since the resource handle contains the encoded type whether it is internal or external exact match entry.
2. When a flow doesn't hit the offloaded rules, the default action is to send it to the kernel (L2 driver interface). In order to do that, TRUFLOW must know the kernel interface's (PF's) default vnic id. This patch fetches the PF's default vnic id from the dpdk core and stores it in port database. It also stores the mac addr for the future usage. Renamed compute field for layer 4 port enums. Added support for port database opcode that can get port details like mac address which can then be populated in the l2 context entry.
3. Both active and default bit set need to considered to check if a specific flow type is enabled or not.
4. ulp mapper fetches the dpdk port id from the compute field index BNXT_ULP_CF_IDX_DEV_PORT_ID which is used to get the interface’s mac address eventually. However, the compute field array is not populated with dpdk port id at the index BNXT_ULP_CF_IDX_DEV_PORT_ID. The problem fixed by populating the compute field array correctly.
5. Some dpdk applications may accumulate the flow counters while some may not. In cases where the application is accumulating the counters the PMD need not do the accumulation itself and viceversa to report the correct flow counters.
6. Pointer to bp is added to open session parms to support shared session.
Signed-off-by: Venkat Duvvuru <[email protected]> Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Jay Ding <[email protected]> Reviewed-by: Lance Richardson <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Randy Schacher <[email protected]>
show more ...
|
| #
249feed2 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support extended exact match
The templates are updated to enable the extended exact match table support. As part of this change, the action record size of the action has to be calculated d
net/bnxt: support extended exact match
The templates are updated to enable the extended exact match table support. As part of this change, the action record size of the action has to be calculated dynamically so it can be included in the match table.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Farah Smith <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
10bbf293 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add partial header field processing
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 Padmanab
net/bnxt: add partial header field processing
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 <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
255add67 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: refactor TRUFLOW processing
1. The flow database opcode is updated to split the alloc push resource item so it can be controlled using the control table.
2. The class and action match sig
net/bnxt: refactor TRUFLOW processing
1. The flow database opcode is updated to split the alloc push resource item so it can be controlled using the control table.
2. The class and action match signatures are populated with pattern ids that are matched against template pattern id to reject any unsupported class and action combinations.
3. The flow DB opcode should be no op when accessing the global registry identifiers.
4. The resource function for branch is changed to control so that it is extended to perform flow database operations and not just branch operations.
5. The conditional goto processing now supports negative numbers to support looping of the mapper tables to support flow ranges and also enable conditional fail goto to support failure path mapper tables.
6. The field mapper opcode is updated to add all ones to fields that support exact match.
7. Added key info and identifier list to whitney action templates The whitney plus templates are updated to use the mapper infrastructure changes.
8. The partition interface table configuration of the default egress rule for the representor interface needs to use the reserved parif interface that is specific to each platform. The pipeline for the representor interface is broken since incorrect parif configuration cause the miss path packets to be dropped.
9. In the mapper table processing, if a failure condition is hit due to invalid memory type then use the conditional goto failure configuration instead of jumping to next table. This causes ipv6 exact match entry to be skipped. This patch fixes that issue.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
6167c20c |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add conditional opcode and L4 port fields
The conditional field opcode provides capability to perform changes to the field values specified by template to address platform specific modific
net/bnxt: add conditional opcode and L4 port fields
The conditional field opcode provides capability to perform changes to the field values specified by template to address platform specific modifications. For instance, mirror id value is modified before it is configured in the hardware.
The addition of L4 port compute fields enables support of generic exact match rule that can support both TCP and UDP flows with the same template.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
642e5ab3 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: set shared handle for generic table
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 li
net/bnxt: set shared handle for generic table
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 <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|