We have had some emails in private over this issue, this is my current patch set rebased on top of net-next which provides working IPv6 (and probably other protocols as well) over mv88e6xxx DSA switches.
The problem comes down to mv88e6xxx defaulting to not flood unknown unicast and multicast datagrams, as they would be by dumb switches, and as the Linux bridge code does by default. There is also the issue of IPv6 over a vlan that is transparent to the bridge; the multicast querier will not reach inside the vlan, and so the switch can not learn about multicast routing within the vlan. These flood settings can be disabled via the Linux bridge code if it's desired to make the switch behave more like a managed switch, eg, by enabling the multicast querier. However, the multicast querier defaults to being disabled which effectively means that by default, mv88e6xxx switches block all multicast traffic. This is at odds with the Linux bridge documentation, and the defaults that the Linux bridge code adopts. So, this patch set adds DSA support for Linux bridge flags, adds mv88e6xxx support for the unicast and multicast flooding flags, and lastly enables flooding of these frames by default to match the Linux bridge defaults. Russell King (3): net: dsa: add support for bridge flags net: dsa: mv88e6xxx: add support for bridge flags net: dsa: enable flooding for bridge ports drivers/net/dsa/mv88e6xxx/chip.c | 17 ++++++++++++++++ include/net/dsa.h | 2 ++ net/dsa/dsa_priv.h | 2 ++ net/dsa/port.c | 33 +++++++++++++++++++++++++++++--- net/dsa/slave.c | 9 +++++++++ 5 files changed, 60 insertions(+), 3 deletions(-) v2: fix a couple of compile errors in patch 2 and patch 3 (oops). v3: change interface between core DSA and drivers v4: fix comments from v3 v5: fix build failure in patch #1 -- 2.17.1