From: Rasmus Villemoes <email@example.com> To: Andrew Lunn <firstname.lastname@example.org>, Network Development <email@example.com>, Vivien Didelot <firstname.lastname@example.org> Cc: Horatiu Vultur <email@example.com> Subject: commit 4c7ea3c0791e (net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports) Date: Thu, 14 Jan 2021 14:49:48 +0100 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) Hi I've noticed something rather odd with my mv88e6250, which led me to the commit in the subject. First, the MAC address of the master device never seems to get learned (at least according to "mv88e6xxx_dump --atu"), so all packets destined for the machine gets flooded out all ports - which I can verify with wireshark. That is, I have three machines A --- B --- C with B being the board with an embedded mv88e6250, A pinging B, and C running wireshark - and it shows lots of "ping request (no response found)". Same if B pings A; the responses from A also get to C. But this is somewhat to be expected; automatic learning has been disabled by commit 4c7ea3c0791e (later commits have change the logic around there somewhat, but the end result is the same: the PAV for the cpu port being clear), and I can't find anywhere in the code which would manually add the master device's address to the ATU. However: Even when I do - if (dsa_is_cpu_port(ds, port)) + if (dsa_is_cpu_port(ds, port) && 0) and verify with "mv88e6xxx_dump --ports" that the CPU port now has the expected value in port offset 0x0b: 0b 0001 0002 0004 0008 0010 0020 0040 (it's port 5, i.e. the 0020 value), I still see the above behaviour - the master device's address doesn't get learned (nor does some garbage address appear in the ATU), and the unicast packets are still forwarded out all ports. So I must be missing something else. Finally, I'm wondering how the tagging could get in the way of learning the right address, given that the tag is inserted after the DA and SA. ==== But this is all just some odd observations; the traffic does seem to work, though sending all unicast traffic to all neighbours seems to be a waste of bandwidth. What I'm _really_ trying to do is to get my mv88e6250 to participate in an MRP ring, which AFAICT will require that the master device's MAC gets added as a static entry in the ATU: Otherwise, when the ring goes from open to closed, I've seen the switch wrongly learn the node's own mac address as being in the direction of one of the normal ports, which obviously breaks all traffic. So if the topology is M / \ C1 *** C2 with the link between C1 and C2 being broken, both M-C1 and M-C2 links are in forwarding (hence learning) state, so when the C1-C2 link gets reestablished, it will take at least one received test packet for M to decide to put one of the ports in blocking state - by which time the damage is done, and the ATU now has a broken entry for M's own mac address. Rasmus
next reply other threads:[~2021-01-14 13:50 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-14 13:49 Rasmus Villemoes [this message] 2021-01-16 1:42 ` Tobias Waldekranz 2021-01-18 15:41 ` Rasmus Villemoes 2021-01-18 17:50 ` Andrew Lunn 2021-01-18 18:30 ` Tobias Waldekranz 2021-01-18 19:01 ` Andrew Lunn 2021-01-18 19:10 ` Tobias Waldekranz 2021-01-18 21:19 ` Vladimir Oltean 2021-01-18 22:07 ` Rasmus Villemoes 2021-01-18 23:08 ` Tobias Waldekranz 2021-01-19 9:15 ` Horatiu Vultur
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 \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: commit 4c7ea3c0791e (net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports)' \ /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
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).