Paolo Abeni wrote:
On 12/18/24 19:00, Jakub Kicinski wrote:
On Tue, 17 Dec 2024 18:51:57 +0000 Soham Chakradeo wrote:
Import tests for the following features (folder names in brackets): ECN (ecn) : RFC 3168 Close (close) : RFC 9293 TCP_INFO (tcp_info) : RFC 9293 Fast recovery (fast_recovery) : RFC 5681 Timestamping (timestamping) : RFC 1323 Nagle (nagle) : RFC 896 Selective Acknowledgments (sack) : RFC 2018 Recent Timestamp (ts_recent) : RFC 1323 Send file (sendfile) Syscall bad arg (syscall_bad_arg) Validate (validate) Blocking (blocking) Splice (splice) End of record (eor) Limited transmit (limited_transmit)
Excellent, thanks for adding all these! I will merge the patches momentarily but I do see a number of flakes on our VMs with debug configs enabled: https://netdev.bots.linux.dev/flakes.html?min-flip=0&tn-needle=packetdri...
In the 7 runs so far we got 2 flakes on:
tcp-timestamping-client-only-last-byte-pkt
Quickly skimming over this one, it looks like it does not account for the increased default 'tolerance_us'. Kernel packetdrill set it by default to 14K (instead of 10K IIRC).
I guess this statement:
// SCM_TSTAMP_SCHED for the last byte should be received almost immediately // once 10001 is acked at t=20ms.
the the follow-up check should be updated accordingly. In the failures observed so far the max timestamp is > 35ms.
Thanks Paolo.
All three timestamping flakes are instances where the script expects the timestamp to be taken essentially instantaneously after the send call.
This is not the case, and the delay is outside even the 14K tolerance. I see occurrences of 20K. At some point we cannot keep increasing the tolerance, perhaps.