linux_dsm_epyc7002/drivers/net
Hauke Mehrtens 8206e0ce96 net: dsa: lantiq: Add VLAN unaware bridge offloading
This allows to offload bridges with DSA to the switch hardware and do
the packet forwarding in hardware.

This implements generic functions to access the switch hardware tables,
which are used to control many features of the switch.

This patch activates the MAC learning by removing the MAC address table
lock, to prevent uncontrolled forwarding of packets between all the LAN
ports, they are added into individual bridge tables entries with
individual flow ids and the switch will do the MAC learning for each
port separately before they are added to a real bridge.

Each bridge consist of an entry in the active VLAN table and the VLAN
mapping table, table entries with the same index are matching. In the
VLAN unaware mode we configure everything with VLAN ID 0, but we use
different flow IDs, the switch should handle all VLANs as normal payload
and ignore them. When the hardware looks for the port of the destination
MAC address it only takes the entries which have the same flow ID of the
ingress packet.

The bridges are configured with 64 possible entries with these
information:
Table Index, 0...63
VLAN ID, 0...4095: VLAN ID 0 is untagged
flow ID, 0..63: Same flow IDs share entries in MAC learning table
port map, one bit for each port number
tagged port map, one bit for each port number

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-07 10:34:44 -07:00
..
appletalk ipv4: Prepare rtable for IPv6 gateway 2019-04-08 15:22:40 -07:00
arcnet
bonding netlink: make nla_nest_start() add NLA_F_NESTED flag 2019-04-27 17:03:44 -04:00
caif
can
dsa net: dsa: lantiq: Add VLAN unaware bridge offloading 2019-05-07 10:34:44 -07:00
ethernet r8169: add rtl8168g_set_pause_thresholds 2019-05-05 21:58:36 -07:00
fddi
fjes
hamradio
hippi net: hippi:Fix misuse of %x in rrunner.c 2019-04-21 10:37:26 -07:00
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-05 14:14:19 -07:00
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
ipvlan
netdevsim netdevsim: Make nsim_num_vf static 2019-05-05 10:48:45 -07:00
phy net: phy: improve resuming from hibernation 2019-05-04 00:50:58 -04:00
plip
ppp
slip slip: make slhc_free() silently accept an error pointer 2019-04-26 18:19:09 -07:00
team genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
usb net: usb: support of_get_mac_address new ERR_PTR error 2019-05-05 21:47:07 -07:00
vmxnet3
wan
wimax wimax/i2400m: use struct_size() helper 2019-05-04 00:04:31 -04:00
wireless net: wireless: support of_get_mac_address new ERR_PTR error 2019-05-05 21:47:07 -07:00
xen-netback xen-netback: add reference from xenvif to backend_info to facilitate coredump analysis 2019-04-12 10:10:28 -07:00
dummy.c net: dummy: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
eql.c
geneve.c ipv6: Move ipv6 stubs to a separate header file 2019-03-29 10:53:45 -07:00
gtp.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
ifb.c
Kconfig net: devlink: select NET_DEVLINK from drivers 2019-03-24 14:55:31 -04:00
LICENSE.SRC
loopback.c net: loopback: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
macsec.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
macvlan.c netlink: make nla_nest_start() add NLA_F_NESTED flag 2019-04-27 17:03:44 -04:00
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c net: remove 'fallback' argument from dev->ndo_select_queue() 2019-03-20 11:18:55 -07:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c sb1000: fix variable set but not used warnings 2019-04-18 17:06:15 -07:00
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c net: pass net_device argument to the eth_get_headlen 2019-04-23 18:36:34 +02:00
veth.c net: veth: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
virtio_net.c virtio-net: Fix some minor formatting errors 2019-04-06 18:10:11 -07:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-25 23:52:29 -04:00
vsockmon.c
vxlan.c ipv6: Move ipv6 stubs to a separate header file 2019-03-29 10:53:45 -07:00
xen-netfront.c xen-netfront: mark expected switch fall-through 2019-04-16 21:03:02 -07:00