> 1) boot, ping no vlan > > # ip link add name br0 type bridge > # echo 0 > /sys/class/net/br0/bridge/default_pvid > # ip link set dev eth2 master br0 > # ip link set dev eth0 master br0 > # ip link set dev eth1 master br0 > # ifconfig br0 192.168.1.2 > > *Note*: I've had to disable default_pvid as otherwise linux Bridge adds > and offloads default vlan 1, but default configuration for CPSW driver is vid > 0. > + CPSW specific - it can't untag packets for P0. > Another option I've found: > # ip link set dev br0 type bridge vlan_filtering 1. > but anyway, I've found it confusing that Linux bridge adds default vlan when > vlan_filtering == 0
There are three different configurations here you need to worry about, with respect to vlans: # CONFIG_VLAN_8021Q is not set So you don't have any vlan support in the kernel. CONFIG_VLAN_8021Q=y, vlan_filtering = 0 So you have vlans, but filtering is off CONFIG_VLAN_8021Q=y, vlan_filtering = 1 So you have vlans, and filtering is on. Even with vlan_filtering off, the bridge still does a little with vlans. And you need all three to work correctly. Andrew