Commit e3895c03 authored by Julian Anastasov's avatar Julian Anastasov Committed by Simon Horman

ipvs: call skb_sender_cpu_clear

Reset XPS's sender_cpu on forwarding.
Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
Fixes: 2bd82484 ("xps: fix xps for stacked devices")
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 56184858
...@@ -529,6 +529,8 @@ static inline int ip_vs_tunnel_xmit_prepare(struct sk_buff *skb, ...@@ -529,6 +529,8 @@ static inline int ip_vs_tunnel_xmit_prepare(struct sk_buff *skb,
if (ret == NF_ACCEPT) { if (ret == NF_ACCEPT) {
nf_reset(skb); nf_reset(skb);
skb_forward_csum(skb); skb_forward_csum(skb);
if (!skb->sk)
skb_sender_cpu_clear(skb);
} }
return ret; return ret;
} }
...@@ -569,6 +571,8 @@ static inline int ip_vs_nat_send_or_cont(int pf, struct sk_buff *skb, ...@@ -569,6 +571,8 @@ static inline int ip_vs_nat_send_or_cont(int pf, struct sk_buff *skb,
if (!local) { if (!local) {
skb_forward_csum(skb); skb_forward_csum(skb);
if (!skb->sk)
skb_sender_cpu_clear(skb);
NF_HOOK(pf, NF_INET_LOCAL_OUT, NULL, skb, NF_HOOK(pf, NF_INET_LOCAL_OUT, NULL, skb,
NULL, skb_dst(skb)->dev, dst_output_sk); NULL, skb_dst(skb)->dev, dst_output_sk);
} else } else
...@@ -589,6 +593,8 @@ static inline int ip_vs_send_or_cont(int pf, struct sk_buff *skb, ...@@ -589,6 +593,8 @@ static inline int ip_vs_send_or_cont(int pf, struct sk_buff *skb,
if (!local) { if (!local) {
ip_vs_drop_early_demux_sk(skb); ip_vs_drop_early_demux_sk(skb);
skb_forward_csum(skb); skb_forward_csum(skb);
if (!skb->sk)
skb_sender_cpu_clear(skb);
NF_HOOK(pf, NF_INET_LOCAL_OUT, NULL, skb, NF_HOOK(pf, NF_INET_LOCAL_OUT, NULL, skb,
NULL, skb_dst(skb)->dev, dst_output_sk); NULL, skb_dst(skb)->dev, dst_output_sk);
} else } else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment