linux/drivers/net/ethernet/ti
Lennart Sorensen 1e5c4bc497 drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode
The cpsw driver did not support the IFF_ALLMULTI flag which makes dynamic
multicast routing not work.  Related to this, when enabling IFF_PROMISC
in switch mode, all registered multicast addresses are flushed, resulting
in only broadcast and unicast traffic being received.

A new cpsw_ale_set_allmulti function now scans through the ALE entry
table and adds/removes the host port from the unregistered multicast
port mask of each vlan entry depending on the state of IFF_ALLMULTI.
In promiscious mode, cpsw_ale_set_allmulti is used to force reception
of all multicast traffic in addition to the unicast and broadcast traffic.

With this change dynamic multicast and promiscious mode both work in
switch mode.

Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-31 16:17:56 -04:00
..
Kconfig net: cpsw: Add am33xx MACID readout 2014-09-30 01:30:43 -04:00
Makefile drivers: net: cpsw-phy-sel: Add new driver for phy mode selection for cpsw 2013-09-24 10:33:07 -04:00
cpmac.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
cpsw-phy-sel.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
cpsw.c drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode 2014-10-31 16:17:56 -04:00
cpsw.h net: cpsw: header, Add missing include 2014-09-30 01:30:43 -04:00
cpsw_ale.c drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode 2014-10-31 16:17:56 -04:00
cpsw_ale.h drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode 2014-10-31 16:17:56 -04:00
cpts.c ptp: Classify ptp over ip over vlan packets 2014-07-07 16:57:18 -07:00
cpts.h ti: Remove extern from function prototypes 2013-09-24 12:54:10 -07:00
davinci_cpdma.c drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order detected 2014-10-14 15:59:38 -04:00
davinci_cpdma.h net/davinci_cpdma: remove unused argument in cpdma_chan_submit() 2013-04-25 04:11:50 -04:00
davinci_emac.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
davinci_mdio.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
tlan.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
tlan.h tlan: Don't scream if no link 2014-07-07 17:06:52 -07:00