On Tue, Feb 4, 2025 at 9:03 AM Martin KaFai Lau <martin.lau@xxxxxxxxx> wrote: > > On 1/28/25 12:46 AM, Jason Xing wrote: > > Make partial of the feature work finally. After this, user can > > If it is "partial"-ly done, what is still missing? > > My understanding is after this patch, the BPF program can fully support the TX > timestamping in TCP. I'm going to make the change in the next version. My thought was a big project supporting various protocols. > > > fully use the bpf prog to trace the tx path for TCP type. > > > > Signed-off-by: Jason Xing <kerneljasonxing@xxxxxxxxx> > > --- > > net/ipv4/tcp.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c > > index 0d704bda6c41..0a41006b10d1 100644 > > --- a/net/ipv4/tcp.c > > +++ b/net/ipv4/tcp.c > > @@ -492,6 +492,15 @@ static void tcp_tx_timestamp(struct sock *sk, struct sockcm_cookie *sockc) > > if (tsflags & SOF_TIMESTAMPING_TX_RECORD_MASK) > > shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1; > > } > > + > > + if (SK_BPF_CB_FLAG_TEST(sk, SK_BPF_CB_TX_TIMESTAMPING) && skb) { > > + struct skb_shared_info *shinfo = skb_shinfo(skb); > > + struct tcp_skb_cb *tcb = TCP_SKB_CB(skb); > > + > > + tcb->txstamp_ack_bpf = 1; > > + shinfo->tx_flags |= SKBTX_BPF; > > + shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1; > > + } > > } > > > > static bool tcp_stream_is_readable(struct sock *sk, int target) >