public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* net: dsa: lantiq_gswip: getting the first selftests to pass
@ 2022-07-27 20:36 Martin Blumenstingl
  2022-07-27 21:07 ` Florian Fainelli
  2022-07-27 22:44 ` Vladimir Oltean
  0 siblings, 2 replies; 14+ messages in thread
From: Martin Blumenstingl @ 2022-07-27 20:36 UTC (permalink / raw)
  To: netdev
  Cc: andrew, vivien.didelot, olteanv, Hauke Mehrtens, f.fainelli,
	Aleksander Jan Bajkowski

Hello,

there are some pending issues with the Lantiq GSWIP driver.
Vladimir suggested to get the kernel selftests to pass in a first step.
I am starting with
tools/testing/selftests/drivers/net/dsa/local_termination.sh as my
understanding is that this contains the most basic tests and should be
the first step.

The good news is that not all tests are broken!
There are eight tests which are not passing. Those eight can be split
into two groups of four, because it's the same four tests that are
failing for "standalone" and "bridge" interfaces:
- Unicast IPv4 to unknown MAC address
- Unicast IPv4 to unknown MAC address, allmulti
- Multicast IPv4 to unknown group
- Multicast IPv6 to unknown group

What they all have in common is the fact that we're expecting that no
packets are received. But in reality packets are received. I manually
confirmed this by examining the tcpdump file which is generated by the
selftests.

Vladimir suggested in [0]:
> [...] we'll need to make smaller steps, like disable address
> learning on standalone ports, isolate FDBs, maybe offload the bridge TX
> forwarding process (in order to populate the "Force no learning" bit in
> tag_gswip.c properly), and only then will the local_termination test
> also pass [...]

Based on the failing tests I am wondering which step would be a good
one to start with.
Is this problem that the selftests are seeing a flooding issue? In
that case I suspect that the "interesting behavior" (of the GSWIP's
flooding behavior) that Vladimir described in [1] would be a starting
point.

Full local_termination.sh selftest output:
TEST: lan2: Unicast IPv4 to primary MAC address                 [ OK ]
TEST: lan2: Unicast IPv4 to macvlan MAC address                 [ OK ]
TEST: lan2: Unicast IPv4 to unknown MAC address                 [FAIL]
        reception succeeded, but should have failed
TEST: lan2: Unicast IPv4 to unknown MAC address, promisc        [ OK ]
TEST: lan2: Unicast IPv4 to unknown MAC address, allmulti       [FAIL]
        reception succeeded, but should have failed
TEST: lan2: Multicast IPv4 to joined group                      [ OK ]
TEST: lan2: Multicast IPv4 to unknown group                     [FAIL]
        reception succeeded, but should have failed
TEST: lan2: Multicast IPv4 to unknown group, promisc            [ OK ]
TEST: lan2: Multicast IPv4 to unknown group, allmulti           [ OK ]
TEST: lan2: Multicast IPv6 to joined group                      [ OK ]
TEST: lan2: Multicast IPv6 to unknown group                     [FAIL]
        reception succeeded, but should have failed
TEST: lan2: Multicast IPv6 to unknown group, promisc            [ OK ]
TEST: lan2: Multicast IPv6 to unknown group, allmulti           [ OK ]
TEST: br0: Unicast IPv4 to primary MAC address                  [ OK ]
TEST: br0: Unicast IPv4 to macvlan MAC address                  [ OK ]
TEST: br0: Unicast IPv4 to unknown MAC address                  [FAIL]
        reception succeeded, but should have failed
TEST: br0: Unicast IPv4 to unknown MAC address, promisc         [ OK ]
TEST: br0: Unicast IPv4 to unknown MAC address, allmulti        [FAIL]
        reception succeeded, but should have failed
TEST: br0: Multicast IPv4 to joined group                       [ OK ]
TEST: br0: Multicast IPv4 to unknown group                      [FAIL]
        reception succeeded, but should have failed
TEST: br0: Multicast IPv4 to unknown group, promisc             [ OK ]
TEST: br0: Multicast IPv4 to unknown group, allmulti            [ OK ]
TEST: br0: Multicast IPv6 to joined group                       [ OK ]
TEST: br0: Multicast IPv6 to unknown group                      [FAIL]
        reception succeeded, but should have failed
TEST: br0: Multicast IPv6 to unknown group, promisc             [ OK ]
TEST: br0: Multicast IPv6 to unknown group, allmulti            [ OK ]


Thank you!
Best regards,
Martin

[0] https://lore.kernel.org/netdev/20220706210651.ozvjcwwp2hquzmhn@skbuf/
[1] https://lore.kernel.org/netdev/20220702185652.dpzrxuitacqp6m3t@skbuf/

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-08-03 22:02 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-27 20:36 net: dsa: lantiq_gswip: getting the first selftests to pass Martin Blumenstingl
2022-07-27 21:07 ` Florian Fainelli
2022-07-28  0:02   ` Vladimir Oltean
2022-07-28 22:30     ` Florian Fainelli
2022-07-27 22:44 ` Vladimir Oltean
2022-07-28 22:09   ` Martin Blumenstingl
2022-07-29  0:05     ` Vladimir Oltean
2022-07-31 20:49       ` Martin Blumenstingl
2022-07-31 21:29         ` Aleksander Bajkowski
2022-08-01 19:48           ` Martin Blumenstingl
2022-08-03 15:54         ` Vladimir Oltean
2022-08-03 22:02         ` Hauke Mehrtens
2022-08-03 21:50     ` Hauke Mehrtens
2022-08-03 21:51   ` Hauke Mehrtens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox