• Jason Xing's avatar
    selftests: return failure when timestamps can't be reported · a7e38737
    Jason Xing authored
    When I was trying to modify the tx timestamping feature, I found that
    running "./txtimestamp -4 -C -L 127.0.0.1" didn't reflect the error:
    I succeeded to generate timestamp stored in the skb but later failed
    to report it to the userspace (which means failed to put css into cmsg).
    It can happen when someone writes buggy codes in __sock_recv_timestamp(),
    for example.
    
    After adding the check so that running ./txtimestamp will reflect the
    result correctly like this if there is a bug in the reporting phase:
    protocol:     TCP
    payload:      10
    server port:  9000
    
    family:       INET
    test SND
        USR: 1725458477 s 667997 us (seq=0, len=0)
    Failed to report timestamps
        USR: 1725458477 s 718128 us (seq=0, len=0)
    Failed to report timestamps
        USR: 1725458477 s 768273 us (seq=0, len=0)
    Failed to report timestamps
        USR: 1725458477 s 818416 us (seq=0, len=0)
    Failed to report timestamps
    ...
    
    In the future, it will help us detect whether the new coming patch has
    bugs or not.
    Signed-off-by: default avatarJason Xing <kernelxing@tencent.com>
    Reviewed-by: default avatarWillem de Bruijn <willemb@google.com>
    Link: https://patch.msgid.link/20240905160035.62407-1-kerneljasonxing@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    a7e38737
txtimestamp.c 21.7 KB