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

From: Vladimir Oltean
Date: Thu Jun 29 2023 - 10:15:14 EST


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@xxxxxxxxxx/

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