]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net-timestamp: support TCP GSO case for a few missing flags
authorJason Xing <kerneljasonxing@gmail.com>
Tue, 4 Mar 2025 00:44:29 +0000 (08:44 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 5 Mar 2025 13:34:38 +0000 (13:34 +0000)
commit3c9231ea6497dfc50ac0ef69fff484da27d0df66
tree3916476009556770709e187439d01373444aa3a1
parentb33a534610067ade2bdaf2052900aaad99701353
net-timestamp: support TCP GSO case for a few missing flags

When I read through the TSO codes, I found out that we probably
miss initializing the tx_flags of last seg when TSO is turned
off, which means at the following points no more timestamp
(for this last one) will be generated. There are three flags
to be handled in this patch:
1. SKBTX_HW_TSTAMP
2. SKBTX_BPF
3. SKBTX_SCHED_TSTAMP
Note that SKBTX_BPF[1] was added in 6.14.0-rc2 by commit
6b98ec7e882af ("bpf: Add BPF_SOCK_OPS_TSTAMP_SCHED_CB callback")
and only belongs to net-next branch material for now. The common
issue of the above three flags can be fixed by this single patch.

This patch initializes the tx_flags to SKBTX_ANY_TSTAMP like what
the UDP GSO does to make the newly segmented last skb inherit the
tx_flags so that requested timestamp will be generated in each
certain layer, or else that last one has zero value of tx_flags
which leads to no timestamp at all.

Fixes: 4ed2d765dfacc ("net-timestamp: TCP timestamping")
Signed-off-by: Jason Xing <kerneljasonxing@gmail.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_offload.c