RE: [PATCH net-next v3 0/6] provide generic net selftest support

From: Joakim Zhang
Date: Thu Apr 22 2021 - 23:18:41 EST



Hi Oleksij,

I look both stmmac selftest code and this patch set. For stmmac, if PHY doesn't support loopback, it will fallthrough to MAC loopback.
You provide this generic net selftest support based on PHY loopback, I have a question, is it possible to extend it also support MAC loopback later?

Best Regards,
Joakim Zhang
> -----Original Message-----
> From: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> Sent: 2021年4月19日 21:01
> To: Shawn Guo <shawnguo@xxxxxxxxxx>; Sascha Hauer
> <s.hauer@xxxxxxxxxxxxxx>; Andrew Lunn <andrew@xxxxxxx>; Florian Fainelli
> <f.fainelli@xxxxxxxxx>; Heiner Kallweit <hkallweit1@xxxxxxxxx>; Fugang
> Duan <fugang.duan@xxxxxxx>
> Cc: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>; kernel@xxxxxxxxxxxxxx;
> netdev@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; Fabio
> Estevam <festevam@xxxxxxxxx>; David Jander <david@xxxxxxxxxxx>; Russell
> King <linux@xxxxxxxxxxxxxxx>; Philippe Schenker
> <philippe.schenker@xxxxxxxxxxx>
> Subject: [PATCH net-next v3 0/6] provide generic net selftest support
>
> changes v3:
> - make more granular tests
> - enable loopback for all PHYs by default
> - fix allmodconfig build errors
> - poll for link status update after switching to the loopback mode
>
> changes v2:
> - make generic selftests available for all networking devices.
> - make use of net_selftest* on FEC, ag71xx and all DSA switches.
> - add loopback support on more PHYs.
>
> This patch set provides diagnostic capabilities for some iMX, ag71xx or any DSA
> based devices. For proper functionality, PHY loopback support is needed.
> So far there is only initial infrastructure with basic tests.
>
> Oleksij Rempel (6):
> net: phy: execute genphy_loopback() per default on all PHYs
> net: phy: genphy_loopback: add link speed configuration
> net: add generic selftest support
> net: fec: make use of generic NET_SELFTESTS library
> net: ag71xx: make use of generic NET_SELFTESTS library
> net: dsa: enable selftest support for all switches by default
>
> drivers/net/ethernet/atheros/Kconfig | 1 +
> drivers/net/ethernet/atheros/ag71xx.c | 20 +-
> drivers/net/ethernet/freescale/Kconfig | 1 +
> drivers/net/ethernet/freescale/fec_main.c | 7 +
> drivers/net/phy/phy.c | 3 +-
> drivers/net/phy/phy_device.c | 35 +-
> include/linux/phy.h | 1 +
> include/net/dsa.h | 2 +
> include/net/selftests.h | 12 +
> net/Kconfig | 4 +
> net/core/Makefile | 1 +
> net/core/selftests.c | 400
> ++++++++++++++++++++++
> net/dsa/Kconfig | 1 +
> net/dsa/slave.c | 21 ++
> 14 files changed, 500 insertions(+), 9 deletions(-) create mode 100644
> include/net/selftests.h create mode 100644 net/core/selftests.c
>
> --
> 2.29.2