#
835731f6 |
| 30-May-2021 |
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> |
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 <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
2addc463 |
| 27-Jan-2021 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
3c1fba19 |
| 01-Dec-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: remove references to Thor
Refactor code to remove references to Thor. Instead use P5 as in phase 5 of development cycle since it is applicable to boards other than Thor as well.
Signed-of
net/bnxt: remove references to Thor
Refactor code to remove references to Thor. Instead use P5 as in phase 5 of development cycle since it is applicable to boards other than Thor as well.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
675e31d8 |
| 26-Oct-2020 |
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> |
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 <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
03c6c9c8 |
| 26-Oct-2020 |
Peter Spreadborough <peter.spreadborough@broadcom.com> |
net/bnxt: update ULP resource counts
Update ULP resource counts for Stingray device. - FW needs some resources for normal operation. Account those in the resource manager. - Update the SR ULP reques
net/bnxt: update ULP resource counts
Update ULP resource counts for Stingray device. - FW needs some resources for normal operation. Account those in the resource manager. - Update the SR ULP requested resource counts to reflect those available after AFM resources are accounted for. - Add build option to select either 2 or 4 slot EM entries. The default is 4 slot entries.
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
191f19ce |
| 09-Oct-2020 |
Mike Baucom <michael.baucom@broadcom.com> |
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 <michael.baucom@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
30683082 |
| 09-Oct-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
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 <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
b7d773d4 |
| 09-Oct-2020 |
Mike Baucom <michael.baucom@broadcom.com> |
net/bnxt: add Stingray device support to ULP
- Add new template files for Stingray - Add new TRUFLOW resources for Stingray
Signed-off-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Som
net/bnxt: add Stingray device support to ULP
- Add new template files for Stingray - Add new TRUFLOW resources for Stingray
Signed-off-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
a4638284 |
| 09-Oct-2020 |
Mike Baucom <michael.baucom@broadcom.com> |
net/bnxt: add multi-device infrastructure
In order to support multiple devices this patch: - Breaks the template into device specific files - Changes template list retrieval to use device id - Deter
net/bnxt: add multi-device infrastructure
In order to support multiple devices this patch: - Breaks the template into device specific files - Changes template list retrieval to use device id - Determines the software device id using the bp pointer - Determines the TRUFLOW resources based on device id
Signed-off-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
b5fc3ade |
| 09-Oct-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: fix corruption of session details
The session details that is shared among multiple ports need to be outside the bnxt structure.
Fixes: 70e64b27af5b ("net/bnxt: support ULP session manage
net/bnxt: fix corruption of session details
The session details that is shared among multiple ports need to be outside the bnxt structure.
Fixes: 70e64b27af5b ("net/bnxt: support ULP session manager cleanup") Cc: stable@dpdk.org
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
fac8177a |
| 30-Sep-2020 |
Chenbo Xia <chenbo.xia@intel.com> |
drivers/net: fix port id size
The ethdev port id should be 16 bits now. This patch changes the variable size of port id in some net drivers from 8 bits to 16 bits.
Fixes: 09b23f8b9df6 ("net/bnxt: f
drivers/net: fix port id size
The ethdev port id should be 16 bits now. This patch changes the variable size of port id in some net drivers from 8 bits to 16 bits.
Fixes: 09b23f8b9df6 ("net/bnxt: fix port stop process and cleanup resources") Fixes: 769de16872ab ("net/bnxt: fix port default rule create/destroy") Fixes: 50370662b727 ("net/ice: support device and queue ops") Fixes: a50d7cbbdad7 ("net/qede: support registers dump") Cc: stable@dpdk.org
Signed-off-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
6f744dde |
| 22-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: fix crash during NAT configuration
Initialize the global parameters structure to avoid segmentation fault in the TRUFLOW global configuration set API.
Fixes: 0a58be6f7c1e ("net/bnxt: add
net/bnxt: fix crash during NAT configuration
Initialize the global parameters structure to avoid segmentation fault in the TRUFLOW global configuration set API.
Fixes: 0a58be6f7c1e ("net/bnxt: add access to NAT global register") Cc: stable@dpdk.org
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
ce9875d7 |
| 22-Sep-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: support representors on remote host domain
In the Stingray use case, representors are conventionally run inside the SoC domain representing functions that are on the X86 domain. In order t
net/bnxt: support representors on remote host domain
In the Stingray use case, representors are conventionally run inside the SoC domain representing functions that are on the X86 domain. In order to support this mechanism of building representors for endpoints that are not in the same host domain, additional dev args have been in the PMD like so: rep-based-pf=<physical index> rep-is-pf=<VF=0 or PF=1> where `rep-based-pf` specifies the physical index of the base PF that the representor is derived off of. Since representor(s) can be created for endpoint PFs as well, rename struct bnxt_vf_representor to bnxt_representor and other such dev_ops and function names. devargs have also been extended to specify the exact CoS queue along with flow control enablement to be used for the conduit between the representor and the endpoint function. This is how a sample devargs would look with all the extended devargs
-w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8, rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
Call CFA_PAIR_ALLOC only in case of Stingray instead of CFA_VFR_ALLOC.
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
6c7cbc80 |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
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 <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
a2e216f8 |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: enable NAT action with tagged traffic
Added support for performing L3 or L4 rewrite for VLAN tagged flows. The outer most DMAC, SMAC and VLAN are used to overwrite when NAT operations are
net/bnxt: enable NAT action with tagged traffic
Added support for performing L3 or L4 rewrite for VLAN tagged flows. The outer most DMAC, SMAC and VLAN are used to overwrite when NAT operations are performed.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
9238ac2a |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
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 <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
5b7a4936 |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: increase counter support from 8K to 16K
The number of internal stats counter is increased to 16k in both egress and ingress direction.
Signed-off-by: Kishore Padmanabha <kishore.padmanabh
net/bnxt: increase counter support from 8K to 16K
The number of internal stats counter is increased to 16k in both egress and ingress direction.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
6ee2ab5b |
| 11-Sep-2020 |
Shahaji Bhosle <sbhosle@broadcom.com> |
net/bnxt: update resource settings
Update default resource configuration. Resources include ENCAP records, TCAM, wild card, source property functions and such.
Signed-off-by: Shahaji Bhosle <sbhosl
net/bnxt: update resource settings
Update default resource configuration. Resources include ENCAP records, TCAM, wild card, source property functions and such.
Signed-off-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
64bc2dbb |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: refactor VFR port clean up
When parent VF or PF ports are cleaned up, the child VF representor ports also need to be cleaned up. If not cleaned up, then deleting the parent VF shall result
net/bnxt: refactor VFR port clean up
When parent VF or PF ports are cleaned up, the child VF representor ports also need to be cleaned up. If not cleaned up, then deleting the parent VF shall result in not cleaning up the hardware rules and updating the firmware of VFR removal. The issue can occur even when application is exited without deleting VFR ports.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c53c2f43 |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: fix function id used in flow flush
The function id being used in the flush is incorrect, fixed the flush of the flows.
Fixes: 74bcfc062489 ("net/bnxt: add session and function flow flush"
net/bnxt: fix function id used in flow flush
The function id being used in the flush is incorrect, fixed the flush of the flows.
Fixes: 74bcfc062489 ("net/bnxt: add session and function flow flush") Cc: stable@dpdk.org
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
8f67fedf |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: modify default flow rule creation
Change default flow rule to use 8-byte encap. The VFR conduit uses VLAN encap to send packets. So the encap record is changed from 16B to 8B. That frees u
net/bnxt: modify default flow rule creation
Change default flow rule to use 8-byte encap. The VFR conduit uses VLAN encap to send packets. So the encap record is changed from 16B to 8B. That frees up 8B of encap records.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
09b23f8b |
| 11-Sep-2020 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
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: stable@dpdk.org
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com>
show more ...
|
#
b308d5a2 |
| 29-Jul-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: cleanup and check ULP context allocation
Set ulp_ctx explicitly to NULL in ulp_ctx_deinit() so that representor init is aborted if parent ulp context is not initialized. Also check for the
net/bnxt: cleanup and check ULP context allocation
Set ulp_ctx explicitly to NULL in ulp_ctx_deinit() so that representor init is aborted if parent ulp context is not initialized. Also check for the same before creation of port default rules. Additional checks added in VF rep dev ops for proper parent dev initialization, to avoid null pointer dereference.
Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure") Fixes: 313ac35ac701 ("net/bnxt: support ULP session manager init") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
25b47db7 |
| 03-Aug-2020 |
Shahaji Bhosle <sbhosle@broadcom.com> |
net/bnxt: update resource allocation settings
Adjusted resource allocations for the hardware resources like TCAM entries, action records, stat counters, exact match records to scale up offload flows
net/bnxt: update resource allocation settings
Adjusted resource allocations for the hardware resources like TCAM entries, action records, stat counters, exact match records to scale up offload flows. Also increased IPv4 nat entries to 1023. This patch is a critical fix to enable driver load on current and all FW versions going forward.
Fixes: cef3749d501e2 ("net/bnxt: update TruFlow resource allocation numbers")
Signed-off-by: Shahaji Bhosle <sbhosle@broadcom.com> Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
488130f7 |
| 23-Jul-2020 |
Mike Baucom <michael.baucom@broadcom.com> |
net/bnxt: enable shadow tables during session open
Turn on shadow memory in the core to allow search before allocate. This allows reuse of constrained resources.
Signed-off-by: Mike Baucom <michael
net/bnxt: enable shadow tables during session open
Turn on shadow memory in the core to allow search before allocate. This allows reuse of constrained resources.
Signed-off-by: Mike Baucom <michael.baucom@broadcom.com> Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|