Currently ksz8_port_vlan_filtering() sets or clears the VLAN Enable
hardware flag. That controls discarding of packets with a VID that
has not been enabled for any port on the switch.
Since it is a global flag, set the dsa_switch::vlan_filtering_is_global
flag so that the DSA core understands this can't be controlled per
port.
When VLAN filtering is enabled, the switch should also discard packets
with a VID that's not enabled on the ingress port. Set or clear each
external port's VLAN Ingress Filter flag in ksz8_port_vlan_filtering()
to make that happen.
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| ksz8.h | ||
| ksz8795_reg.h | ||
| ksz8795_spi.c | ||
| ksz8795.c | ||
| ksz8863_smi.c | ||
| ksz9477_i2c.c | ||
| ksz9477_reg.h | ||
| ksz9477_spi.c | ||
| ksz9477.c | ||
| ksz_common.c | ||
| ksz_common.h | ||
| Makefile | ||