On Sat, Feb 15, 2025 at 11:06 PM Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx> wrote: > > Jason Xing wrote: > > Support hw SCM_TSTAMP_SND case for bpf timestamping. > > > > Add a new sock_ops callback, BPF_SOCK_OPS_TS_HW_OPT_CB. This > > callback will occur at the same timestamping point as the user > > space's hardware SCM_TSTAMP_SND. The BPF program can use it to > > get the same SCM_TSTAMP_SND timestamp without modifying the > > user-space application. > > > > To avoid increasing the code complexity, replace SKBTX_HW_TSTAMP > > with SKBTX_HW_TSTAMP_NOBPF instead of changing numerous callers > > from driver side using SKBTX_HW_TSTAMP. The new definition of > > SKBTX_HW_TSTAMP means the combination tests of socket timestamping > > and bpf timestamping. After this patch, drivers can work under the > > bpf timestamping. > > > > Considering some drivers doesn't assign the skb with hardware > > timestamp, > > This is not for a real technical limitation, like the skb perhaps > being cloned or shared? Agreed on this point. I'm kind of familiar with I40E, so I dare to say the reason why it doesn't assign the hwtstamp is because the skb will soon be destroyed, that is to say, it's pointless to assign the timestamp. > > > this patch do the assignment and then BPF program > > can acquire the hwstamp from skb directly. > > If the above is not the case and it is safe to write to the skb_shinfo, > and only if respinning anyway, grammar: