Bug 2237149
Summary: | LinuxPTP 4.0 incompatibility with Raspberry Pi CM4 NIC | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | James Clark <jjc> |
Component: | linuxptp | Assignee: | Miroslav Lichvar <mlichvar> |
Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 38 | CC: | mlichvar |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | aarch64 | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2023-09-04 10:33:56 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
James Clark
2023-09-04 02:55:58 UTC
Thanks for writing that guide. You linked to the Fedora upstreaming guidelines: https://docs.fedoraproject.org/en-US/package-maintainers/Staying_Close_to_Upstream_Projects/ There is a strong argument made to avoid Fedora-specific patches. That would be the patch adding a new option to configure older PTP version, which was rejected upstream. A Fedora-specific configuration option would lead to confusion and unhappy upstream. I think the only option here is to convince the upstream to make an exception in their policy of supporting broken hardware, e.g. if the CM4 is shown to be a popular choice for PTP. @mlichvar I've had an idea for solving this that doesn't require any upstream change. As I understand it, the problem is that the hardware will only timestamp an outgoing packet if the minor version is 0. If so, I think it should be possible to work around this by using tc with an eBPF filter that modifies the packet to make the minor version 0, along the lines of https://taoshu.in/unix/modify-udp-packet-using-ebpf.html. Has this got a chance of working? I've implemented this idea and in my limited testing it appears to work. https://github.com/jclark/bpf-ptpver20 That is an interesting workaround. It seems it won't be needed after all. The upstream changed their mind and accepted a patch adding new option ptp_minor_version in linuxptp-4.2 to make it configurable. I'll prepare an update for Fedora 39. |