linux/drivers/net/ethernet/intel/ice
Marcin Szycik c79bb28e19 ice: Clear synchronized addrs when adding VFs in switchdev mode
When spawning VFs in switchdev mode, internal filter list of VSIs is
cleared, which includes MAC rules. However MAC entries stay on netdev's
multicast list, which causes error message when bringing link up after
spawning VFs ("Failed to delete MAC filters"). __dev_mc_sync() is
called and tries to unsync addresses that were already removed
internally when adding VFs.

This can be reproduced with:
1) Load ice driver
2) Change PF to switchdev mode
3) Bring PF link up
4) Bring PF link down
5) Create a VF on PF
6) Bring PF link up

Added clearing of netdev's multicast (and also unicast) list when
spawning VFs in switchdev mode, so the state of internal rule list and
netdev's MAC list is consistent.

Fixes: 1a1c40df2e ("ice: set and release switchdev environment")
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-10-29 10:56:24 -07:00
..
ice_adminq_cmd.h ice: Add support to print error on PHY FW load failure 2021-10-28 11:00:20 -07:00
ice_arfs.c ice: make use of ice_for_each_* macros 2021-10-15 07:39:03 -07:00
ice_arfs.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_base.c ice: Add infrastructure for mqprio support via ndo_setup_tc 2021-10-20 15:57:54 -07:00
ice_base.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
ice_common.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_controlq.c ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_controlq.h ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_dcb_lib.c ice: Add infrastructure for mqprio support via ndo_setup_tc 2021-10-20 15:57:54 -07:00
ice_dcb_lib.h ice: Add infrastructure for mqprio support via ndo_setup_tc 2021-10-20 15:57:54 -07:00
ice_dcb_nl.c ice: Add feature bitmap, helpers and a check for DSCP 2021-09-28 09:42:04 -07:00
ice_dcb_nl.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_dcb.c ice: Add DSCP support 2021-09-28 09:42:04 -07:00
ice_dcb.h ice: Add DSCP support 2021-09-28 09:42:04 -07:00
ice_devids.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
ice_devlink.c ice: Nuild fix. 2021-10-22 14:24:44 +01:00
ice_devlink.h ice: Move devlink port to PF/VF struct 2021-10-07 10:41:41 -07:00
ice_eswitch.c ice: Clear synchronized addrs when adding VFs in switchdev mode 2021-10-29 10:56:24 -07:00
ice_eswitch.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_ethtool_fdir.c ice: use devm_kcalloc() instead of devm_kzalloc() 2021-10-19 10:53:28 -07:00
ice_ethtool.c ice: enable ndo_setup_tc support for mqprio_qdisc 2021-10-20 15:58:11 -07:00
ice_fdir.c ice: Fix macro name for IPv4 fragment flag 2021-09-28 09:42:04 -07:00
ice_fdir.h ice: Fix macro name for IPv4 fragment flag 2021-09-28 09:42:04 -07:00
ice_flex_pipe.c ice: support for GRE in eswitch 2021-10-28 11:00:20 -07:00
ice_flex_pipe.h ice: create advanced switch recipe 2021-10-11 08:38:27 -07:00
ice_flex_type.h ice: support for GRE in eswitch 2021-10-28 11:00:20 -07:00
ice_flow.c ice: Support RSS configure removal for AVF 2021-04-22 09:26:22 -07:00
ice_flow.h ice: Support RSS configure removal for AVF 2021-04-22 09:26:22 -07:00
ice_fltr.c ice: Manage act flags for switchdev offloads 2021-10-19 10:53:26 -07:00
ice_fltr.h ice: Manage act flags for switchdev offloads 2021-10-19 10:53:26 -07:00
ice_fw_update.c ice: add error message when pldmfw_flash_image fails 2021-06-07 08:59:01 -07:00
ice_fw_update.h ice: add support for flash update overwrite mask 2020-09-25 17:20:57 -07:00
ice_hw_autogen.h ice: fix software generating extra interrupts 2021-10-19 10:45:17 -07:00
ice_idc_int.h ice: Implement iidc operations 2021-05-28 20:11:13 -07:00
ice_idc.c ice: Correctly deal with PFs that do not support RDMA 2021-09-10 09:58:55 +01:00
ice_lag.c ice: Respond to a NETDEV_UNREGISTER event for LAG 2021-10-25 13:44:37 -07:00
ice_lag.h ice: Add initial support framework for LAG 2021-02-08 16:27:01 -08:00
ice_lan_tx_rx.h ice: switchdev slow path 2021-10-07 10:41:42 -07:00
ice_lib.c ice: Remove boolean vlan_promisc flag from function 2021-10-29 10:48:16 -07:00
ice_lib.h ice: Remove boolean vlan_promisc flag from function 2021-10-29 10:48:16 -07:00
ice_main.c ice: Remove boolean vlan_promisc flag from function 2021-10-29 10:48:16 -07:00
ice_nvm.c ice: suppress false cppcheck issues 2021-04-14 17:12:17 -07:00
ice_nvm.h ice: display stored UNDI firmware version via devlink info 2021-02-05 11:44:16 -08:00
ice_osdep.h
ice_protocol_type.h ice: support for GRE in eswitch 2021-10-28 11:00:20 -07:00
ice_ptp_hw.c ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_ptp_hw.h ice: Add support for SMA control multiplexer 2021-10-14 07:37:30 -07:00
ice_ptp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00
ice_ptp.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_repr.c ice: Add support for changing MTU on PR in switchdev mode 2021-10-28 11:00:20 -07:00
ice_repr.h ice: rebuild switchdev when resetting all VFs 2021-10-07 10:41:42 -07:00
ice_sbq_cmd.h ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_sched.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
ice_sched.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
ice_sriov.c ice: warn about potentially malicious VFs 2021-04-22 09:26:22 -07:00
ice_sriov.h ice: warn about potentially malicious VFs 2021-04-22 09:26:22 -07:00
ice_status.h ice: display stored netlist versions via devlink info 2021-02-05 11:43:37 -08:00
ice_switch.c ice: fix error return code in ice_get_recp_frm_fw() 2021-10-28 11:00:21 -07:00
ice_switch.h ice: low level support for tunnels 2021-10-28 11:00:20 -07:00
ice_tc_lib.c ice: support for GRE in eswitch 2021-10-28 11:00:20 -07:00
ice_tc_lib.h ice: VXLAN and Geneve TC support 2021-10-28 11:00:18 -07:00
ice_trace.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice_txrx_lib.c ice: introduce XDP_TX fallback path 2021-10-15 07:39:03 -07:00
ice_txrx_lib.h ice: propagate xdp_ring onto rx_ring 2021-10-15 07:39:03 -07:00
ice_txrx.c ice: use devm_kcalloc() instead of devm_kzalloc() 2021-10-19 10:53:28 -07:00
ice_txrx.h ice: Add infrastructure for mqprio support via ndo_setup_tc 2021-10-20 15:57:54 -07:00
ice_type.h ice: Add infrastructure for mqprio support via ndo_setup_tc 2021-10-20 15:57:54 -07:00
ice_virtchnl_allowlist.c ice: Enable RSS configure for AVF 2021-04-22 09:26:22 -07:00
ice_virtchnl_allowlist.h ice: Allow ignoring opcodes on specific VF 2021-04-22 09:26:22 -07:00
ice_virtchnl_fdir.c ice: Drop leading underscores in enum ice_pf_state 2021-04-14 17:00:05 -07:00
ice_virtchnl_fdir.h ice: Check FDIR program status for AVF 2021-03-22 11:32:12 -07:00
ice_virtchnl_pf.c ice: Remove boolean vlan_promisc flag from function 2021-10-29 10:48:16 -07:00
ice_virtchnl_pf.h ice: Add support for VF rate limiting 2021-10-19 09:22:31 -07:00
ice_xsk.c ice: propagate xdp_ring onto rx_ring 2021-10-15 07:39:03 -07:00
ice_xsk.h ice: split ice_ring onto Tx/Rx separate structs 2021-10-15 07:39:02 -07:00
ice.h ice: Add support to print error on PHY FW load failure 2021-10-28 11:00:20 -07:00
Makefile ice: ndo_setup_tc implementation for PF 2021-10-11 09:03:04 -07:00