linux/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel 852cfeed0e mlxsw: spectrum_switchdev: Release multicast groups during fini
Each multicast group (MID) stores a bitmap of ports to which a packet
should be forwarded to in case an MDB entry associated with the MID is
hit.

Since the initial introduction of IGMP snooping in commit 3a49b4fde2
("mlxsw: Adding layer 2 multicast support") the driver didn't correctly
free these multicast groups upon ungraceful situations such as the
removal of the upper bridge device or module removal.

The correct way to fix this is to associate each MID with the bridge
ports member in it and then drop the reference in case the bridge port
is destroyed, but this will result in a lot more code and will be fixed
in net-next.

For now, upon module removal, traverse the MID list and release each
one.

Fixes: 3a49b4fde2 ("mlxsw: Adding layer 2 multicast support")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-04 11:15:07 -07:00
..
Kconfig mlxsw: spectrum: Add bridge dependency for spectrum 2017-06-01 15:06:45 -04:00
Makefile mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -04:00
cmd.h mlxsw: pci: Remove unused bit 2017-03-08 23:17:38 -08:00
core.c mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
core.h mlxsw: core: Create the mlxsw_fw_rev struct 2017-05-25 17:46:17 -04:00
core_acl_flex_actions.c acl: Introduce ACL trap action 2017-06-06 12:45:24 -04:00
core_acl_flex_actions.h acl: Introduce ACL trap action 2017-06-06 12:45:24 -04:00
core_acl_flex_keys.c mlxsw: core: Introduce flexible keys support 2017-02-03 16:35:41 -05:00
core_acl_flex_keys.h mlxsw: acl: Add tcp flags acl element 2017-05-24 16:22:11 -04:00
core_hwmon.c mlxsw: core: Zero payload buffers for couple of registers 2016-10-30 16:50:17 -04:00
core_thermal.c mlxsw: core: Implement thermal zone 2016-11-22 10:04:19 -05:00
emad.h mlxsw: Add interface to access registers and process events 2015-07-30 00:05:00 -07:00
i2c.c mlxsw: Fix mlxsw_i2c_write return value 2017-01-09 14:35:13 -05:00
i2c.h mlxsw: Introduce support for I2C bus 2016-11-16 23:29:04 -05:00
ib.h mlxsw: switchx2: Add IB port support 2016-10-30 16:50:17 -04:00
item.h mlxsw: item: Add helpers for getting pointer into payload for char buffer item 2017-02-03 16:35:38 -05:00
minimal.c mlxsw: minimal: Add I2C support for Mellanox ASICs 2016-11-16 23:29:04 -05:00
pci.c mlxsw: convert to pci_alloc_irq_vectors 2017-04-11 11:16:03 -04:00
pci.h mlxsw: switchib: Introduce SwitchIB and SwitchIB silicon driver 2016-10-30 16:50:17 -04:00
pci_hw.h mlxsw: pci: Fix size of trap_id field in CQE 2017-06-06 12:45:23 -04:00
port.h mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
reg.h mlxsw: reg: Add MCIA register for cable info access 2017-06-14 15:16:30 -04:00
resources.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum.c mlxsw: spectrum: Add support for access cable info via ethtool 2017-06-14 15:16:30 -04:00
spectrum.h mlxsw: spectrum_switchdev: Add support for learning FDB through notification 2017-06-08 14:16:27 -04:00
spectrum_acl.c acl: Introduce ACL trap action 2017-06-06 12:45:24 -04:00
spectrum_acl_flex_keys.h mlxsw: spectrum: Add acl block containing tcp flags for ipv4 2017-05-24 16:22:11 -04:00
spectrum_acl_tcam.c mlxsw: spectrum_flower: Add support for tcp flags 2017-05-24 16:22:11 -04:00
spectrum_buffers.c mlxsw: spectrum_buffer: Reduce scope of shared buffer struct 2017-05-17 14:06:54 -04:00
spectrum_cnt.c mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_cnt.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_dcb.c mlxsw: spectrum: Do not override PAUSE settings 2016-08-08 12:57:27 -07:00
spectrum_dpipe.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-05-18 16:11:32 -04:00
spectrum_dpipe.h mlxsw: spectrum: Add definition for egress rif table 2017-03-28 17:11:54 -07:00
spectrum_fid.c mlxsw: Fix typo inside enumeration 2017-06-04 23:49:48 -04:00
spectrum_flower.c spectrum_flower: Implement gact trap TC action offload 2017-06-06 12:45:24 -04:00
spectrum_kvdl.c mlxsw: spectrum_kvdl: Cosmetic kvdl allocator API change 2017-03-25 19:56:15 -07:00
spectrum_router.c mlxsw: spectrum_router: Don't offload routes next in list 2017-07-24 14:14:48 -07:00
spectrum_router.h mlxsw: spectrum_router: Move RIFs array to its rightful place 2017-05-17 14:06:54 -04:00
spectrum_switchdev.c mlxsw: spectrum_switchdev: Release multicast groups during fini 2017-08-04 11:15:07 -07:00
switchib.c mlxsw: Change trap groups setting 2016-11-25 21:22:14 -05:00
switchx2.c mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
trap.h mlxsw: spectrum: Introduce ACL trap 2017-06-06 12:45:24 -04:00
txheader.h mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00