From: Soheil Hassas Yeganeh <soheil.k...@gmail.com>
Date: Tue, 23 Aug 2016 18:22:33 -0400

> From: Soheil Hassas Yeganeh <soh...@google.com>
> 
> Instead of using sock_tx_timestamp, use skb_tx_timestamp to record
> software transmit timestamp of a packet.
> 
> sock_tx_timestamp resets and overrides the tx_flags of the skb.
> The function is intended to be called from within the protocol
> layer when creating the skb, not from a device driver. This is
> inconsistent with other drivers and will cause issues for TCP.
> 
> In TCP, we intend to sample the timestamps for the last byte
> for each sendmsg/sendpage. For that reason, tcp_sendmsg calls
> tcp_tx_timestamp only with the last skb that it generates.
> For example, if a 128KB message is split into two 64KB packets
> we want to sample the SND timestamp of the last packet. The current
> code in the tun driver, however, will result in sampling the SND
> timestamp for both packets.
> 
> Also, when the last packet is split into smaller packets for
> retranmission (see tcp_fragment), the tun driver will record
> timestamps for all of the retransmitted packets and not only the
> last packet.
> 
> Fixes: eda297729171 (tun: Support software transmit time stamping.)
> Signed-off-by: Soheil Hassas Yeganeh <soh...@google.com>
> Signed-off-by: Francis Yan <francisy...@google.com>

Applied and queued up for -stable, thanks.

Reply via email to