Re: [net-next PATCH v11 0/9] net: dsa: Add Airoha AN8855 support

Vladimir Oltean
2024-12-10T20:22:25Z

On Mon, Dec 09, 2024 at 02:44:17PM +0100, Christian Marangi wrote:
> TEST: lan2: 1588v2 over IPv4, Sync [FAIL]
> reception failed
> TEST: lan2: 1588v2 over IPv4, Follow-Up [FAIL]
> reception failed
> TEST: lan2: 1588v2 over IPv4, Peer Delay Request [FAIL]
> reception failed
> TEST: lan2: 1588v2 over IPv6, Sync [FAIL]
> reception failed
> TEST: lan2: 1588v2 over IPv6, Follow-Up [FAIL]
> reception failed
> TEST: lan2: 1588v2 over IPv6, Peer Delay Request [FAIL]
> reception failed
> TEST: VLAN upper: 1588v2 over L2 transport, Follow-Up [FAIL]
> reception failed
> TEST: VLAN upper: 1588v2 over IPv4, Sync [FAIL]
> reception failed
> ;TEST: VLAN upper: 1588v2 over IPv4, Follow-Up [FAIL]
> reception failed
> TEST: VLAN upper: 1588v2 over IPv4, Peer Delay Request [FAIL]
> reception failed
> TEST: VLAN upper: 1588v2 over IPv6, Sync [FAIL]
> reception failed
> TEST: VLAN upper: 1588v2 over IPv6, Follow-Up [FAIL]
> reception failed
> TEST: VLAN upper: 1588v2 over IPv6, Peer Delay Request [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=0 bridged port: 1588v2 over IPv4, Sync [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=0 bridged port: 1588v2 over IPv4, Follow-Up [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=0 bridged port: 1588v2 over IPv4, Peer Delay Request [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=0 bridged port: 1588v2 over IPv6, Sync [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=0 bridged port: 1588v2 over IPv6, Follow-Up [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=0 bridged port: 1588v2 over IPv6, Peer Delay Request [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=1 bridged port: 1588v2 over IPv4, Sync [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=1 bridged port: 1588v2 over IPv4, Follow-Up [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=1 bridged port: 1588v2 over IPv4, Peer Delay Request [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=1 bridged port: 1588v2 over IPv6, Sync [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=1 bridged port: 1588v2 over IPv6, Follow-Up [FAIL]
> reception failed
> TEST: VLAN over vlan_filtering=1 bridged port: 1588v2 over IPv6, Peer Delay Request [FAIL]
> reception failed

Why do these fail? They are dropped on transmit? Could you see with
ethtool -S where they are dropped? (DSA conduit, CPU port or user port)

> TEST: VLAN over vlan_filtering=1 bridged port: Unicast IPv4 to unknown MAC address [FAIL]
> reception succeeded, but should have failed
> TEST: VLAN over vlan_filtering=1 bridged port: Unicast IPv4 to unknown MAC address, allmulti [FAIL]
> reception succeeded, but should have failed

It is unexpected that these fail. The vlan_over_bridged_port() selftest
sets has_unicast_flt to true or false, depending on whether the driver
declares IFF_UNICAST_FLT, and depending on that, sets the expectation on
whether unknown packets should be received.

There may be a bug in the selftest, but I doubt it.

I haven't looked at the patches yet, but from this behavior, it looks
like you mechanically satisfied the requirements of dsa_switch_supports_uc_filtering()
such that DSA will set IFF_UNICAST_FLT, but host addresses aren't
actually correctly handled, or CPU flooding isn't turned off when it
should (ds->ops->port_set_host_flood?).

> TEST: FDB entry in PVID for VLAN-tagged with other TPID [FAIL]
> FDB entry was not learned when it should
> TEST: Reception of VLAN with other TPID as untagged [FAIL]
> Packet was not forwarded when it should
> TEST: Reception of VLAN with other TPID as untagged (no PVID) [FAIL]
> Packet was forwarded when should not

We discussed off-list about this, a special configuration needs to exist
to consider as VLAN-tagged only those packets with TPID == bridge vlan_protocol
(i.e. 802.1Q).