v2->v1:
- rebased on current HEAD
- fixed order of phc_index option in config_tab array 
- renamed search_vclocks() to rtnl_search_vclocks()

rfc->v1:
- fixed rtnl_linkinfo_parse() to make space for the _MAX attrs
- added new TLV for PHC index and flags
- added support to timemaster
- updated defaults.cfg

With recent kernels it is possible to create virtual PHCs running on top
of a free-running PHC by writing to /sys/class/ptp/ptp?/n_vclocks. If
supported in linuxptp, it would allow users to run multiple ptp4l
instances with hardware timestamping on one interface, e.g. in different
domains for better resiliency, or separate instances using different
unicast servers.

The kernel support was added in 5.14, but there were some bugs fixed
recently. 5.17-rc1 or later is recommended for testing.

The 1st patch is a bug fix required by the second patch.
The 2nd patch adds detection of virtual clocks via ethtool netlink.

The 3rd-5th patch add support to ptp4l. The PHC index of the virtual
clock needs to be specified in the configuration.

The 6th and 7th patch add support to phc2sys. A new PORT_HWCLOCK_NP
TLV is added to get the PHC index of the virtual clock in the automatic
mode.

The 8th patch adds support to timemaster. If enabled (by default on
Linux >=5.18), a virtual clock is created for each HW-timestamping ptp4l
instance.

Miroslav Lichvar (8):
  rtnl: Fix rtnl_rtattr_parse() to process max attribute.
  rtnl: Add function to detect virtual clocks.
  Add support for binding sockets to virtual clocks.
  config: Add port-specific phc_index option.
  port: Check for virtual clocks.
  tlv: Add PORT_HWCLOCK_NP.
  phc2sys: Use PHC index from PORT_HWCLOCK_NP.
  timemaster: Add support for virtual clocks.

 clock.c             |   7 +-
 config.c            |   1 +
 configs/default.cfg |   1 +
 incdefs.sh          |   4 +
 interface.c         |  12 +++
 interface.h         |  14 ++++
 missing.h           |  11 +++
 phc2sys.c           |  42 ++++++----
 pmc.c               |  11 +++
 pmc_agent.c         |  18 +++-
 pmc_agent.h         |   4 +-
 pmc_common.c        |   1 +
 port.c              |  24 +++++-
 ptp4l.8             |   8 ++
 raw.c               |   3 +-
 rtnl.c              |  91 +++++++++++++++++++-
 rtnl.h              |   9 ++
 sk.c                |  11 ++-
 sk.h                |   3 +-
 timemaster.8        |  14 +++-
 timemaster.c        | 196 ++++++++++++++++++++++++++++++++++++++++++--
 tlv.c               |  15 ++++
 tlv.h               |  10 +++
 udp.c               |   3 +-
 udp6.c              |   3 +-
 25 files changed, 471 insertions(+), 45 deletions(-)

-- 
2.34.1



_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to