linux/drivers/net/ethernet/sfc
Ben Hutchings 8803e15042 sfc: Add flag for stack-owned RX MAC filters
MAC filters inserted on request from the stack (ndo_set_rx_mode)
should allow manual steering but not removal.  Currently we have a
special case for Siena's all-multicast and all-unicast MAC filters,
but on EF10 we need to allow for steering of precise MAC filters as
well.

The EFX_FILTER_FLAG_RX_STACK flag changes the behaviour of replacement
and removal requests:

- Replacement *of* a filter with this flag never clears the flag but
  does change steering and saved priority
- Replacement *by* a filter with this flag only sets the flag but does
  not change steering
- Removal with priority < EFX_FILTER_PRI_REQUIRED really resets RX
  steering and saved priority

This could support precise MAC filtering on Siena in future.

As a side-benefit, the default MAC filters are hidden from ethtool
until they are steered.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2013-08-22 19:25:59 +01:00
..
bitfield.h sfc: Add parentheses around use of bitfield macro arguments 2012-10-02 01:58:39 +01:00
efx.c sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
efx.h sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
enum.h sfc: Add AER and EEH support for Siena 2013-03-07 20:22:04 +00:00
ethtool.c sfc: Extend and abstract efx_filter_spec to cover Huntington/EF10 2013-08-22 19:25:53 +01:00
falcon_boards.c sfc: Change state names to be clearer, and comment them 2012-08-24 20:10:18 +01:00
falcon.c sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
farch_regs.h sfc: Rename Falcon-architecture register definitions 2013-08-21 19:44:20 +01:00
farch.c sfc: Add flag for stack-owned RX MAC filters 2013-08-22 19:25:59 +01:00
filter.h sfc: Add flag for stack-owned RX MAC filters 2013-08-22 19:25:59 +01:00
io.h sfc: const-qualify source pointers for MMIO write functions 2013-08-21 14:20:19 +01:00
Kconfig sfc: Fix Kconfig typo "----help---" 2013-03-18 10:50:23 +01:00
Makefile sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
mcdi_mon.c sfc: Add GFP flags to efx_nic_alloc_buffer() and make most callers allow blocking 2013-08-21 19:43:47 +01:00
mcdi_pcol.h sfc: Update MCDI protocol definitions for EF10 2013-08-21 20:20:37 +01:00
mcdi_port.c sfc: Update MCDI protocol definitions for EF10 2013-08-21 20:20:37 +01:00
mcdi.c sfc: Fix race in completion handling 2013-08-21 20:20:39 +01:00
mcdi.h sfc: Update and improve kernel-doc for efx_mcdi_state & efx_mcdi_iface 2013-08-21 20:20:41 +01:00
mdio_10g.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
mdio_10g.h
mtd.c sfc: Expose FPGA bitfile partition through MTD 2012-09-19 02:56:24 +01:00
net_driver.h sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
nic.c sfc: Move and rename Falcon/Siena common NIC operations 2013-08-21 20:19:05 +01:00
nic.h sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
phy.h sfc: Collect all MCDI port functions into mcdi_port.c 2013-08-21 19:43:03 +01:00
ptp.c sfc: Add support for MCDI v2 2013-08-21 20:20:38 +01:00
qt202x_phy.c sfc: Implement module EEPROM access for SFE4002 and SFN4112F 2012-05-10 03:10:54 +01:00
rx.c sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
selftest.c sfc: Remove efx_process_channel_now() 2013-08-21 19:44:31 +01:00
selftest.h sfc: Run event/IRQ self-test asynchronously when interface is brought up 2012-03-06 18:14:15 +00:00
siena_sriov.c sfc: Move and rename Falcon/Siena common NIC operations 2013-08-21 20:19:05 +01:00
siena.c sfc: Make most filter operations NIC-type-specific 2013-08-22 19:25:57 +01:00
spi.h sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tenxpress.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tx.c sfc: Refactor queue teardown sequence to allow for EF10 flush behaviour 2013-08-21 19:49:23 +01:00
txc43128_phy.c sfc: Const-qualify static data as appropriate, partly prompted by checkpatch 2012-01-09 17:08:13 +00:00
vfdi.h sfc: Specify that the VFDI status page has page alignment and size 2012-02-22 20:48:07 +00:00
workarounds.h sfc: EFX_WORKAROUND_ALWAYS is really specific to Falcon-architecture 2013-08-21 20:20:43 +01:00