From 9cca6c5ad90330115ad3e550abf515c029e931fa Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Fri, 21 Aug 2015 08:09:52 +0000 Subject: Previously, all VLANs (port-based or 802.1q) were sharing a single database in the ATU. This created problems in the case of a system where two ports/devices share a MAC address (e.g. Linksys WRT1900AC eth0/eth1). This also clears any bootloader-set FDB defaults. This had caused issues creating port-based VLANs when mappings overlapped previous VLANs. Packets destined to a port not in the default port group flooded all ports. Tested on a 88E6171 (Linksys EA4500) and 88E6172 ('1900AC) Signed-off-by: Claudio Leite Signed-off-by: Imre Kaloz SVN-Revision: 46699 --- target/linux/generic/files/drivers/net/phy/mvsw61xx.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'target/linux/generic/files/drivers/net/phy/mvsw61xx.h') diff --git a/target/linux/generic/files/drivers/net/phy/mvsw61xx.h b/target/linux/generic/files/drivers/net/phy/mvsw61xx.h index 61e134ce91..dbc6c92a44 100644 --- a/target/linux/generic/files/drivers/net/phy/mvsw61xx.h +++ b/target/linux/generic/files/drivers/net/phy/mvsw61xx.h @@ -224,6 +224,11 @@ enum { #define MV_PVID_MASK 0x0fff +#define MV_FDB_HI_MASK 0x00ff +#define MV_FDB_LO_MASK 0xf000 +#define MV_FDB_HI_SHIFT 4 +#define MV_FDB_LO_SHIFT 12 + struct mvsw61xx_state { struct switch_dev dev; struct mii_bus *bus; @@ -238,6 +243,7 @@ struct mvsw61xx_state { int vlan_enabled; struct port_state { + u16 fdb; u16 pvid; u16 mask; u8 qmode; -- cgit v1.2.3