linux/drivers
Arınç ÜNAL 69ddba9d17 net: dsa: mt7530: fix handling of all link-local frames
Currently, the MT753X switches treat frames with :01-0D and :0F MAC DAs as
regular multicast frames, therefore flooding them to user ports.

On page 205, section "8.6.3 Frame filtering" of the active standard, IEEE
Std 802.1Q™-2022, it is stated that frames with 01:80:C2:00:00:00-0F as MAC
DA must only be propagated to C-VLAN and MAC Bridge components. That means
VLAN-aware and VLAN-unaware bridges. On the switch designs with CPU ports,
these frames are supposed to be processed by the CPU (software). So we make
the switch only forward them to the CPU port. And if received from a CPU
port, forward to a single port. The software is responsible of making the
switch conform to the latter by setting a single port as destination port
on the special tag.

This switch intellectual property cannot conform to this part of the
standard fully. Whilst the REV_UN frame tag covers the remaining :04-0D and
:0F MAC DAs, it also includes :22-FF which the scope of propagation is not
supposed to be restricted for these MAC DAs.

Set frames with :01-03 MAC DAs to be trapped to the CPU port(s). Add a
comment for the remaining MAC DAs.

Note that the ingress port must have a PVID assigned to it for the switch
to forward untagged frames. A PVID is set by default on VLAN-aware and
VLAN-unaware ports. However, when the network interface that pertains to
the ingress port is attached to a vlan_filtering enabled bridge, the user
can remove the PVID assignment from it which would prevent the link-local
frames from being trapped to the CPU port. I am yet to see a way to forward
link-local frames while preventing other untagged frames from being
forwarded too.

