As discussed with Willem here: https://lore.kernel.org/netdev/CA+FuTSdQ57O6RWj_Lenmu_Vd3NEX9xMzMYkB0C3rKMzG...
the kernel silently doesn't act upon the SOF_TIMESTAMPING_OPT_ID socket option in several cases on older kernels, yet user space has no way to find out about this, practically resulting in broken functionality.
This patch set backports the support towards linux-4.14.y and linux-4.19.y, which fixes the issue described above by simply making the kernel act upon SOF_TIMESTAMPING_OPT_ID as expected.
Testing was done with the most recent (not the vintage-correct one) kselftest script at: tools/testing/selftests/networking/timestamping/txtimestamp.sh with the message "OK. All tests passed".
I tried to backport the changes to linux-4.9.y as well, but something apparently unrelated is broken there, and I didn't investigate further so I'm not targeting that stable branch:
./txtimestamp.sh protocol: TCP payload: 10 server port: 9000
family: INET test SND USR: 1581090724 s 856088 us (seq=0, len=0) ./txtimestamp: poll
Willem de Bruijn (2): ipv6: add missing tx timestamping on IPPROTO_RAW net: add missing SOF_TIMESTAMPING_OPT_ID support
include/net/sock.h | 25 +++++++++++++++++++++---- net/can/raw.c | 2 +- net/ipv4/raw.c | 2 +- net/ipv6/raw.c | 7 +++++-- net/packet/af_packet.c | 6 +++--- 5 files changed, 31 insertions(+), 11 deletions(-)