linux/drivers/net/ethernet/sfc
Daniel Pieczko ab8b1f7cf8 sfc: support cascaded multicast filters
If the workaround to support cascaded multicast filters ("workaround_26807") is
enabled, the broadcast filter and individual multicast filters are not inserted
when in promiscuous or allmulti mode.

There is a race while inserting and removing filters when entering and leaving
promiscuous mode.  When changing promiscuous state with cascaded multicast
filters, the old multicast filters are removed before inserting the new filters
to avoid duplicating packets; this can lead to dropped packets until all
filters have been inserted.

The efx_nic:mc_promisc flag is added to record the presence of a multicast
promiscuous filter; this gives a simple way to tell if the promiscuous state is
changing.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-21 22:21:32 -07:00
..
bitfield.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
ef10.c sfc: support cascaded multicast filters 2015-07-21 22:21:32 -07:00
ef10_regs.h sfc: Remove unused definitions of EF10 user-mode DMA descriptors 2014-02-12 17:53:34 -05:00
ef10_sriov.c sfc: Ensure down_write(&filter_sem) and up_write() are matched before calling efx_net_open() 2015-07-08 16:18:52 -07:00
ef10_sriov.h sfc: add legacy method for changing a PF's MAC address 2015-07-08 16:07:33 -07:00
efx.c sfc: Report TX completions to BQL after all TX events in interrupt 2015-07-09 00:00:40 -07:00
efx.h sfc: add ndo_set_vf_mac() function for EF10 2015-05-21 18:43:54 -04:00
enum.h sfc: Change entity reset on MC reboot to a new datapath-only reset. 2015-05-21 18:43:54 -04:00
ethtool.c sfc: protect filter table against use-after-free 2015-05-21 18:43:53 -04:00
falcon.c sfc: Bind the sfc driver to any available VF's 2015-05-09 16:16:48 -04:00
falcon_boards.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
farch.c sfc: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code 2015-05-09 16:16:46 -04:00
farch_regs.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
filter.h sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
io.h sfc: PIO:Restrict to 64bit arch and use 64-bit writes. 2014-06-11 15:36:21 -07:00
Kconfig sfc: add sysfs entry to control MCDI tracing 2015-05-27 13:54:51 -04:00
Makefile sfc: Enable VF's via a write to the sysfs file sriov_numvfs 2015-05-09 16:16:46 -04:00
mcdi.c sfc: add output flag decoding to efx_mcdi_set_workaround 2015-07-21 22:21:32 -07:00
mcdi.h sfc: add output flag decoding to efx_mcdi_set_workaround 2015-07-21 22:21:32 -07:00
mcdi_mon.c sfc: Add new sensor names 2013-12-12 22:06:54 +00:00
mcdi_pcol.h sfc: update MCDI protocol definitions 2015-07-21 22:21:31 -07:00
mcdi_port.c sfc: suppress ENOENT error messages from MC_CMD_MAC_STATS 2015-06-02 12:57:29 -07:00
mdio_10g.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
mdio_10g.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
mtd.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
net_driver.h sfc: support cascaded multicast filters 2015-07-21 22:21:32 -07:00
nic.c sfc: fix calling of free_irq with already free vector 2014-05-12 14:56:45 -04:00
nic.h sfc: enable cascaded multicast filters in MCFW 2015-07-21 22:21:31 -07:00
phy.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
ptp.c sfc: Initialise MCDI buffers to 0 on declaration. 2015-05-21 18:43:53 -04:00
qt202x_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
rx.c sfc: free multiple Rx buffers when required 2015-05-31 17:36:20 -07:00
selftest.c sfc: Fix memcpy() with const destination compiler warning. 2015-04-17 15:15:40 -04:00
selftest.h sfc: Add MC BISTs to ethtool offline self test on EF10 2013-12-12 22:05:48 +00:00
siena.c siena: only report generic filters in get_ts_info 2015-07-17 19:59:06 -07:00
siena_sriov.c sfc: save old MAC address in case sriov_mac_address_changed fails 2015-05-21 18:43:53 -04:00
siena_sriov.h sfc: save old MAC address in case sriov_mac_address_changed fails 2015-05-21 18:43:53 -04:00
sriov.c sfc: Implement ndo_gets_phys_port_id() for EF10 VFs 2015-06-02 12:57:26 -07:00
sriov.h sfc: Implement ndo_gets_phys_port_id() for EF10 VFs 2015-06-02 12:57:26 -07:00
tenxpress.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
tx.c sfc: Report TX completions to BQL after all TX events in interrupt 2015-07-09 00:00:40 -07:00
txc43128_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
vfdi.h ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
workarounds.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00