|
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 |
|
| #
6639a8b6 |
| 03-Nov-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: update log messages in TruFlow path
Some of the error level log messages are made debug level messages. When Truflow is not enabled then Truflow init error messages are moved to debug leve
net/bnxt: update log messages in TruFlow path
Some of the error level log messages are made debug level messages. When Truflow is not enabled then Truflow init error messages are moved to debug level instead.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: 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 ...
|
| #
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 ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
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 ...
|
| #
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 ...
|
| #
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 ...
|
| #
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 ...
|
| #
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 ...
|
| #
a2417601 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: identify duplicate flows
Conflict resolution feature allows rejection of flows based on the previously added flows that conflict. For instance, a five tuple flow is added and then you add
net/bnxt: identify duplicate flows
Conflict resolution feature allows rejection of flows based on the previously added flows that conflict. For instance, a five tuple flow is added and then you add a new flow with only 4 tuple instead having same layer2 details then it will be rejected.
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 ...
|
| #
9cbfa4cf |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add ULP priority opcode processing
Added ULP priority opcode to enable flexibility to the usage of the flow priority. New opcodes help template specify the flow priority accordingly.
Sign
net/bnxt: add ULP priority opcode processing
Added ULP priority opcode to enable flexibility to the usage of the flow priority. New opcodes help template specify the flow priority accordingly.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Douglas Flint <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2 |
|
| #
2addc463 |
| 27-Jan-2021 |
Ajit Khaparde <[email protected]> |
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Kalesh AP <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2 |
|
| #
8665487e |
| 01-Nov-2020 |
Venkat Duvvuru <[email protected]> |
net/bnxt: fix VXLAN decap offload
This patch fixes a couple of scenarios which were overlooked by the patch which added VXLAN rte_flow offload support.
1. When a PMD application queries for flow co
net/bnxt: fix VXLAN decap offload
This patch fixes a couple of scenarios which were overlooked by the patch which added VXLAN rte_flow offload support.
1. When a PMD application queries for flow counters, it could ask PMD to reset the counters when the application is doing the counters accumulation. In this case, PMD should not accumulate rather reset the counter.
2. Some of the PMD applications may set the protocol field in the IPv4 spec but don't set the mask. So, consider the mask in the proto value calculation.
4. The cached tunnel inner flow is not getting installed in the context of tunnel outer flow create because of the wrong error code check when tunnel outer flow is installed in the hardware.
5. When a dpdk application offloads the same tunnel inner flow on all the uplink ports, other than the first one the driver rejects the rest of them. However, the first tunnel inner flow request might not be of the correct physical port. This is fixed by caching the tunnel inner flow entry for 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: 675e31d877b6 ("net/bnxt: support VXLAN decap offload")
Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
675e31d8 |
| 26-Oct-2020 |
Venkat Duvvuru <[email protected]> |
net/bnxt: support VXLAN decap offload
VXLAN decap offload can happen in stages. The offload request may not come as a single flow request rather may come as two flow offload requests F1 & F2. This p
net/bnxt: support VXLAN decap offload
VXLAN decap offload can happen in stages. The offload request may not come as a single flow request rather may come as two flow offload requests F1 & F2. This patch is adding support for this two stage offload design. The match criteria for F1 is O_DMAC, O_SMAC, O_DST_IP, O_UDP_DPORT and actions are COUNT, MARK, JUMP. The match criteria for F2 is O_SRC_IP, O_DST_IP, VNI and inner header fields. F1 and F2 flow offload requests can come in any order. If F2 flow offload request comes first then F2 can’t be offloaded as there is no O_DMAC information in F2. In this case, F2 will be deferred until F1 flow offload request arrives. When F1 flow offload request is received it will have O_DMAC information. Using F1’s O_DMAC, driver creates an L2 context entry in the hardware as part of offloading F1. F2 will now use F1’s O_DMAC to get the L2 context id associated with this O_DMAC and other flow fields that are cached already at the time of deferring F2 for offloading. F2s that arrive after F1 is offloaded will be directly programmed and not cached.
Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
640bfd23 |
| 26-Oct-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add hierarchical flow counters
Add support for hierarchical flow counter accumulation. In case of hierarchical flows, involving parent and child flows, the child flow counters are aggregat
net/bnxt: add hierarchical flow counters
Add support for hierarchical flow counter accumulation. In case of hierarchical flows, involving parent and child flows, the child flow counters are aggregated to get the parent flow counter information. This should help in cases where one ore more flows is related to a previously offloaded flow.
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc1 |
|
| #
be8acb27 |
| 09-Oct-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add parent child flow create and free
Added support in the ULP mapper to enable parent child flow creation and destroy. This feature enables support for the vxlan decap functionality.
Sig
net/bnxt: add parent child flow create and free
Added support in the ULP mapper to enable parent child flow creation and destroy. This feature enables support for the vxlan decap functionality.
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
f4a4421c |
| 09-Oct-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support parent child flow database
Added support for parent child flow database apis. This feature adds support to enable vxlan decap support where flows needs to maintain parent-child flo
net/bnxt: support parent child flow database
Added support for parent child flow database apis. This feature adds support to enable vxlan decap support where flows needs to maintain parent-child flow relationship.
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
191f19ce |
| 09-Oct-2020 |
Mike Baucom <[email protected]> |
net/bnxt: support runtime EM selection
This patch adds support to select internal Exact Match vs External Exact Match support while loading the PMD. - Added new mem type conditional opcode for inter
net/bnxt: support runtime EM selection
This patch adds support to select internal Exact Match vs External Exact Match support while loading the PMD. - Added new mem type conditional opcode for internal/external - Adapted the flowdb resource counts based on selected mode - Template changes to use the new opcode - The decision for internal/external EM support is based on the devargs parameter max_num_kflows. If this is set, external EM is used.
Signed-off-by: Mike Baucom <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
30683082 |
| 09-Oct-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: combine default and regular flows
The default and regular flows are stored in the same flow table instead of different flow tables. This should help code reuse and reducing the number of a
net/bnxt: combine default and regular flows
The default and regular flows are stored in the same flow table instead of different flow tables. This should help code reuse and reducing the number of allocations. So combine default and regular flows in flow database.
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
6c7cbc80 |
| 11-Sep-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add locks in flow database
Added support for mutex protection for the flow database to prevent simultaneous access to flow database and protect flow creation and deletion.
Signed-off-by:
net/bnxt: add locks in flow database
Added support for mutex protection for the flow database to prevent simultaneous access to flow database and protect flow creation and deletion.
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
09b23f8b |
| 11-Sep-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: fix port stop process and cleanup resources
The port deinitialization now cleans up all the resources properly. If all the ports are stopped then ULP context is freed. Added fix to update
net/bnxt: fix port stop process and cleanup resources
The port deinitialization now cleans up all the resources properly. If all the ports are stopped then ULP context is freed. Added fix to update the correct tfp pointer in the ULP context with the changes to support multi control channels.
Fixes: 70e64b27af5b ("net/bnxt: support ULP session manager cleanup") Cc: [email protected]
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3 |
|
| #
769de168 |
| 23-Jul-2020 |
Venkat Duvvuru <[email protected]> |
net/bnxt: fix port default rule create/destroy
Currently, the flow_ids of port_to_app/app_to_port & tx_cfa_action for the first port are getting over-written by the second port because these fields
net/bnxt: fix port default rule create/destroy
Currently, the flow_ids of port_to_app/app_to_port & tx_cfa_action for the first port are getting over-written by the second port because these fields are stored in the ulp context which is common across the ports.
This patch fixes the problem by having per port structure to store these fields.
Fixes: 9f702636d7ba ("net/bnxt: add port default rules for ingress and egress")
Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]>
show more ...
|
|
Revision tags: v20.08-rc2, v20.08-rc1 |
|
| #
9cf9c838 |
| 02-Jul-2020 |
Somnath Kotur <[email protected]> |
net/bnxt: add ULP flow counter manager
The Flow counter manager allocates memory to hold the software view of the counters where the on-chip counter data will be accumulated along with another memor
net/bnxt: add ULP flow counter manager
The Flow counter manager allocates memory to hold the software view of the counters where the on-chip counter data will be accumulated along with another memory block that will be shadowing the on-chip counter data i.e where the raw counter data will be DMAed into from the chip. It also keeps track of the first HW counter ID as that will be needed to retrieve the counter data in bulk using a TF API. It issues this cmd in an rte_alarm thread that keeps running every second.
Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Venkat Duvvuru <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
bbc5f1a0 |
| 02-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support internal exact match entries
Added support for the internal exact match entries.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru
net/bnxt: support internal exact match entries
Added support for the internal exact match entries.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|