Comment 16 for bug 1913763

Revision history for this message
Gauthier Jolly (gjolly) wrote : Re: [Bug 1913763] Re: hyperv: unable to distinguish PTP devices

Awesome, thanks

On Wed, Mar 10, 2021 at 4:15 PM Dan Streetman <email address hidden>
wrote:

> > @rbalint or @ddstreet, do you plan to also backport this to Xenial?
>
> sure
>
> ** Tags removed: verification-needed verification-needed-bionic
> verification-needed-focal verification-needed-groovy
> ** Tags added: verification-done verification-done-bionic
> verification-done-focal verification-done-groovy
>
> --
> You received this bug notification because you are a member of Canonical
> Cloudware, which is subscribed to the bug report.
> https://bugs.launchpad.net/bugs/1913763
>
> Title:
> hyperv: unable to distinguish PTP devices
>
> Status in systemd package in Ubuntu:
> Fix Released
> Status in systemd source package in Bionic:
> Fix Committed
> Status in systemd source package in Focal:
> Fix Committed
> Status in systemd source package in Groovy:
> Fix Committed
>
> Bug description:
> [impact]
>
> the /dev/ptp0 device for a hyperv instance may not be the correct,
> hyperv-provided, ptp device.
>
> [test case]
>
> on some hyperv instance types, particularly those that might contain
> passthrough network card(s) that also provide ptp, the first ptp
> device may not be the correct one to use for ptp, e.g. there may be
> multiple ones:
>
> $ ls /dev/ptp*
> /dev/ptp0 /dev/ptp1
> $ cat /sys/class/ptp/ptp0/clock_name
> hyperv
> $ cat /sys/class/ptp/ptp1/clock_name
> mlx5_p2p
>
> the order can change across boots, so a consistent way of addressing
> the hyperv-provided one is needed
>
> [regression potential]
>
> any regression would involve failure to properly create the ptp
> symlink, or other failure while udev is processing newly detected ptp
> device(s)
>
> [scope]
>
> this is needed in all releases
>
> this was fixed upstream with the commit
> 32e868f058da8b90add00b2958c516241c532b70 which is not yet included in
> any release
>
> [original description]
>
> Hyperv provides a PTP device. On system with multiple PTP devices,
> services like Chrony don't have a way to know which one is which.
>
> We would like to have a udev rule to create a symlink to the hyperv
> clock. This way, services could be configured to always use this clock
> no matter if it is ptp0, ptp1, etc..
>
> For example:
>
> ```
> SUBSYSTEM=="ptp", ATTR{clock_name}=="hyperv", SYMLINK += "ptp_hyperv"
> ```
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1913763/+subscriptions
>