|
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 |
|
| #
32580839 |
| 03-Nov-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support inner IP header for GRE tunnel flows
This change allows adding IP header matches for GRE flows that does not specify outer IP header in the flow match pattern.
Signed-off-by: Kish
net/bnxt: support inner IP header for GRE tunnel flows
This change allows adding IP header matches for GRE flows that does not specify outer IP header in the flow match pattern.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Randy Schacher <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
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 ...
|
|
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 ...
|
| #
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 ...
|
| #
7891de8d |
| 30-May-2021 |
Venkat Duvvuru <[email protected]> |
net/bnxt: support GRE flows
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 V
net/bnxt: support GRE flows
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: Venkat Duvvuru <[email protected]> Reviewed-by: Somnath Kotur <[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 ...
|
| #
59ae4961 |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add conditional goto processing
The condition execute of the mapper tables have goto field that defines the offset of the next table to be processed instead of sequential processing of the
net/bnxt: add conditional goto processing
The condition execute of the mapper tables have goto field that defines the offset of the next table to be processed instead of sequential processing of the tables, this improving the performance. Also, modify key and mask field opcode processing
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 ...
|
| #
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 ...
|
| #
835731f6 |
| 30-May-2021 |
Venkat Duvvuru <[email protected]> |
net/bnxt: modify VXLAN decap for multichannel mode
The driver is using physical port id as the index into the tunnel inner flow table. However, this will not work in case of multichannel mode where
net/bnxt: modify VXLAN decap for multichannel mode
The driver is using physical port id as the index into the tunnel inner flow table. However, this will not work in case of multichannel mode where multiple physical functions are going to share the same physical port id.
When tunnel inner flow offload request comes before tunnel outer flow offload request, the driver caches the tunnel inner flow details and programs it in the hardware after installing the tunnel outer flow in the hardware. If more than one tunnel inner flow arrives before tunnel outer flow is offloaded, the driver rejects any such tunnel inner flow offload requests.
This 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 <[email protected]> Reviewed-by: Shahaji Bhosle <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
5952b1cc |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: modify TCAM opcode processing
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 f
net/bnxt: modify TCAM opcode processing
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 <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
c5d06df4 |
| 30-May-2021 |
Mike Baucom <[email protected]> |
net/bnxt: add conditional processing of templates
Conditional execution and rejection processing added for templates and tables. This allows the mapper to skip tables and reject templates based on
net/bnxt: add conditional processing of templates
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 <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|