| #
b758e000 |
| 27-Apr-2022 |
Somnath Kotur <[email protected]> |
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 <[email protected]> Reviewed-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
5591bb92 |
| 27-Apr-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
7b6eba88 |
| 27-Apr-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
9c1410be |
| 27-Apr-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
c29aa80f |
| 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: remove unused macro
BNXT_FLAG_UPDATE_HASH is redundant now, remove it.
Fixes: 1ebb765090a6 ("net/bnxt: fix config RSS update") Cc: [email protected]
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
47a956a8 |
| 27-Apr-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <[email protected]> |
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 <[email protected]>
show more ...
|
| #
4d47569c |
| 12-Jan-2022 |
Geoffrey Le Gourriérec <[email protected]> |
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: [email protected]
Signed-off-by: Geoffrey Le Gourriérec <[email protected]> Acked-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
6c63f349 |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
e21aca08 |
| 04-Jan-2022 |
Somnath Kotur <[email protected]> |
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 <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Kalesh AP <[email protected]>
show more ...
|
| #
59119d49 |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
caf6c007 |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
net/bnxt: improve recovery related log messages
Make these messages more specific.
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.
net/bnxt: improve recovery related log messages
Make these messages more specific.
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
de3fef20 |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
604a6be6 |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
87175489 |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
9b4353be |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
04689bdb |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
4dc9409e |
| 04-Jan-2022 |
Kalesh AP <[email protected]> |
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: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4 |
|
| #
720b55ad |
| 19-Nov-2021 |
Somnath Kotur <[email protected]> |
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 <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc3, v21.11-rc2 |
|
| #
9ba1e167 |
| 03-Nov-2021 |
Kishore Padmanabha <[email protected]> |
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 <[email protected]> Signed-off-by: Venkat Duvvuru <[email protected]> Reviewed-by: Mike Baucom <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
3d372e8d |
| 03-Nov-2021 |
Shahaji Bhosle <[email protected]> |
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 <[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 ...
|
| #
b3c8396d |
| 04-Nov-2021 |
Ajit Khaparde <[email protected]> |
net/bnxt: remove unused functions
Remove unused functions from the code. Specifically the following functions are being removed.
bnxt_get_iface_mac(); bnxt_get_vnic_id(); bnxt_get_parent_vnic_id();
net/bnxt: remove unused functions
Remove unused functions from the code. Specifically the following functions are being removed.
bnxt_get_iface_mac(); bnxt_get_vnic_id(); bnxt_get_parent_vnic_id(); bnxt_get_bp(); bnxt_get_svif(); bnxt_get_fw_func_id(); bnxt_get_parif(); bnxt_get_phy_port_id(); bnxt_get_vport(); bnxt_get_interface_type();
Signed-off-by: Ajit Khaparde <[email protected]>
show more ...
|
| #
2fe6f1b7 |
| 02-Nov-2021 |
Dmitry Kozlyuk <[email protected]> |
drivers/net: advertise no support for keeping flow rules
When RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP capability bit is zero, the specified behavior is the same as it had been before this bit was introduced
drivers/net: advertise no support for keeping flow rules
When RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP capability bit is zero, the specified behavior is the same as it had been before this bit was introduced. Explicitly reset it in all PMDs supporting rte_flow API in order to attract the attention of maintainers, who should eventually choose to advertise the new capability or not. It is already known that mlx4 and mlx5 will not support this capability.
For RTE_ETH_DEV_CAPA_FLOW_SHARED_OBJECT_KEEP similar action is not performed, because no PMD except mlx5 supports indirect actions. Any PMD that starts doing so will anyway have to consider all relevant API, including this capability.
Suggested-by: Ferruh Yigit <[email protected]> Signed-off-by: Dmitry Kozlyuk <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Somnath Kotur <[email protected]> Acked-by: Hyong Youb Kim <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
7bea87cd |
| 30-Oct-2021 |
Kalesh AP <[email protected]> |
net/bnxt: fix stat context allocation
stat_ctx_alloc is called within the context of each rx/tx ring. i.e from bnxt_alloc_hwrm_rx_ring and bnxt_alloc_hwrm_tx_ring(). So, there is no need to invoke b
net/bnxt: fix stat context allocation
stat_ctx_alloc is called within the context of each rx/tx ring. i.e from bnxt_alloc_hwrm_rx_ring and bnxt_alloc_hwrm_tx_ring(). So, there is no need to invoke bnxt_alloc_all_hwrm_stat_ctxs() from bnxt_start_nic().
Fixes: 657c2a7f1dd4 ("net/bnxt: create aggregation rings when needed")
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| #
40040587 |
| 30-Oct-2021 |
Kalesh AP <[email protected]> |
net/bnxt: fix freeing aggregation rings
During port stop, we clear "eth_dev->data->scattered_rx" at the beginning. As a result, in bnxt_free_hwrm_rx_ring() the check bnxt_need_agg_ring() returns fal
net/bnxt: fix freeing aggregation rings
During port stop, we clear "eth_dev->data->scattered_rx" at the beginning. As a result, in bnxt_free_hwrm_rx_ring() the check bnxt_need_agg_ring() returns false and we end up not freeing the Rx aggregation rings which results in resource leak in the FW.
Fixes: 657c2a7f1dd4 ("net/bnxt: create aggregation rings when needed")
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|