android_kernel_motorola_sm6375/drivers/net
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Vladimir Oltean 2bfb0d43a4 net: mscc: ocelot: allow unregistered IP multicast flooding
Flooding of unregistered IP multicast has been broken (both to other
switch ports and to the CPU) since the ocelot driver introduction, and
up until commit 4cf35a2b627a ("net: mscc: ocelot: fix broken IP
multicast flooding"), a bug fix for commit 421741ea5672 ("net: mscc:
ocelot: offload bridge port flags to device") from v5.12.

The driver used to set PGID_MCIPV4 and PGID_MCIPV6 to the empty port
mask (0), which made unregistered IPv4/IPv6 multicast go nowhere, and
without ever modifying that port mask at runtime.

The expectation is that such packets are treated as broadcast, and
flooded according to the forwarding domain (to the CPU if the port is
standalone, or to the CPU and other bridged ports, if under a bridge).

Since the aforementioned commit, the limitation has been lifted by
responding to SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS events emitted by the
bridge. As for host flooding, DSA synthesizes another call to
ocelot_port_bridge_flags() on the NPI port which ensures that the CPU
gets the unregistered multicast traffic it might need, for example for
smcroute to work between standalone ports.

But between v4.18 and v5.12, IP multicast flooding has remained unfixed.

Delete the inexplicable premature optimization of clearing PGID_MCIPV4
and PGID_MCIPV6 as part of the init sequence, and allow unregistered IP
multicast to be flooded freely according to the forwarding domain
established by PGID_SRC, by explicitly programming PGID_MCIPV4 and
PGID_MCIPV6 towards all physical ports plus the CPU port module.

Fixes: a556c76adc ("net: mscc: Add initial Ocelot switch support")
Cc: stable@kernel.org
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-07-02 16:28:50 +02:00
..
appletalk
arcnet net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe() 2022-03-08 19:07:48 +01:00
bonding bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers 2022-06-29 08:58:46 +02:00
caif
can can: xilinx_can: mark bit timing constants as const 2022-06-14 18:11:39 +02:00
dsa net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list 2022-06-14 18:11:57 +02:00
ethernet net: mscc: ocelot: allow unregistered IP multicast flooding 2022-07-02 16:28:50 +02:00
fddi
fjes
hamradio hamradio: remove needs_free_netdev to avoid UAF 2022-05-09 09:03:20 +02:00
hippi drivers: net: hippi: Fix deadlock in rr_close() 2022-05-09 09:03:27 +02:00
hyperv hv_netvsc: Add check for kvmalloc_array 2022-03-23 09:12:07 +01:00
ieee802154 net: ieee802154: ca8210: Fix lifs/sifs periods 2022-02-23 11:59:58 +01:00
ipvlan
netdevsim
phy phy: aquantia: Fix AN when higher speeds than 1G are not advertised 2022-06-29 08:58:45 +02:00
plip
ppp ppp: ensure minimum packet size in ppp_write() 2022-01-27 09:19:35 +01:00
slip drivers: net: slip: fix NPD bug in sl_tx_timeout() 2022-04-20 09:19:37 +02:00
team
usb net: usb: aqc111: Fix out-of-bounds accesses in RX fixup 2022-04-20 09:19:37 +02:00
vmxnet3 net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup() 2022-05-25 09:14:35 +02:00
wan
wimax
wireless carl9170: tx: fix an incorrect use of list iterator 2022-06-14 18:11:48 +02:00
xen-netback Revert "xen-netback: Check for hotplug-status existence before watching" 2022-03-16 13:21:47 +01:00
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c net: macsec: Verify that send_sci is on when setting Tx sci explicitly 2022-02-08 18:24:31 +01:00
macvlan.c
macvtap.c macvtap: advertise link netns via netlink 2022-04-15 14:18:34 +02:00
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tuntap: add sanity checks about msg_controllen in sendmsg 2022-04-15 14:18:34 +02:00
thunderbolt.c
tun.c tuntap: add sanity checks about msg_controllen in sendmsg 2022-04-15 14:18:34 +02:00
veth.c veth: Ensure eth header is in skb's linear part 2022-04-20 09:19:34 +02:00
virtio_net.c virtio_net: fix xdp_rxq_info bug after suspend/resume 2022-06-29 08:58:47 +02:00
vrf.c
vsockmon.c
vxlan.c vxlan: fix error return code in vxlan_fdb_append 2022-04-27 13:50:47 +02:00
xen-netfront.c xen/netfront: react properly to failing gnttab_end_foreign_access_ref() 2022-03-11 11:22:39 +01:00