net: ensure correct skb->tstamp in various fragmenters
authorEric Dumazet <edumazet@google.com>
Thu, 17 Oct 2019 01:00:56 +0000 (18:00 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Oct 2019 17:02:37 +0000 (10:02 -0700)
commit9669fffc1415bb0c30e5d2ec98a8e1c3a418cb9c
tree3abe73fdf43b7a670cc69b6930d07c2683ade0d4
parent63158ac0ba5d5a279999387c86791a09930610aa
net: ensure correct skb->tstamp in various fragmenters

Thomas found that some forwarded packets would be stuck
in FQ packet scheduler because their skb->tstamp contained
timestamps far in the future.

We thought we addressed this point in commit 8203e2d844d3
("net: clear skb->tstamp in forwarding paths") but there
is still an issue when/if a packet needs to be fragmented.

In order to meet EDT requirements, we have to make sure all
fragments get the original skb->tstamp.

Note that this original skb->tstamp should be zero in
forwarding path, but might have a non zero value in
output path if user decided so.

Fixes: fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Thomas Bartschies <Thomas.Bartschies@cvk.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/netfilter/nf_conntrack_bridge.c
net/ipv4/ip_output.c
net/ipv6/ip6_output.c
net/ipv6/netfilter.c