|
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 |
|
| #
640b44aa |
| 13-Oct-2021 |
Andrew Rybchenko <[email protected]> |
net/bnxt: support meta flow actions to overrule destinations
Add support for actions PORT_REPRESENTOR and REPRESENTED_PORT based on the existing support for action PORT_ID.
Signed-off-by: Andrew Ry
net/bnxt: support meta flow actions to overrule destinations
Add support for actions PORT_REPRESENTOR and REPRESENTED_PORT based on the existing support for action PORT_ID.
Signed-off-by: Andrew Rybchenko <[email protected]>
show more ...
|
| #
a8321e09 |
| 13-Oct-2021 |
Andrew Rybchenko <[email protected]> |
net/bnxt: support meta flow items to match on traffic source
Add support for items PORT_REPRESENTOR and REPRESENTED_PORT based on the existing support for item PORT_ID.
The use of item PORT_ID depe
net/bnxt: support meta flow items to match on traffic source
Add support for items PORT_REPRESENTOR and REPRESENTED_PORT based on the existing support for item PORT_ID.
The use of item PORT_ID depends on the specified direction attribute. Items PORT_REPRESENTOR and REPRESENTED_PORT, in turn, define traffic direction themselves. The former matches traffic from the driver's vNIC. The latter matches packets from either a v-port (network) or a VF's vNIC (if the driver's port is a VF representor).
Signed-off-by: Andrew Rybchenko <[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 ...
|
| #
a4d4308e |
| 30-May-2021 |
Kishore Padmanabha <[email protected]> |
net/bnxt: add ICMPv6 parser to ULP
This patch adds support for parsing rte_flow items for ICMPv6 flows.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duv
net/bnxt: add ICMPv6 parser to ULP
This patch adds support for parsing rte_flow items for ICMPv6 flows.
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 ...
|
| #
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 ...
|
| #
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 ...
|
|
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 |
|
| #
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 ...
|
| #
c97a47ec |
| 26-Oct-2020 |
Venkat Duvvuru <[email protected]> |
net/bnxt: add VXLAN decap templates
Templates for outer tunnel & inner tunnel flow are added in this patch. This will be used by subsequent patches to implement support for VXLAN decap rte_flow offl
net/bnxt: add VXLAN decap templates
Templates for outer tunnel & inner tunnel flow are added in this patch. This will be used by subsequent patches to implement support for VXLAN decap rte_flow offload.
Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
188bf91d |
| 26-Oct-2020 |
Venkat Duvvuru <[email protected]> |
net/bnxt: refactor flow id allocation
Currently, the flow id is allocated inside ulp_mapper_flow_create. However with vxlan decap feature if F2 flow comes before F1 flow then F2 is cached and not re
net/bnxt: refactor flow id allocation
Currently, the flow id is allocated inside ulp_mapper_flow_create. However with vxlan decap feature if F2 flow comes before F1 flow then F2 is cached and not really installed in the hardware which means the code will return without calling ulp_mapper_flow_create. But, ULP has to still return valid flow id to the stack. Hence, move the flow id allocation outside ulp_mapper_flow_create.
Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc1 |
|
| #
9238ac2a |
| 11-Sep-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: enable VXLAN IPv6 encapsulation
Add code to support vxlan ipv6 tunnel encapsulation. The ipv6 flow traffic class and flow label wild card match can be ignored to support offload on some ap
net/bnxt: enable VXLAN IPv6 encapsulation
Add code to support vxlan ipv6 tunnel encapsulation. The ipv6 flow traffic class and flow label wild card match can be ignored to support offload on some applications.
Signed-off-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2 |
|
| #
6af7e459 |
| 15-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support decrement TTL action
Added support for decrement TTL action.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <somnath.kotur@broadc
net/bnxt: support decrement TTL action
Added support for decrement TTL action.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v20.08-rc1 |
|
| #
ce023cf9 |
| 06-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support src and dst port actions
Added support for set transport port source and destination rewrite action items. This allows changing the tcp or udp source/destination ports for a given
net/bnxt: support src and dst port actions
Added support for set transport port source and destination rewrite action items. This allows changing the tcp or udp source/destination ports for a given flow.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
2951f7f3 |
| 06-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support NAT action items
Added support for set ipv4 address action items. It allows the source or destination ip address to be changed for a given flow.
Signed-off-by: Kishore Padmanabha
net/bnxt: support NAT action items
Added support for set ipv4 address action items. It allows the source or destination ip address to be changed for a given flow.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
77b359ee |
| 06-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: change port config for full offload
Added port configuration changes to support full offload rules when VF representor ports are used. The direction of the flow is determined using the con
net/bnxt: change port config for full offload
Added port configuration changes to support full offload rules when VF representor ports are used. The direction of the flow is determined using the configured direction and the configured match and action ports of the flow create.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
14f260c0 |
| 06-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: enable PF and VF port action items
Added support for the PF and VF port action items in the flow create. During flow create the output port action can now be specified as PF or VF port and
net/bnxt: enable PF and VF port action items
Added support for the PF and VF port action items in the flow create. During flow create the output port action can now be specified as PF or VF port and those ports are parsed accordingly and converted to vnic or vport as per the flow direction.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
e19ab942 |
| 06-Jul-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: support VLAN push and pop actions
Add support for the vlan push and vlan pop actions
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <somn
net/bnxt: support VLAN push and pop actions
Add support for the vlan push and vlan pop actions
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
8ce17d56 |
| 12-Jun-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: divide ULP template database to smaller modules
The ulp template db file is broken into three parts namely the table, class and action files.
Signed-off-by: Kishore Padmanabha <kishore.pa
net/bnxt: divide ULP template database to smaller modules
The ulp template db file is broken into three parts namely the table, class and action files.
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
8d9978d7 |
| 12-Jun-2020 |
Venkat Duvvuru <[email protected]> |
net/bnxt: modify IPv6 VTC flow field parsing
ipv6 vtc_flow contains three fields 1. Version 2. Priority / Traffic Class 3. Flow Label Currently, these are not parsed separately and also not set sepa
net/bnxt: modify IPv6 VTC flow field parsing
ipv6 vtc_flow contains three fields 1. Version 2. Priority / Traffic Class 3. Flow Label Currently, these are not parsed separately and also not set separately in the field bitmap by the flow parser. However, the template treats them separately. As a result, the flow matching doesn't succeed because the bitmaps of parser and the template doesn't match.
This patch fixes this problem by parsing the above mentioned fields individually to align with the template.
Signed-off-by: Venkat Duvvuru <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
a2be13e1 |
| 12-Jun-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: remove fields from bitmap and mapper table
Remove unnecessary fields from bitmap and mapper table.
- remove svif and VLAN info from header bitmap The svif and vlan information are removed
net/bnxt: remove fields from bitmap and mapper table
Remove unnecessary fields from bitmap and mapper table.
- remove svif and VLAN info from header bitmap The svif and vlan information are removed from header bitmap signature so that the matching algorithm does not use these fields to perform matching. So flows with or without vlan tag could use the same flow template. - remove mem field from mapper class table Remove the unused mem field in the ulp mapper class table structure
Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1 |
|
| #
2bbcdee8 |
| 15-Apr-2020 |
Kishore Padmanabha <[email protected]> |
net/bnxt: use hashing for flow template match
Currently, all the flow templates are sequentially searched to find out whether there is a matching template for the incoming RTE_FLOW offload request.
net/bnxt: use hashing for flow template match
Currently, all the flow templates are sequentially searched to find out whether there is a matching template for the incoming RTE_FLOW offload request. As sequential search will have performance concerns, this patch will address it by using hash algorithm to find out the flow template. This change resulted in creation of computed fields to remove the fields that do not participate in the hash calculations. The field bitmap is created for this purpose.
Reviewed-by: Venkat Duvvuru <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Signed-off-by: Kishore Padmanabha <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]>
show more ...
|