[PATCH net 0/2] Fix mangled link-local MAC DAs with SJA1105 DSA

Vladimir Oltean posted 2 patches 2 years, 7 months ago
drivers/net/dsa/sja1105/sja1105.h      |  2 +-
drivers/net/dsa/sja1105/sja1105_main.c |  5 ++-
drivers/net/dsa/sja1105/sja1105_ptp.c  | 48 +++----------------------
include/linux/dsa/sja1105.h            |  4 ---
net/dsa/tag_sja1105.c                  | 49 ++------------------------
5 files changed, 9 insertions(+), 99 deletions(-)
[PATCH net 0/2] Fix mangled link-local MAC DAs with SJA1105 DSA
Posted by Vladimir Oltean 2 years, 7 months ago
The SJA1105 hardware tagging protocol is weird and will put DSA
information (source port, switch ID) in the MAC DA of the packets sent
to the CPU, and then send some additional (meta) packets which contain
the original bytes from the previous packet's MAC DA.

The tagging protocol driver contains logic to handle this, but the meta
frames are optional functionality, and there are configurations when
they aren't received (no PTP RX timestamping). Thus, the MAC DA from
packets sent to the stack is not correct in all cases.

Also, during testing it was found that the MAC DA patching procedure was
incorrect.

The investigation comes as a result of this discussion with Paolo:
https://lore.kernel.org/netdev/f494387c8d55d9b1d5a3e88beedeeb448f2e6cc3.camel@redhat.com/

Vladimir Oltean (2):
  net: dsa: tag_sja1105: fix MAC DA patching from meta frames
  net: dsa: sja1105: always enable the send_meta options

 drivers/net/dsa/sja1105/sja1105.h      |  2 +-
 drivers/net/dsa/sja1105/sja1105_main.c |  5 ++-
 drivers/net/dsa/sja1105/sja1105_ptp.c  | 48 +++----------------------
 include/linux/dsa/sja1105.h            |  4 ---
 net/dsa/tag_sja1105.c                  | 49 ++------------------------
 5 files changed, 9 insertions(+), 99 deletions(-)

-- 
2.34.1
Re: [PATCH net 0/2] Fix mangled link-local MAC DAs with SJA1105 DSA
Posted by Jakub Kicinski 2 years, 7 months ago
On Thu, 29 Jun 2023 17:14:51 +0300 Vladimir Oltean wrote:
> The SJA1105 hardware tagging protocol is weird and will put DSA
> information (source port, switch ID) in the MAC DA of the packets sent
> to the CPU, and then send some additional (meta) packets which contain
> the original bytes from the previous packet's MAC DA.
> 
> The tagging protocol driver contains logic to handle this, but the meta
> frames are optional functionality, and there are configurations when
> they aren't received (no PTP RX timestamping). Thus, the MAC DA from
> packets sent to the stack is not correct in all cases.
> 
> Also, during testing it was found that the MAC DA patching procedure was
> incorrect.
> 
> The investigation comes as a result of this discussion with Paolo:
> https://lore.kernel.org/netdev/f494387c8d55d9b1d5a3e88beedeeb448f2e6cc3.camel@redhat.com/

This series got eaten by vger, I think. Could you repost?