#
a42ab1eb |
| 15-Jun-2022 |
Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> |
net/bnxt: disallow MTU change when device is started
With this patch, bnxt_mtu_set_op() will return an error code if the device has already started. The user application will have to take care to br
net/bnxt: disallow MTU change when device is started
With this patch, bnxt_mtu_set_op() will return an error code if the device has already started. The user application will have to take care to bring down device before invoking the mtu_set()
Fixes: daef48efe5e5 ("net/bnxt: support set MTU") Cc: stable@dpdk.org
Signed-off-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
d9ae3e9d |
| 15-Jun-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix setting forced speed
The "active_fec_signal_mode" in HWRM_PORT_PHY_QCFG response does not return correct value till the link is up. Driver cannot rely on active_fec_signal_mode while s
net/bnxt: fix setting forced speed
The "active_fec_signal_mode" in HWRM_PORT_PHY_QCFG response does not return correct value till the link is up. Driver cannot rely on active_fec_signal_mode while setting forced speed.
While setting forced speed of 50G/100G/200G, check if PAM4 speeds are supported for the port first and then populate the HWRM request accordingly.
Also, If PAM4 speed is supported, use PAM4 supported speed while reporting speed capabilities.
Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link") 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 ...
|
#
8b7e58a7 |
| 15-Jun-2022 |
Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> |
net/bnxt: allow Tx only or Rx only
Currently, we fail the init/probe of PMD if eth_dev->data->nb_tx_queues or eth_dev->data->nb_rx_queues is 0. We are removing this check.
Fixes: daef48efe5e5 ("net
net/bnxt: allow Tx only or Rx only
Currently, we fail the init/probe of PMD if eth_dev->data->nb_tx_queues or eth_dev->data->nb_rx_queues is 0. We are removing this check.
Fixes: daef48efe5e5 ("net/bnxt: support set MTU") Cc: stable@dpdk.org
Signed-off-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
aef3baca |
| 15-Jun-2022 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix switch domain allocation
Allocate switch domain after the trusted VF capability is queried from the FW. Currently we are calling the function earlier. Since the switch domain is alloca
net/bnxt: fix switch domain allocation
Allocate switch domain after the trusted VF capability is queried from the FW. Currently we are calling the function earlier. Since the switch domain is allocated only for PFs or trusted VF, the current location of code fails to allocate the domain during init. But during cleanup we try to free the domain incorrectly. Fix the behavior by changing the sequence of function calls.
Fixes: 3127f99274b67 ("net/bnxt: refactor init/uninit") Cc: stable@dpdk.org
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> Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
show more ...
|
#
b758e000 |
| 27-Apr-2022 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: skip wait for link up on port start
Invoking bnxt_link_update_op() with wait_for_completion set would result in the driver waiting for 10s in case the port link is down to complete port in
net/bnxt: skip wait for link up on port start
Invoking bnxt_link_update_op() with wait_for_completion set would result in the driver waiting for 10s in case the port link is down to complete port initialization (dev_start_op()). Change it by not waiting for the completion when invoking it in dev_start_op()
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
5591bb92 |
| 27-Apr-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: recheck FW readiness if in reset process
If Firmware is still in reset process and returns the error HWRM_ERR_CODE_HOT_RESET_PROGRESS, retry VER_GET command. We have to do it in bnxt_handl
net/bnxt: recheck FW readiness if in reset process
If Firmware is still in reset process and returns the error HWRM_ERR_CODE_HOT_RESET_PROGRESS, retry VER_GET command. We have to do it in bnxt_handle_if_change_status().
Fixes: 0b533591238f ("net/bnxt: inform firmware about IF state changes") Cc: stable@dpdk.org
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 ...
|
#
7b6eba88 |
| 27-Apr-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix link status when port is stopped
Driver forces link down during port stop. But device is not obliged link down in certain scenarios, even when forced. In that case, subsequent link que
net/bnxt: fix link status when port is stopped
Driver forces link down during port stop. But device is not obliged link down in certain scenarios, even when forced. In that case, subsequent link queries returns link as up. Fixed to return link status as down when port is stopped. Driver is already doing that for VF/NPAR/MH functions.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") 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 ...
|
#
9c1410be |
| 27-Apr-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: force PHY update on certain configurations
Device is not obliged link down in certain scenarios, even when forced. When FW does not allow any user other than the BMC to shutdown the port,
net/bnxt: force PHY update on certain configurations
Device is not obliged link down in certain scenarios, even when forced. When FW does not allow any user other than the BMC to shutdown the port, bnxt_get_hwrm_link_config() call always returns link up. Force phy update always in that case, else user configuration for speed/autoneg would not get applied correctly.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") 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 ...
|
#
c29aa80f |
| 27-Apr-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: remove unused macro
BNXT_FLAG_UPDATE_HASH is redundant now, remove it.
Fixes: 1ebb765090a6 ("net/bnxt: fix config RSS update") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakku
net/bnxt: remove unused macro
BNXT_FLAG_UPDATE_HASH is redundant now, remove it.
Fixes: 1ebb765090a6 ("net/bnxt: fix config RSS update") 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 ...
|
#
47a956a8 |
| 27-Apr-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix device capability reporting
1. Added two functions bnxt_get_tx_port_offloads() and bnxt_get_rx_port_offloads() to report the device tx/rx offload capabilities to the application.
net/bnxt: fix device capability reporting
1. Added two functions bnxt_get_tx_port_offloads() and bnxt_get_rx_port_offloads() to report the device tx/rx offload capabilities to the application. 2. This avoids few duplicate code in the driver and make VF-rep capability the same as VF. 3. This will help in selectively reporting offload capabilities based on FW support.
Fixes: 0a6d2a720078 ("net/bnxt: get device infos") 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 ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
4d47569c |
| 12-Jan-2022 |
Geoffrey Le Gourriérec <geoffrey.le_gourrierec@6wind.com> |
net/bnxt: restore dependency on kernel modules
During a large refactoring sweep for 21.11, a previous commit removed the dependency the bnxt driver had on Linux virtual bus drivers, such as vfio-pci
net/bnxt: restore dependency on kernel modules
During a large refactoring sweep for 21.11, a previous commit removed the dependency the bnxt driver had on Linux virtual bus drivers, such as vfio-pci. This breaks port detection.
This patch adds the kmod dependency back as it was.
Fixes: 295968d17407 ("ethdev: add namespace") Cc: stable@dpdk.org
Signed-off-by: Geoffrey Le Gourriérec <geoffrey.le_gourrierec@6wind.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
6c63f349 |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix handling of VF configuration change
When there is a change in the default VLAN of the VF, FW sends the VF_CFG_CHANGE async event to the driver. Upon receiving this async event, driver
net/bnxt: fix handling of VF configuration change
When there is a change in the default VLAN of the VF, FW sends the VF_CFG_CHANGE async event to the driver. Upon receiving this async event, driver currently only queries the FW using HWRM_FUNC_QCFG. But this is not enough.
Driver has to clean up the existing filter and recreate filters so the FW can apply the default VLAN to the filter.
Fixes: 12213821a8a3 ("net/bnxt: register for more async events") 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 ...
|
#
e21aca08 |
| 04-Jan-2022 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: refactor datapath stop for reuse
Refactor bnxt_stop_rxtx() for reuse. By accepting rte_eth_dev as input, bnxt_stop_rxtx() can be used in multiple scenarios such as representor devices.
Si
net/bnxt: refactor datapath stop for reuse
Refactor bnxt_stop_rxtx() for reuse. By accepting rte_eth_dev as input, bnxt_stop_rxtx() can be used in multiple scenarios such as representor devices.
Signed-off-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 ...
|
#
59119d49 |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix flow create when RSS is disabled
This patch reverts the commit "5d47d06b2c83". Revert this commit as it caused a regression on legacy chips. On newer chips we use TruFlow based flow cr
net/bnxt: fix flow create when RSS is disabled
This patch reverts the commit "5d47d06b2c83". Revert this commit as it caused a regression on legacy chips. On newer chips we use TruFlow based flow creation instead of HWRM based flow creation.
Fixes: 5d47d06b2c83 ("net/bnxt: modify VNIC accounting") 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 ...
|
#
caf6c007 |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: improve recovery related log messages
Make these messages more specific.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.
net/bnxt: improve recovery related log messages
Make these messages more specific.
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 ...
|
#
de3fef20 |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: set fast-path pointers only if recovery succeeds
During reset recovery, fixed to set the fast-path pointers only if recovery succeeds.
Fixes: 720b55ad278e ("net/bnxt: fix crash caused by
net/bnxt: set fast-path pointers only if recovery succeeds
During reset recovery, fixed to set the fast-path pointers only if recovery succeeds.
Fixes: 720b55ad278e ("net/bnxt: fix crash caused by error recovery") 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 ...
|
#
604a6be6 |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: cap maximum number of unicast MAC addresses
The Maximum number of receive mac addr is hard coded to 128 in the ethdev library(RTE_ETH_NUM_RECEIVE_MAC_ADDR). But the bnxt devices support mo
net/bnxt: cap maximum number of unicast MAC addresses
The Maximum number of receive mac addr is hard coded to 128 in the ethdev library(RTE_ETH_NUM_RECEIVE_MAC_ADDR). But the bnxt devices support more than 128 unicast MAC filters which could result in a segfault while user tries to add more than 128 unicast MAC addresses to the port.
Fixes: a2033fda22ab ("net/bnxt: fix number of MAC addresses for VMDq") 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 ...
|
#
87175489 |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix restoring VLAN filtering after recovery
During port start, driver calls bnxt_vlan_offload_set_op() to program VLAN Filter/VLAN Strip setting to the HW. This in turns add the vlan filte
net/bnxt: fix restoring VLAN filtering after recovery
During port start, driver calls bnxt_vlan_offload_set_op() to program VLAN Filter/VLAN Strip setting to the HW. This in turns add the vlan filters.
This results in a failure when bnxt_restore_filters() invokes bnxt_restore_vlan_filters() during the recovery as the vlans are already programmed.
Fix to ignore the error(-EEXIST).
Fixes: 151c8240ac6a ("net/bnxt: restore VLAN filters during reset recovery") 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 ...
|
#
9b4353be |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: restore RSS configuration after reset recovery
During reset recovery, driver is not restoring the VNIC rss hash key. It's generating a new random hash key which results in unexpected RSS b
net/bnxt: restore RSS configuration after reset recovery
During reset recovery, driver is not restoring the VNIC rss hash key. It's generating a new random hash key which results in unexpected RSS behavior after recovery. Fixed this by storing the VNIC RSS configuration to a local struct and then applying the cached value during the recovery.
Fixes: df6cd7c1f73a ("net/bnxt: handle reset notify async event from FW") 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 ...
|
#
04689bdb |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix multicast MAC restore during reset recovery
During reset recovery, driver is not restoring the multicast mac addresses. Added code to restore them during reset recovery.
Fixes: b02f15
net/bnxt: fix multicast MAC restore during reset recovery
During reset recovery, driver is not restoring the multicast mac addresses. Added code to restore them during reset recovery.
Fixes: b02f1573cd07 ("net/bnxt: restore MAC filters during reset recovery") 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 ...
|
#
4dc9409e |
| 04-Jan-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix multicast address set
Fix bnxt_dev_set_mc_addr_list_op. Fix to cache the multicast mac addresses added to the port to the driver private structure memory. Use this cached mc list to pr
net/bnxt: fix multicast address set
Fix bnxt_dev_set_mc_addr_list_op. Fix to cache the multicast mac addresses added to the port to the driver private structure memory. Use this cached mc list to program the FW.
This fixes an issue where multicast packets reception is successful only if the multicast mac address of the packets is the first one in the multicast address list of the port.
This is in preparation for another fix in the series.
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> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
720b55ad |
| 19-Nov-2021 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: fix crash caused by error recovery
bnxt_stop_rxtx() does not stop data path processing as intended as it does not update the recently introduced fast-path pointers '(struct rte_eth_fp_ops)
net/bnxt: fix crash caused by error recovery
bnxt_stop_rxtx() does not stop data path processing as intended as it does not update the recently introduced fast-path pointers '(struct rte_eth_fp_ops)->rx_pkt_burst'. Since both the burst routines only use the fast-path pointer, the real burst routines get invoked instead of the dummy ones set by bnxt_stop_rxtx() leading to crashes in the data path (e.g. dereferencing freed structures)
Fix the segfault by updating the fast-path pointer as well
Fixes: c87d435a4d79 ("ethdev: copy fast-path API into separate structure")
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
9ba1e167 |
| 03-Nov-2021 |
Kishore Padmanabha <kishore.padmanabha@broadcom.com> |
net/bnxt: remove devargs option for stats accumulation
The accumulation of flow counters is not determined by the application device arguments anymore. Instead it is now dictated by the platform cap
net/bnxt: remove devargs option for stats accumulation
The accumulation of flow counters is not determined by the application device arguments anymore. Instead it is now dictated by the platform capabilities whether to do software based accumulation or not.
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 ...
|
#
3d372e8d |
| 03-Nov-2021 |
Shahaji Bhosle <sbhosle@broadcom.com> |
net/bnxt: increase flow scale for Thor
* Updated defines and data types to allow 256 VFRs. * Increased the encap record cache to support 256 to 4K entries. So VxLAN connections can be scaled to 4K
net/bnxt: increase flow scale for Thor
* Updated defines and data types to allow 256 VFRs. * Increased the encap record cache to support 256 to 4K entries. So VxLAN connections can be scaled to 4K entries.
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: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|