> 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