linux/drivers/net
Maxime Chevallier 56beda3db6 net: mvpp2: Add hardware offloading for VLAN filtering
Marvell PPv2 controller allows for generic packet filtering. This commit
adds entries to implement VLAN filtering. The approach taken is :

 - Filter entries that would match on the presence of the VLAN tag
   (existing VLAN detection, DSA / EDSA detection) will set the next
   lookup ID to be for the VID.

 - For each VLAN existing on a given port, we add an entry that matches
   this specific VID. If the incoming packet matches the VID entry, it is
   set for the next lookup in the chain (LU_L2).

 - A Guard entry is added for each port, that will match if the incoming
   packet didn't match any of the above VID entries. This entry tags the
   packet to be dropped.

Due to this design, and the fact that the total 256 filter entries are
also used for other purposes, we have a limit of 10 VLANs per port. To
accommodate the case where we would need more VLANS on one port, this
patch implements the ndo_set_features to allow for disabling of VLAN
filtering using ethtool.

The default config has VLAN filtering disabled.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-02-28 12:04:30 -05:00
..
appletalk
arcnet
bonding net: Convert bond_net_ops 2018-02-27 11:01:36 -05:00
caif net: caif: remove redundant re-assignment of pointer pfrm 2018-01-22 10:51:56 -05:00
can can: migrate documentation to restructured text 2018-01-26 10:46:44 +01:00
cris
dsa net: dsa: mv88e6xxx: Poll when no interrupt defined 2018-02-26 11:28:10 -05:00
ethernet net: mvpp2: Add hardware offloading for VLAN filtering 2018-02-28 12:04:30 -05:00
fddi
fjes
hamradio
hippi
hyperv hv_netvsc: Use the num_online_cpus() for channel limit 2018-01-22 16:24:08 -05:00
ieee802154 ieee802154: Add NXP MCR20A IEEE 802.15.4 transceiver driver 2018-02-21 09:08:39 +01:00
ipvlan net: Convert ipvlan_net_ops 2018-02-27 11:01:38 -05:00
netdevsim netdevsim: fix overflow on the error path 2018-02-01 11:22:51 +01:00
phy sfp: add high power module support 2018-02-28 11:07:11 -05:00
plip
ppp net: Convert ppp_net_ops 2018-02-27 11:01:37 -05:00
slip
team team: Use extack to report enslavement failures 2018-02-28 11:01:30 -05:00
usb smsc75xx: fix smsc75xx_set_features() 2018-02-22 14:05:15 -05:00
vmxnet3 vmxnet3: remove redundant initialization of pointer 'rq' 2018-02-01 14:54:28 -05:00
wan Merge branch 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-01-30 17:58:07 -08:00
wimax treewide: Use DEVICE_ATTR_WO 2018-01-09 16:34:35 +01:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-24 00:04:20 -05:00
xen-netback xen-netback: make function xenvif_rx_skb static 2018-02-26 11:36:54 -05:00
dummy.c
eql.c
geneve.c net: Convert geneve_net_ops 2018-02-27 11:01:36 -05:00
gtp.c net: Convert gtp_net_ops 2018-02-27 11:01:37 -05:00
ifb.c
Kconfig ipvlan: fix building with modular IPV6 2018-02-27 10:37:14 -05:00
LICENSE.SRC
loopback.c net: Convert loopback_net_ops 2018-02-13 10:36:09 -05:00
macsec.c macsec: restore uAPI after addition of GCM-AES-256 2018-01-22 15:40:16 -05:00
macvlan.c macvlan: fix use-after-free in macvlan_common_newlink() 2018-02-23 10:48:10 -05:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c net/mac8390: Convert to nubus_driver 2018-02-21 14:14:05 -05:00
sungem_phy.c
tap.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
thunderbolt.c net: thunderbolt: Run disconnect flow asynchronously when logout is received 2018-02-12 12:03:04 -05:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-19 18:46:11 -05:00
veth.c
virtio_net.c virtio_net: fix ndo_xdp_xmit crash towards dev not ready for XDP 2018-02-21 15:09:29 -05:00
vrf.c net: Convert simple pernet_operations 2018-02-27 11:01:35 -05:00
vsockmon.c
vxlan.c net: Convert vxlan_net_ops 2018-02-27 11:01:37 -05:00
xen-netfront.c xen-netfront: Fix race between device setup and open 2018-02-06 09:55:40 +01:00