#
683e5cf7 |
| 04-Oct-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: use common NQ ring
Thor queue scaling is currently limited by the number of NQs that can be allocated. Fix by using a common NQ for all receive/transmit rings instead of allocating a separ
net/bnxt: use common NQ ring
Thor queue scaling is currently limited by the number of NQs that can be allocated. Fix by using a common NQ for all receive/transmit rings instead of allocating a separate NQ for each ring.
Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
84d49664 |
| 04-Oct-2019 |
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> |
net/bnxt: support CoS classification
Class of Service (CoS) is a way to manage multiple types of traffic over a network to offer different types of services to applications. CoS classification (prio
net/bnxt: support CoS classification
Class of Service (CoS) is a way to manage multiple types of traffic over a network to offer different types of services to applications. CoS classification (priority to cosqueue) is determined by the user and configured through the PF driver. DPDK driver queries this configuration and maps the cos queue ids to different VNICs. This patch adds this support.
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
b150a7e7 |
| 04-Oct-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: support LRO on Thor adapters
Add support for LRO for adapters based on Thor (BCM57508).
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Lance Richardson <lance
net/bnxt: support LRO on Thor adapters
Add support for LRO for adapters based on Thor (BCM57508).
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
cc5e26b8 |
| 04-Oct-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: increase TQM entry allocation
The current TQM backing store size isn't sufficient to allow 512 transmit rings. Fix by correcting TQM SP queue size calculation.
Fixes: f8168ca0e690 ("net/b
net/bnxt: increase TQM entry allocation
The current TQM backing store size isn't sufficient to allow 512 transmit rings. Fix by correcting TQM SP queue size calculation.
Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
9f9e759b |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix multicast filter programming
Fixed multicast filter programming and allmulti programming. Fixed to skip programming multicast macs if the user requests allmulti mode.
Also removed a c
net/bnxt: fix multicast filter programming
Fixed multicast filter programming and allmulti programming. Fixed to skip programming multicast macs if the user requests allmulti mode.
Also removed a comment in bnxt_hwrm_cfa_l2_set_rx_mask() which is no longer valid now.
Fixes: d69851df12b2 ("net/bnxt: support multicast filter and set MAC addr") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
6118503d |
| 02-Oct-2019 |
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> |
net/bnxt: fix VLAN filtering
Currently, when hw-vlan-filter is enabled on testpmd, driver is receiving all vlan packets. Instead, it should only receive untagged packets and vlan packets for which t
net/bnxt: fix VLAN filtering
Currently, when hw-vlan-filter is enabled on testpmd, driver is receiving all vlan packets. Instead, it should only receive untagged packets and vlan packets for which the VLAN filter is programmed. This is because, the default rule to match on MAC is not getting deleted, when hw-vlan-filter is ON.
This patch fixes the problem, by deleting the default MAC rule and programming a new rule to receive only untagged packets, when hw-vlan-filter is enabled & another rule for each vlan, as and when that vlan is configured on that port.
Fixes: 246c5cc5f05e ("net/bnxt: use correct flags during VLAN configuration") Cc: stable@dpdk.org
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
1cb3d39a |
| 02-Oct-2019 |
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> |
net/bnxt: synchronize between flow related functions
Currently, there are four flow related functions, namely bnxt_flow_create, bnxt_flow_destroy, bnxt_flow_validate, bnxt_flow_flush. All these func
net/bnxt: synchronize between flow related functions
Currently, there are four flow related functions, namely bnxt_flow_create, bnxt_flow_destroy, bnxt_flow_validate, bnxt_flow_flush. All these functions are not multi-thread safe.
This patch fixes it by synchronizing these functions with a lock.
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
91aee971 |
| 02-Oct-2019 |
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> |
net/bnxt: validate RSS hash key length
In bnxt_rss_hash_update_op, driver is proceeding with bnxt_hwrm_vnic_rss_cfg even though RSS hashkey length is invalid.
This patch fixes the problem by return
net/bnxt: validate RSS hash key length
In bnxt_rss_hash_update_op, driver is proceeding with bnxt_hwrm_vnic_rss_cfg even though RSS hashkey length is invalid.
This patch fixes the problem by returning -EINVAL when RSS hashkey length is invalid.
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
988562f0 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix setting default MAC address
Driver was incorrectly programming the MAC with the already configured one instead of the newly requested MAC by user.
Also, fix to restore the old mac add
net/bnxt: fix setting default MAC address
Driver was incorrectly programming the MAC with the already configured one instead of the newly requested MAC by user.
Also, fix to restore the old mac address back to the default vnic filter if the mac update operation fails.
Fixes: 68f589f2c728 ("net/bnxt: fix setting primary MAC address") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
afef822b |
| 02-Oct-2019 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: support creating SMAC and inner DMAC filters
We are currently creating only outer DMAC filters. Create SMAC and inner DMAC filters using HWRM_CFA_L2_FILTER_ALLOC. For this the HWRM_CFA_L2_
net/bnxt: support creating SMAC and inner DMAC filters
We are currently creating only outer DMAC filters. Create SMAC and inner DMAC filters using HWRM_CFA_L2_FILTER_ALLOC. For this the HWRM_CFA_L2_FILTER_ALLOC has already been updated.
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
d24610f7 |
| 02-Oct-2019 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: allow flow creation when RSS is enabled
Currently flow creation is allowed with queue action only when RSS is disabled. Remove this restriction. Flows can be created when RSS is enabled.
net/bnxt: allow flow creation when RSS is enabled
Currently flow creation is allowed with queue action only when RSS is disabled. Remove this restriction. Flows can be created when RSS is enabled.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
show more ...
|
#
36024b2e |
| 02-Oct-2019 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: allow dynamic creation of VNIC
Refactor code to allow dynamic creation of VNIC for RSS or Queue Action during flow create.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> S
net/bnxt: allow dynamic creation of VNIC
Refactor code to allow dynamic creation of VNIC for RSS or Queue Action during flow create.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
show more ...
|
#
7063df19 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: use macro for getting default VNIC
Minor code cleanup. BNXT_GET_DEFAULT_VNIC macro returns the default VNIC of the function and fixed code to use the macro.
Signed-off-by: Kalesh AP <kale
net/bnxt: use macro for getting default VNIC
Minor code cleanup. BNXT_GET_DEFAULT_VNIC macro returns the default VNIC of the function and fixed code to use the macro.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c46c7a71 |
| 02-Oct-2019 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: support for QinQ insertion and stripping
Driver will accelerate only outer/S-VLAN insertion by turning on the appropriate bits in the Tx Buffer Descriptor when the packet arrives for trans
net/bnxt: support for QinQ insertion and stripping
Driver will accelerate only outer/S-VLAN insertion by turning on the appropriate bits in the Tx Buffer Descriptor when the packet arrives for transmission. The TPID to be used for this S-VLAN is conveyed by the vlan_tpid_set dev_op which will terminate in the driver. In the Rx path, driver will continue providing the stripped vlan tag in the mbuf's vlan tci field. This would be the outermost vlan tag in a double-tagged packet or the vlan tag for a single vlan tagged pkt.
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
f35eaaca |
| 02-Oct-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/bnxt: fix crash in secondary process
The secondary process should not modify device state when init is called. The pci device information pointed to by dev_private pointer is not correct in seco
net/bnxt: fix crash in secondary process
The secondary process should not modify device state when init is called. The pci device information pointed to by dev_private pointer is not correct in secondary process.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
34c0ba83 |
| 02-Oct-2019 |
Rahul Gupta <rahul.gupta@broadcom.com> |
net/bnxt: fix Rx queue count
Fix Computing of number of used descriptors in an Rx queue.
Fixes: 1b7ceba3e375 ("net/bnxt: support Rx queue count") Cc: stable@dpdk.org
Signed-off-by: Rahul Gupta <ra
net/bnxt: fix Rx queue count
Fix Computing of number of used descriptors in an Rx queue.
Fixes: 1b7ceba3e375 ("net/bnxt: support Rx queue count") Cc: stable@dpdk.org
Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
807d0a1e |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: remove unnecessary interrupt disable
Since bnxt_enable_int() is called at start time, invoke bnxt_disable_int() during stop only. Remove it from device uninit function.
Signed-off-by: Kal
net/bnxt: remove unnecessary interrupt disable
Since bnxt_enable_int() is called at start time, invoke bnxt_disable_int() during stop only. Remove it from device uninit function.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
c023cd5b |
| 02-Oct-2019 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix async link handling and update
When updating the link because of an async link notification there is no need to set wait_for_completion. At this point the link related information shou
net/bnxt: fix async link handling and update
When updating the link because of an async link notification there is no need to set wait_for_completion. At this point the link related information should be available without need to poll. Use rte_eth_linkstatus_set instead of memcpy to ensure atomicity while updating the link status. We force the physical link down as a part of device stop. But we are not waiting there enough and handling the async notification before exiting. It just sits in the default CQ till we do a device start. Fix it by calling the CQ handler in device stop.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
3955e268 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix Rx queue start/stop
Driver should not change "deferred_start" state of the rx queues. It should get the state in queue_setup_op() and use that value.
Since the deferred start state wa
net/bnxt: fix Rx queue start/stop
Driver should not change "deferred_start" state of the rx queues. It should get the state in queue_setup_op() and use that value.
Since the deferred start state was being used in the packet receive functions to determine whether a stopped rx ring should be polled, introduced a per-rxq flag to track queue stopped/started state.
Fixes: 9b63c6fd70e3 ("net/bnxt: support Rx/Tx queue start/stop") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
09aac391 |
| 02-Oct-2019 |
Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> |
net/bnxt: fix forwarding with higher mbuf size
Maximum frame length supported by hw is 9600 bytes. When user launches testpmd with --mbuf-size=9729, we are posting buffer descriptors of size 9601 to
net/bnxt: fix forwarding with higher mbuf size
Maximum frame length supported by hw is 9600 bytes. When user launches testpmd with --mbuf-size=9729, we are posting buffer descriptors of size 9601 to the ring. This was causing packets getting discarded.
Fixes: daef48efe5e5 ("net/bnxt: support set MTU") Cc: stable@dpdk.org
Signed-off-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
6cbd89f9 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: support PTP for Thor
On Thor, direct access to PTP registers (via GRC) is not supported. Driver must use HWRM to access the timestamp information.
Vectorized Rx/Tx cannot be enabled if RT
net/bnxt: support PTP for Thor
On Thor, direct access to PTP registers (via GRC) is not supported. Driver must use HWRM to access the timestamp information.
Vectorized Rx/Tx cannot be enabled if RTE_LIBRTE_IEEE1588=y. Remove the PTP flags handling code from the vector Rx path.
Add support to read tx timestamp value and the time from the timesync clock.
On Thor, Rx timestamps are provided directly in the Rx completion records to the driver. Only 32 bits of the timestamp is present in the completion. Driver needs to read the current 48 bit free running timer using the HWRM_PORT_TS_QUERY command and combine the upper 16 bits from the HWRM response with the lower 32 bits in the Rx completion to produce the 48 bit timestamp for the Rx packet.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
40d2640f |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: reduce verbosity of logs
When IOMMU is available, EAL picks IOVA as VA as the default IOVA mode. This causes the bnxt driver to log warning messages saying "Memzone physical address same a
net/bnxt: reduce verbosity of logs
When IOMMU is available, EAL picks IOVA as VA as the default IOVA mode. This causes the bnxt driver to log warning messages saying "Memzone physical address same as virtual." and "Using rte_mem_virt2iova()" during load.
Reduce the verbosity of logs to DEBUG. Reduced couple of other logs level to DEBUG as well.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
1db68899 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: support hot firmware upgrade for Stingray
FW sets HWRM_FUNC_QCAPS_OUTPUT_FLAGS_ERR_RECOVER_RELOAD in HWRM_FUNC_QCAPS command, if device requires to invoke fastboot FW during FW reset.
Dri
net/bnxt: support hot firmware upgrade for Stingray
FW sets HWRM_FUNC_QCAPS_OUTPUT_FLAGS_ERR_RECOVER_RELOAD in HWRM_FUNC_QCAPS command, if device requires to invoke fastboot FW during FW reset.
Driver has to poll for shutdown bit in fw_status register: 1. in case of hot fw upgrade, this bit will be set after all function drivers unregistered with fw. 2. in case of fw initiated error recovery, this bit will be set after fw has collected the core dump
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
be14720d |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: support FW reset
Added code to perform FW_RESET. When the driver detects error in FW, it has to initiate the recovery by resetting the cores. FW advertise the method to do a core reset, re
net/bnxt: support FW reset
Added code to perform FW_RESET. When the driver detects error in FW, it has to initiate the recovery by resetting the cores. FW advertise the method to do a core reset, reset register offsets and values to perform reset in response of HWRM_ERROR_RECOVERY_QCFG command.
There are 2 ways to recover from the error. 1. Master function issues core resets to recover from error. 2. Master function detects chimp dead condition and notify the Kong processor about the chimp dead case through FW_RESET HWRM command. Kong Processor send an RESET_NOTIFY async event with REASON_CODE_FW_EXCEPTION_FATAL to all the PF’s/VF’s that chimp is dead and it is going to reset the chimp.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
9d0cbaec |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: support periodic FW health monitoring
Periodically poll the FW heartbeat register and FW recovery counter registers to check the FW health. Polling frequency will be advertised by the FW i
net/bnxt: support periodic FW health monitoring
Periodically poll the FW heartbeat register and FW recovery counter registers to check the FW health. Polling frequency will be advertised by the FW in HWRM_ERROR_RECOVERY_QCFG response. Schedule the task upon receiving the async event from FW.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|