3
0
Fork 0
forked from mirrors/linux
kernel/drivers/net/ethernet/intel/ice
Marcin Szycik 5c07be96d8 ice: Avoid setting default Rx VSI twice in switchdev setup
As part of switchdev environment setup, uplink VSI is configured as
default for both Tx and Rx. Default Rx VSI is also used by promiscuous
mode. If promisc mode is enabled and an attempt to enter switchdev mode
is made, the setup will fail because Rx VSI is already configured as
default (rule exists).

Reproducer:
  devlink dev eswitch set $PF1_PCI mode switchdev
  ip l s $PF1 up
  ip l s $PF1 promisc on
  echo 1 > /sys/class/net/$PF1/device/sriov_numvfs

In switchdev setup, use ice_set_dflt_vsi() instead of plain
ice_cfg_dflt_vsi(), which avoids repeating setting default VSI for Rx if
it's already configured.

Fixes: 50d62022f4 ("ice: default Tx rule instead of to queue")
Reported-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Closes: https://lore.kernel.org/intel-wired-lan/PH0PR11MB50138B635F2E5CEB7075325D961F2@PH0PR11MB5013.namprd11.prod.outlook.com
Reviewed-by: Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20250224190647.3601930-3-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-02-25 19:09:36 -08:00
..
devlink ice: Add check for devm_kzalloc() 2025-02-01 16:57:50 -08:00
ice.h ice: add Tx hang devlink health reporter 2024-12-17 11:32:46 -08:00
ice_adapter.c ice: Use ice_adapter for PTP shared data instead of auxdev 2024-10-01 11:11:38 -07:00
ice_adapter.h ice: Use ice_adapter for PTP shared data instead of auxdev 2024-10-01 11:11:38 -07:00
ice_adminq_cmd.h ice: remove invalid parameter of equalizer 2025-01-24 10:49:42 -08:00
ice_arfs.c
ice_arfs.h
ice_base.c ice: move prefetch enable to ice_setup_rx_ctx 2024-12-11 20:13:01 -08:00
ice_base.h
ice_cgu_regs.h
ice_common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-16 10:34:59 -08:00
ice_common.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-16 10:34:59 -08:00
ice_controlq.c ice: Report NVM version numbers on mismatch during load 2024-08-26 09:47:13 -07:00
ice_controlq.h ice: remove unnecessary control queue cmd_buf arrays 2024-08-26 09:46:14 -07:00
ice_dcb.c
ice_dcb.h
ice_dcb_lib.c ice: add new VSI type for subfunctions 2024-09-06 10:52:19 -07:00
ice_dcb_lib.h
ice_dcb_nl.c
ice_dcb_nl.h
ice_ddp.c ice: support optional flags in signature segment header 2024-11-13 10:30:09 -08:00
ice_ddp.h ice: support optional flags in signature segment header 2024-11-13 10:30:09 -08:00
ice_debugfs.c
ice_devids.h
ice_dpll.c Kthreads affinity follow either of 4 existing different patterns: 2025-01-21 17:10:05 -08:00
ice_dpll.h ice: add callbacks for Embedded SYNC enablement on dpll pins 2024-08-26 19:21:14 -07:00
ice_eswitch.c ice: Avoid setting default Rx VSI twice in switchdev setup 2025-02-25 19:09:36 -08:00
ice_eswitch.h ice: rename devlink_port.[ch] to port.[ch] 2024-12-17 09:32:08 -08:00
ice_eswitch_br.c ice: Flush FDB entries before reset 2024-10-08 14:08:19 -07:00
ice_eswitch_br.h ice: Flush FDB entries before reset 2024-10-08 14:08:19 -07:00
ice_ethtool.c ice: remove invalid parameter of equalizer 2025-01-24 10:49:42 -08:00
ice_ethtool.h ice: remove invalid parameter of equalizer 2025-01-24 10:49:42 -08:00
ice_ethtool_fdir.c ice: change q_index variable type to s16 to store -1 value 2024-11-04 13:09:33 -08:00
ice_fdir.c
ice_fdir.h ice: change q_index variable type to s16 to store -1 value 2024-11-04 13:09:33 -08:00
ice_flex_pipe.c ice: enable FDIR filters from raw binary patterns for VFs 2024-08-13 14:51:29 -07:00
ice_flex_pipe.h ice: Cleanup unused declarations 2024-10-08 15:22:32 -07:00
ice_flex_type.h
ice_flow.c ice: enable FDIR filters from raw binary patterns for VFs 2024-08-13 14:51:29 -07:00
ice_flow.h ice: enable FDIR filters from raw binary patterns for VFs 2024-08-13 14:51:29 -07:00
ice_fltr.c
ice_fltr.h
ice_fw_update.c ice: support FW Recovery Mode 2025-01-16 13:05:06 -08:00
ice_fw_update.h
ice_fwlog.c
ice_fwlog.h
ice_gnss.c treewide: Introduce kthread_run_worker[_on_cpu]() 2025-01-08 18:15:03 +01:00
ice_gnss.h
ice_hw_autogen.h Merge branch 'net-introduce-tx-h-w-shaping-api' 2024-10-10 08:32:46 -07:00
ice_hwmon.c
ice_hwmon.h
ice_idc.c
ice_idc_int.h
ice_irq.c
ice_irq.h
ice_lag.c
ice_lag.h
ice_lan_tx_rx.h ice: reduce size of queue context fields 2024-12-11 20:13:00 -08:00
ice_lib.c ice: support FW Recovery Mode 2025-01-16 13:05:06 -08:00
ice_lib.h ice: support FW Recovery Mode 2025-01-16 13:05:06 -08:00
ice_main.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2025-01-17 19:45:35 -08:00
ice_nvm.c
ice_nvm.h
ice_osdep.h ice: stop intermixing AQ commands/responses debug dumps 2024-08-26 09:40:44 -07:00
ice_parser.c ice: add API for parser profile initialization 2024-08-13 14:51:28 -07:00
ice_parser.h ice: fix ice_parser_rt::bst_key array size 2025-01-24 10:49:30 -08:00
ice_parser_rt.c ice: fix ice_parser_rt::bst_key array size 2025-01-24 10:49:30 -08:00
ice_pf_vsi_vlan_ops.c
ice_pf_vsi_vlan_ops.h
ice_protocol_type.h
ice_ptp.c Networking changes for 6.14. 2025-01-22 08:28:57 -08:00
ice_ptp.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-16 10:34:59 -08:00
ice_ptp_consts.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-16 10:34:59 -08:00
ice_ptp_hw.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-16 10:34:59 -08:00
ice_ptp_hw.h ice: Add in/out PTP pin delays 2025-01-14 14:37:34 -08:00
ice_repr.c ice: rename devlink_port.[ch] to port.[ch] 2024-12-17 09:32:08 -08:00
ice_repr.h ice: check if SF is ready in ethtool ops 2024-09-06 11:01:24 -07:00
ice_sbq_cmd.h
ice_sched.c ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node() 2024-08-26 09:49:57 -07:00
ice_sched.h
ice_sf_eth.c ice: rename devlink_port.[ch] to port.[ch] 2024-12-17 09:32:08 -08:00
ice_sf_eth.h ice: subfunction activation and base devlink ops 2024-09-06 11:01:24 -07:00
ice_sf_vsi_vlan_ops.c ice: basic support for VLAN in subfunctions 2024-09-06 11:01:24 -07:00
ice_sf_vsi_vlan_ops.h ice: basic support for VLAN in subfunctions 2024-09-06 11:01:24 -07:00
ice_sriov.c ice: Fix deinitializing VF in error path 2025-02-25 19:09:36 -08:00
ice_sriov.h
ice_switch.c ice: add recipe priority check in search 2025-01-14 14:37:34 -08:00
ice_switch.h
ice_tc_lib.c ice: set correct dst VSI in only LAN filters 2024-09-30 14:23:19 -07:00
ice_tc_lib.h
ice_trace.h
ice_txrx.c ice: stop storing XDP verdict within ice_rx_buf 2025-01-31 10:07:46 -08:00
ice_txrx.h ice: stop storing XDP verdict within ice_rx_buf 2025-01-31 10:07:46 -08:00
ice_txrx_lib.c
ice_txrx_lib.h ice: stop storing XDP verdict within ice_rx_buf 2025-01-31 10:07:46 -08:00
ice_type.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-16 10:34:59 -08:00
ice_vf_lib.c ice: Fix deinitializing VF in error path 2025-02-25 19:09:36 -08:00
ice_vf_lib.h ice: Support VF queue rate limit and quanta size configuration 2024-10-10 08:30:23 -07:00
ice_vf_lib_private.h ice: Fix deinitializing VF in error path 2025-02-25 19:09:36 -08:00
ice_vf_mbx.c ice: add E830 HW VF mailbox message limit support 2024-10-08 14:37:15 -07:00
ice_vf_mbx.h ice: add E830 HW VF mailbox message limit support 2024-10-08 14:37:15 -07:00
ice_vf_vsi_vlan_ops.c
ice_vf_vsi_vlan_ops.h
ice_virtchnl.c ice: Fix NULL pointer dereference in switchdev 2024-12-03 10:11:52 -08:00
ice_virtchnl.h ice: Support VF queue rate limit and quanta size configuration 2024-10-10 08:30:23 -07:00
ice_virtchnl_allowlist.c ice: Support VF queue rate limit and quanta size configuration 2024-10-10 08:30:23 -07:00
ice_virtchnl_allowlist.h
ice_virtchnl_fdir.c ice: enable FDIR filters from raw binary patterns for VFs 2024-08-13 14:51:29 -07:00
ice_virtchnl_fdir.h
ice_vlan.h
ice_vlan_mode.c
ice_vlan_mode.h
ice_vsi_vlan_lib.c ice: clear port vlan config during reset 2024-09-30 14:23:31 -07:00
ice_vsi_vlan_lib.h ice: clear port vlan config during reset 2024-09-30 14:23:31 -07:00
ice_vsi_vlan_ops.c ice: basic support for VLAN in subfunctions 2024-09-06 11:01:24 -07:00
ice_vsi_vlan_ops.h
ice_xsk.c xsk: make xsk_buff_add_frag() really add the frag via __xdp_buff_add_frag() 2024-12-19 19:51:14 -08:00
ice_xsk.h ice: improve updating ice_{t,r}x_ring::xsk_pool 2024-07-29 08:52:29 -07:00
Makefile ice: add Tx hang devlink health reporter 2024-12-17 11:32:46 -08:00