Conversation
…apabilities The driver reports SOF_TIMESTAMPING_TX_HARDWARE together with SOF_TIMESTAMPING_RAW_HARDWARE for TX timestamping, but for RX it only advertises SOF_TIMESTAMPING_RX_HARDWARE. According to the kernel timestamping documentation [1], SOF_TIMESTAMPING_*_HARDWARE flags control timestamp generation, while SOF_TIMESTAMPING_RAW_HARDWARE controls reporting of hardware timestamps to userspace. In practice, both are required to fully describe hardware timestamping capabilities: one to indicate that timestamps are generated in hardware, and the other to indicate that they are exposed to user space. By omitting SOF_TIMESTAMPING_RAW_HARDWARE from RX capabilities, the reported feature set is inconsistent with TX and may cause userspace to incorrectly assume that RX hardware timestamps are not available. This is not purely theoretical: some userspace components (e.g. libpcap [2]) check only for SOF_TIMESTAMPING_RAW_HARDWARE when deciding whether to enable adapter-level timestamping. As a result, RX hardware timestamping may be silently unused even when supported by the device. Report SOF_TIMESTAMPING_RAW_HARDWARE for RX as well to accurately reflect the device capabilities and align RX reporting with TX. [1] https://docs.kernel.org/networking/timestamping.html [2] https://github.com/the-tcpdump-group/libpcap/blob/master/pcap-linux.c#L5097
5prairie
force-pushed
the
fix/ethtool-rx-ts-infos-flags
branch
from
April 26, 2026 14:22
79c4bc4 to
ccce229
Compare
Contributor
|
Hi @5prairie |
Contributor
|
Hi @5prairie Apologies for the delay in the response. |
Author
|
thank you very much! |
Author
|
Hi @davidarinzon , I noticed this change wasn't included in the latest ENA release. Was that intentional, or is it planned for a future release? |
Contributor
|
Hi @5prairie We will incorporate this as part of the next major release. |
Author
|
Thanks for confirming, wishing you a lovely Sunday. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The driver reports SOF_TIMESTAMPING_TX_HARDWARE together with SOF_TIMESTAMPING_RAW_HARDWARE for TX timestamping, but for RX it only advertises SOF_TIMESTAMPING_RX_HARDWARE.
According to the kernel timestamping documentation [1], SOF_TIMESTAMPING_*_HARDWARE flags control timestamp generation, while SOF_TIMESTAMPING_RAW_HARDWARE controls reporting of hardware timestamps to userspace. In practice, both are required to fully describe hardware timestamping capabilities: one to indicate that timestamps are generated in hardware, and the other to indicate that they are exposed to user space.
By omitting SOF_TIMESTAMPING_RAW_HARDWARE from RX capabilities, the reported feature set is inconsistent with TX and may cause userspace to incorrectly assume that RX hardware timestamps are not available.
This is not purely theoretical: some userspace components (e.g. libpcap [2]) check only for SOF_TIMESTAMPING_RAW_HARDWARE when deciding whether to enable adapter-level timestamping. As a result, RX hardware timestamping may be silently unused even when supported by the device.
Report SOF_TIMESTAMPING_RAW_HARDWARE for RX as well to accurately reflect the device capabilities and align RX reporting with TX.
[1] https://docs.kernel.org/networking/timestamping.html
[2] https://github.com/the-tcpdump-group/libpcap/blob/master/pcap-linux.c#L5097