From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Cc: Network Development <netdev@vger.kernel.org>,
Florian Fainelli <f.fainelli@gmail.com>,
Russell King - ARM Linux <linux@armlinux.org.uk>
Subject: Re: vlan_filtering=1 breaks all traffic
Date: Sun, 6 Dec 2020 19:45:16 +0000 [thread overview]
Message-ID: <20201206194516.adym47b4ppohiqpl@skbuf> (raw)
In-Reply-To: <ecb50a5e-45e5-a6a6-5439-c0b5b60302a9@prevas.dk>
On Sat, Dec 05, 2020 at 09:13:37PM +0100, Rasmus Villemoes wrote:
> Yup, that corresponds pretty much to what I do. Just for good measure, I
> tried doing exactly the above (with only a change in IP address), and...
> it worked. So, first thought was "perhaps it's because you bring up br0
> before adding the ports". But no, bringing it up after still works.
> Second thought: "portS - hm, only one port is added here", and indeed,
> once I add two or more ports to the bridge, it stops working. Removing
> all but the single port that has a cable plugged in makes it work again.
> It doesn't seem to matter whether the other ports are up or down.
>
> I should probably mention that wireshark says that ARP (ipv4) and
> neighbor solicitation (ipv6ll) packets do reach my laptop when I attempt
> the ping. If I start by doing a succesful ping (i.e., no other ports
> added), then add another port, then do a ping, the ping packets do reach
> the laptop (and of course get answered). So the problem does not appear
> to be on egress.
It would be interesting to see what is the ingress drop reason, if that
could be deduced from the drop counters that are incrementing in ethtool -S.
I am not confident that it can be a VTU issue, given the fact that you
have not said that you see VTU violation warnings, which are fairly loud
on mv88e6xxx.
The procedure of joining a new port to the bridge does alter the VTU,
since that second port needs to be a part of the default_pvid of the
bridge as soon as it goes up (VID 1). However that is not the main thing
that bridging a new port does - instead, the in-chip Port VLAN map is
altered.
In theory it _would_ be possible (even if unlikely) for the VTU to get
overwritten by the second port join, in a way that removes the first
port from the bridge's VID 1. Remember that this issue only seems to be
observable on 8250, so it seems logical to search in 8250 specific code
first (therefore making the VTU a more likely suspect than the in-chip
Port VLAN map).
Since you've already made the effort to boot kernel 5.9, you could make
the extra leap to try out the 5.10 rc's and look at the VTU using
Andrew's devlink based tool:
https://github.com/lunn/mv88e6xxx_dump
# devlink dev
mdio_bus/d0032004.mdio-mii:11
mdio_bus/d0032004.mdio-mii:12
mdio_bus/d0032004.mdio-mii:10
# ./mv88e6xxx_dump --device mdio_bus/d0032004.mdio-mii:10 --vtu
VTU:
V - a member, egress not modified
U - a member, egress untagged
T - a member, egress tagged
X - not a member, Ingress frames with VID discarded
P VID 0123456789a FID SID QPrio FPrio VidPolicy
# ip link add br0 type bridge vlan_filtering 1
# ip link set lan4 master br0
[ 74.443547] br0: port 1(lan4) entered blocking state
[ 74.446037] br0: port 1(lan4) entered disabled state
[ 74.461416] device lan4 entered promiscuous mode
[ 74.463564] device eth1 entered promiscuous mode
# ./mv88e6xxx_dump --device mdio_bus/d0032004.mdio-mii:10 --vtu
VTU:
V - a member, egress not modified
U - a member, egress untagged
T - a member, egress tagged
X - not a member, Ingress frames with VID discarded
P VID 0123456789a FID SID QPrio FPrio VidPolicy
0 1 XXXXUXXXXVV 1 0 - - 0
# ip link set lan5 master br0
[ 84.533120] br0: port 2(lan5) entered blocking state
[ 84.535563] br0: port 2(lan5) entered disabled state
[ 84.552022] device lan5 entered promiscuous mode
#
# ./mv88e6xxx_dump --device mdio_bus/d0032004.mdio-mii:10 --vtu
VTU:
V - a member, egress not modified
U - a member, egress untagged
T - a member, egress tagged
X - not a member, Ingress frames with VID discarded
P VID 0123456789a FID SID QPrio FPrio VidPolicy
0 1 XXXXUUXXXVV 1 0 - - 0
You would expect to see two U's for your ports, and not something else
like X.
next prev parent reply other threads:[~2020-12-06 19:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-30 14:30 warnings from MTU setting on switch ports Rasmus Villemoes
2020-11-30 16:04 ` Vladimir Oltean
2020-11-30 22:13 ` Rasmus Villemoes
2020-11-30 22:35 ` Vladimir Oltean
2020-11-30 22:50 ` Rasmus Villemoes
2020-11-30 23:11 ` Andrew Lunn
2020-12-05 14:49 ` vlan_filtering=1 breaks all traffic (was: Re: warnings from MTU setting on switch ports) Rasmus Villemoes
2020-12-05 15:45 ` Russell King - ARM Linux admin
2020-12-05 16:02 ` vlan_filtering=1 breaks all traffic Rasmus Villemoes
2020-12-05 19:03 ` vlan_filtering=1 breaks all traffic (was: Re: warnings from MTU setting on switch ports) Vladimir Oltean
2020-12-05 20:13 ` vlan_filtering=1 breaks all traffic Rasmus Villemoes
2020-12-06 19:45 ` Vladimir Oltean [this message]
2020-12-07 19:43 ` Rasmus Villemoes
2020-12-07 20:15 ` Vladimir Oltean
2020-12-08 2:22 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201206194516.adym47b4ppohiqpl@skbuf \
--to=vladimir.oltean@nxp.com \
--cc=f.fainelli@gmail.com \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=rasmus.villemoes@prevas.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).