On 6/19/19 10:40 AM, Vedang Patel wrote:
> skb->tstamp is being used at multiple places. On the transmit side, it
> is used to determine the launchtime of the packet. It is also used to
> determine the software timestamp after the packet has been transmitted.
>
> So, clear out the tstamp value after it has been read so that we do not
> report false software timestamp on the receive side.
>
> Signed-off-by: Vedang Patel <vedang.pa...@intel.com>
> ---
> drivers/net/ethernet/intel/igb/igb_main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
> b/drivers/net/ethernet/intel/igb/igb_main.c
> index fc925adbd9fa..f66dae72fe37 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -5688,6 +5688,7 @@ static void igb_tx_ctxtdesc(struct igb_ring *tx_ring,
> */
> if (tx_ring->launchtime_enable) {
> ts = ns_to_timespec64(first->skb->tstamp);
> + first->skb->tstamp = 0;
Please provide more explanations.
Why only this driver would need this ?
> context_desc->seqnum_seed = cpu_to_le32(ts.tv_nsec / 32);
> } else {
> context_desc->seqnum_seed = 0;
>