Message ID | 20210625093513.38524-1-yangbo.lu@nxp.com |
---|---|
Headers | show |
Series | ptp: support virtual clocks and timestamping | expand |
On Fri, Jun 25, 2021 at 05:35:07PM +0800, Yangbo Lu wrote: > Add an interface for getting PHC (PTP Hardware Clock) > virtual clocks, which are based on PHC physical clock > providing hardware timestamp to network packets. > > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Hello, do you plan to submit also an ethtool (userspace utility) patch using this interface? Michal > --- > Changes for v3: > - Added this patch. > Changes for v4: > - Updated doc. > - Removed ioctl command. > - Replied only the number of vclock index. > --- > Documentation/networking/ethtool-netlink.rst | 22 +++++ > include/linux/ethtool.h | 10 +++ > include/uapi/linux/ethtool_netlink.h | 15 ++++ > net/ethtool/Makefile | 2 +- > net/ethtool/common.c | 13 +++ > net/ethtool/netlink.c | 10 +++ > net/ethtool/netlink.h | 2 + > net/ethtool/phc_vclocks.c | 94 ++++++++++++++++++++ > 8 files changed, 167 insertions(+), 1 deletion(-) > create mode 100644 net/ethtool/phc_vclocks.c > > diff --git a/Documentation/networking/ethtool-netlink.rst b/Documentation/networking/ethtool-netlink.rst > index 6ea91e41593f..c86628e6a235 100644 > --- a/Documentation/networking/ethtool-netlink.rst > +++ b/Documentation/networking/ethtool-netlink.rst > @@ -212,6 +212,7 @@ Userspace to kernel: > ``ETHTOOL_MSG_FEC_SET`` set FEC settings > ``ETHTOOL_MSG_MODULE_EEPROM_GET`` read SFP module EEPROM > ``ETHTOOL_MSG_STATS_GET`` get standard statistics > + ``ETHTOOL_MSG_PHC_VCLOCKS_GET`` get PHC virtual clocks info > ===================================== ================================ > > Kernel to userspace: > @@ -250,6 +251,7 @@ Kernel to userspace: > ``ETHTOOL_MSG_FEC_NTF`` FEC settings > ``ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY`` read SFP module EEPROM > ``ETHTOOL_MSG_STATS_GET_REPLY`` standard statistics > + ``ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY`` PHC virtual clocks info > ======================================== ================================= > > ``GET`` requests are sent by userspace applications to retrieve device > @@ -1477,6 +1479,25 @@ Low and high bounds are inclusive, for example: > etherStatsPkts512to1023Octets 512 1023 > ============================= ==== ==== > > +PHC_VCLOCKS_GET > +=============== > + > +Query device PHC virtual clocks information. > + > +Request contents: > + > + ==================================== ====== ========================== > + ``ETHTOOL_A_PHC_VCLOCKS_HEADER`` nested request header > + ==================================== ====== ========================== > + > +Kernel response contents: > + > + ==================================== ====== ========================== > + ``ETHTOOL_A_PHC_VCLOCKS_HEADER`` nested reply header > + ``ETHTOOL_A_PHC_VCLOCKS_NUM`` u32 PHC virtual clocks number > + ``ETHTOOL_A_PHC_VCLOCKS_INDEX`` s32 PHC index array > + ==================================== ====== ========================== [...]