Commit 7980d2ea authored by Julian Anastasov's avatar Julian Anastasov Committed by Pablo Neira Ayuso
Browse files

ipvs: clear skb->tstamp in forwarding path



fq qdisc requires tstamp to be cleared in forwarding path

Reported-by: default avatarEvgeny B <abt-admin@mail.ru>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=209427


Suggested-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Fixes: 8203e2d8 ("net: clear skb->tstamp in forwarding paths")
Fixes: fb420d5d ("tcp/fq: move back to CLOCK_MONOTONIC")
Fixes: 80b14dee ("net: Add a new socket option for a future transmit time.")
Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
Reviewed-by: default avatarSimon Horman <horms@verge.net.au>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent ea2f7da1
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -609,6 +609,8 @@ static inline int ip_vs_tunnel_xmit_prepare(struct sk_buff *skb,
	if (ret == NF_ACCEPT) {
		nf_reset_ct(skb);
		skb_forward_csum(skb);
		if (skb->dev)
			skb->tstamp = 0;
	}
	return ret;
}
@@ -649,6 +651,8 @@ static inline int ip_vs_nat_send_or_cont(int pf, struct sk_buff *skb,

	if (!local) {
		skb_forward_csum(skb);
		if (skb->dev)
			skb->tstamp = 0;
		NF_HOOK(pf, NF_INET_LOCAL_OUT, cp->ipvs->net, NULL, skb,
			NULL, skb_dst(skb)->dev, dst_output);
	} else
@@ -669,6 +673,8 @@ static inline int ip_vs_send_or_cont(int pf, struct sk_buff *skb,
	if (!local) {
		ip_vs_drop_early_demux_sk(skb);
		skb_forward_csum(skb);
		if (skb->dev)
			skb->tstamp = 0;
		NF_HOOK(pf, NF_INET_LOCAL_OUT, cp->ipvs->net, NULL, skb,
			NULL, skb_dst(skb)->dev, dst_output);
	} else