On Tue, Oct 15, 2024 at 9:38 AM Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx> wrote: > > Jason Xing wrote: > > From: Jason Xing <kernelxing@xxxxxxxxxxx> > > > > We can set OPT_ID|OPT_ID_TCP before we initialize the last skb > > from each sendmsg. We only set the socket once like how we use > > setsockopt() with OPT_ID|OPT_ID_TCP flags. > > > > Note: we will check if non-bpf _and_ bpf sk_tsflags have OPT_ID > > flag. If either of them has been set before, we will not initialize > > the key any more, > > Where and how is this achieved? Please see this patch and you will find the following codes. + tsflags |= (sk->sk_tsflags[SOCKETOPT_TS_REQUESTOR] | + sk->sk_tsflags[BPFPROG_TS_REQUESTOR]); But the difference/problem is that the non-bpf feature only init it when connect() is done, but the bpf feature could do it at the beginning of connect(). If running txtimestamp -l 1000, the former will generate 999 for turkey while the latter 1000. > > Also be aware of the subtle distinction between passing OPT_ID_TCP > along with OPT_ID or not. > >