Fixes: b8f126a8d5 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-03-21 12:03:00 +01:00
..
accel accel/ivpu: Don't enable any tiles by default on VPU40xx 2024-02-20 16:56:21 +01:00
accessibility
acpi ACPI fix for 6.8-rc7 2024-02-28 12:20:00 -08:00
amba
android binder: signal epoll threads of self-work 2024-01-31 14:08:28 -08:00
ata ata: libata-core: Do not call ata_dev_power_set_standby() twice 2024-02-21 19:09:17 +01:00
atm atm: fore200e: Convert to platform remove callback returning void 2024-03-07 20:36:32 -08:00
auxdisplay drm-next for 6.8: 2024-01-12 11:32:19 -08:00
base * Mitigate RFDS vulnerability 2024-03-12 09:31:39 -07:00
bcma bcma: make bcma_bus_type const 2024-02-06 20:07:35 +02:00
block for-6.9/block-20240310 2024-03-11 11:43:44 -07:00
bluetooth Bluetooth: Add new quirk for broken read key length on ATS2851 2024-03-06 17:27:14 -05:00
bus ARM: SoC drivers for 6.9 2024-03-12 10:35:24 -07:00
cache cache: ax45mp_cache: Align end size to cache boundary in ax45mp_dma_cache_wback() 2024-02-21 16:24:10 +00:00
cdrom cdrom: gdrom: Convert to platform remove callback returning void 2024-03-07 11:53:30 -07:00
cdx
char TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
clk Initial support for the rk3568 Qnap TS433 NAS, the rk3588-based Tiger SoM 2024-03-04 08:32:45 +01:00
clocksource treewide: Remove system_counterval_t.cs, which is never read 2024-02-07 17:05:21 +01:00
comedi comedi: comedi_test: Prevent timers rescheduling during deletion 2024-03-05 14:21:45 +00:00
connector connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared" 2024-02-13 11:15:44 +01:00
counter counter: fix privdata alignment 2024-02-16 18:51:00 -05:00
cpufreq cpufreq: intel_pstate: fix pstate limits enforcement for adjust_perf call back 2024-02-24 15:01:59 +01:00
cpuidle
crypto - Add the x86 part of the SEV-SNP host support. This will allow the 2024-03-11 17:44:11 -07:00
cxl cxl/acpi: Fix load failures due to single window creation failure 2024-02-20 22:58:05 -08:00
dax New code for 6.8: 2024-01-10 08:45:22 -08:00
dca
devfreq
dio
dma Updates for the MSI interrupt subsystem and RISC-V initial MSI support: 2024-03-11 14:03:03 -07:00
dma-buf dma-buf: heaps: Don't track CMA dma-buf pages under RssFile 2024-01-31 19:54:58 +05:30
dpll Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-03-11 20:38:36 -07:00
edac - Add a FRU (Field Replaceable Unit) memory poison manager which 2024-03-11 18:14:06 -07:00
eisa
extcon
firewire firewire: ohci: prevent leak of left-over IRQ on unbind 2024-03-06 22:35:22 +09:00
firmware pstore updates for v6.9-rc1 2024-03-12 14:36:18 -07:00
fpga Char/Misc and other Driver changes for 6.8-rc1 2024-01-17 16:47:17 -08:00
fsi
gnss TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
gpio gpio: fix resource unwinding order in error path 2024-03-01 09:33:30 +01:00
gpu A moderatly busy cycle for development this time around. 2024-03-12 15:18:34 -07:00
greybus TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
hid bpf-next-for-netdev 2024-03-02 20:50:59 -08:00
hsi
hte
hv Drivers: hv: vmbus: make hv_bus const 2024-03-03 02:32:35 +00:00
hwmon Rework of APIC enumeration and topology evaluation: 2024-03-11 15:45:55 -07:00
hwspinlock
hwtracing
i2c i2c: aspeed: Fix the dummy irq expected print 2024-03-08 10:10:27 +01:00
i3c
idle Power management updates for 6.8-rc1 2024-01-09 16:32:11 -08:00
iio iio: accel: adxl367: fix I2C FIFO data register 2024-02-25 14:31:14 +00:00
infiniband rtnetlink: prepare nla_put_iflink() to run under RCU 2024-02-26 11:46:12 +00:00
input Input updates for v6.8-rc7 2024-03-08 13:06:35 -08:00
interconnect interconnect: qcom: x1e80100: Add missing ACV enable_mask 2024-02-04 23:36:06 +02:00
iommu SoC: device tree updates for 6.9 2024-03-12 10:29:57 -07:00
ipack TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
irqchip Updates for the MSI interrupt subsystem and RISC-V initial MSI support: 2024-03-11 14:03:03 -07:00
isdn isdn: capi: make capi_class constant 2024-03-07 20:26:24 -08:00
leds - New Drivers 2024-01-17 15:25:27 -08:00
macintosh
mailbox irqchip: Convert all platform MSI users to the new API 2024-02-15 17:55:40 +01:00
mcb
md Revert "dm: use queue_limits_set" 2024-03-11 17:11:28 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-22 15:29:26 -08:00
memory memory: stm32-fmc2-ebi: keep power domain on 2024-02-27 10:18:04 +01:00
memstick mspro_block: pass queue_limits to blk_mq_alloc_disk 2024-02-19 16:59:31 -07:00
message
mfd TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
misc hardening updates for v6.9-rc1 2024-03-12 14:49:30 -07:00
mmc for-6.9/block-20240310 2024-03-11 11:43:44 -07:00
most
mtd for-6.9/block-20240310 2024-03-11 11:43:44 -07:00
mux
net net: dsa: mt7530: fix handling of all link-local frames 2024-03-21 12:03:00 +01:00
nfc
ntb
nubus
nvdimm pmem: pass queue_limits to blk_mq_alloc_disk 2024-02-19 16:58:24 -07:00
nvme Networking changes for 6.9. 2024-03-12 17:44:08 -07:00
nvmem nvmem: include bit index in cell sysfs file name 2024-02-14 16:28:16 +01:00
of Devicetree fix for v6.8, part 2: 2024-03-01 17:18:35 -08:00
opp
parisc
parport
pci Networking changes for 6.9. 2024-03-12 17:44:08 -07:00
pcmcia
peci
perf Updates for the MSI interrupt subsystem and RISC-V initial MSI support: 2024-03-11 14:03:03 -07:00
phy phy: qcom-qmp-combo: fix type-c switch registration 2024-03-06 20:37:37 +05:30
pinctrl pinctrl: don't put the reference to GPIO device in pinctrl_pins_show() 2024-02-29 14:36:40 +01:00
platform Rework of APIC enumeration and topology evaluation: 2024-03-11 15:45:55 -07:00
pmdomain ARM: SoC drivers for 6.9 2024-03-12 10:35:24 -07:00
pnp More ACPI updates for 6.8-rc1 2024-01-17 14:37:40 -08:00
power power: supply: bq27xxx-i2c: Do not free non existing IRQ 2024-02-16 23:42:38 +01:00
powercap x86/cpu/topology: Rename topology_max_die_per_package() 2024-02-15 22:07:45 +01:00
pps
ps3
ptp Networking changes for 6.9. 2024-03-12 17:44:08 -07:00
pwm pwm: jz4740: Don't use dev_err_probe() in .request() 2024-01-12 18:25:05 +01:00
rapidio
ras - Add a FRU (Field Replaceable Unit) memory poison manager which 2024-03-11 18:14:06 -07:00
regulator regulator: rk808: fix LDO range on RK806 2024-03-04 14:54:32 +00:00
remoteproc
reset SoC: driver updates for 6.8 2024-01-11 11:31:46 -08:00
rpmsg
rtc rtc: test: Fix invalid format specifier. 2024-02-27 16:26:48 -07:00
s390 s390 updates for 6.9 merge window 2024-03-12 10:14:22 -07:00
sbus
scsi for-6.9/block-20240310 2024-03-11 11:43:44 -07:00
sh
siox
slimbus
soc soc: fsl: qbman: Use raw spinlock for cgr_lock 2024-03-13 08:12:02 +00:00
soundwire soundwire updates for 6.7 2024-01-18 17:08:31 -08:00
spi spi: cs42l43: Don't limit native CS to the first chip select 2024-03-06 17:44:28 +00:00
spmi
ssb ssb: make ssb_bustype const 2024-02-06 20:07:12 +02:00
staging Networking changes for 6.9. 2024-03-12 17:44:08 -07:00
target vfs-6.9.super 2024-03-11 10:52:34 -07:00
tc
tee ARM: SoC drivers for 6.9 2024-03-12 10:35:24 -07:00
thermal x86/cpu/topology: Rename topology_max_die_per_package() 2024-02-15 22:07:45 +01:00
thunderbolt thunderbolt: Fix for v6.8-rc7 2024-03-02 19:47:01 +01:00
tty Revert "tty: serial: simplify qcom_geni_serial_send_chunk_fifo()" 2024-03-05 13:40:34 +00:00
ufs Updates for the MSI interrupt subsystem and RISC-V initial MSI support: 2024-03-11 14:03:03 -07:00
uio
usb workqueue: BH workqueue conversions for v6.9 2024-03-11 13:05:19 -07:00
vdpa virtio: features, fixes 2024-01-18 16:44:03 -08:00
vfio VFIO updates for v6.8-rc1 2024-01-18 15:57:25 -08:00
vhost vhost/net: remove vhost_net_page_frag_refill() 2024-03-05 11:38:14 +01:00
video hyperv-fixes for v6.8 2024-03-05 12:38:50 -08:00
virt Char/Misc and other Driver changes for 6.8-rc1 2024-01-17 16:47:17 -08:00
virtio virtio: features, fixes 2024-01-18 16:44:03 -08:00
w1
watchdog watchdog: s3c2410_wdt: use exynos_get_pmu_regmap_by_phandle() for PMU regs 2024-02-25 11:39:25 +01:00
xen Support for x86 Fast Return and Event Delivery (FRED): 2024-03-11 16:00:17 -07:00
zorro zorro: Make zorro_bus_type const 2024-02-19 11:10:55 +01:00
Kconfig
Makefile fbdev/intelfb: Remove driver 2024-01-12 12:38:37 +01:00