Jason Xing wrote: > This patch introduces a new callback in tcp_tx_timestamp() to correlate > tcp_sendmsg timestamp with timestamps from other tx timestamping > callbacks (e.g., SND/SW/ACK). > > Without this patch, BPF program wouldn't know which timestamps belong > to which flow because of no socket lock protection. This new callback > is inserted in tcp_tx_timestamp() to address this issue because > tcp_tx_timestamp() still owns the same socket lock with > tcp_sendmsg_locked() in the meanwhile tcp_tx_timestamp() initializes > the timestamping related fields for the skb, especially tskey. The > tskey is the bridge to do the correlation. > > For TCP, BPF program hooks the beginning of tcp_sendmsg_locked() and > then stores the sendmsg timestamp at the bpf_sk_storage, correlating > this timestamp with its tskey that are later used in other sending > timestamping callbacks. > > Signed-off-by: Jason Xing <kerneljasonxing@xxxxxxxxx> Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx>