[PATCH v2 0/4] Up until now, there was no way to let the user select the layer at which time stamping occurs. The stack assumed that PHY time stamping is always preferred, but some MAC/PHY combinations were buggy.

From: Köry Maincent
Date: Fri Mar 03 2023 - 11:43:02 EST


From: Kory Maincent <kory.maincent@xxxxxxxxxxx>

This series aims to allow the user to select the desired layer
administratively.

- Patch 1 refactors get_ts_info copy/paste code.

- Patch 2 introduces sysfs files that reflect the current, static
preference of PHY over MAC.

- Patch 3 makes the layer selectable at run time.

- Patch 4 fixes up MAC drivers that attempt to defer to the PHY layer.
This patch is broken out for review, but it will eventually be
squashed into Patch 3 after comments come in.

Changes in v2:
- Move selected_timestamping_layer variable of the concerned patch.
- Use sysfs_streq instead of strmcmp.
- Use the PHY timestamp only if available.

Richard Cochran (4):
net: ethtool: Refactor identical get_ts_info implementations.
net: Expose available time stamping layers to user space.
net: Let the active time stamping layer be selectable.
net: fix up drivers WRT phy time stamping

.../ABI/testing/sysfs-class-net-timestamping | 20 ++++
drivers/net/bonding/bond_main.c | 14 +--
drivers/net/ethernet/freescale/fec_main.c | 23 ++--
drivers/net/ethernet/mscc/ocelot_net.c | 21 ++--
drivers/net/ethernet/ti/cpsw_priv.c | 12 +--
drivers/net/ethernet/ti/netcp_ethss.c | 26 +----
drivers/net/macvlan.c | 14 +--
drivers/net/phy/phy_device.c | 6 ++
include/linux/ethtool.h | 8 ++
include/linux/netdevice.h | 10 ++
net/8021q/vlan_dev.c | 15 +--
net/core/dev_ioctl.c | 44 +++++++-
net/core/net-sysfs.c | 102 ++++++++++++++++++
net/core/timestamping.c | 6 ++
net/ethtool/common.c | 24 ++++-
15 files changed, 248 insertions(+), 97 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-net-timestamping

--
2.25.1