]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ipvs: call skb_sender_cpu_clear
authorJulian Anastasov <ja@ssi.bg>
Thu, 9 Jul 2015 08:15:27 +0000 (11:15 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Oct 2015 21:43:20 +0000 (14:43 -0700)
commit e3895c0334d0ef46e80f22eaf2a52401ff6d5a67 upstream.

Reset XPS's sender_cpu on forwarding.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Fixes: 2bd82484bb4c ("xps: fix xps for stacked devices")
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netfilter/ipvs/ip_vs_xmit.c

index e9d0e1b524f71c2d50ff557d615dda06e0120e1c..258f1e05250fa380837355b460bf5207b5a03c26 100644 (file)
@@ -518,6 +518,8 @@ static inline int ip_vs_tunnel_xmit_prepare(struct sk_buff *skb,
        if (ret == NF_ACCEPT) {
                nf_reset(skb);
                skb_forward_csum(skb);
+               if (!skb->sk)
+                       skb_sender_cpu_clear(skb);
        }
        return ret;
 }
@@ -558,6 +560,8 @@ static inline int ip_vs_nat_send_or_cont(int pf, struct sk_buff *skb,
 
        if (!local) {
                skb_forward_csum(skb);
+               if (!skb->sk)
+                       skb_sender_cpu_clear(skb);
                NF_HOOK(pf, NF_INET_LOCAL_OUT, NULL, skb,
                        NULL, skb_dst(skb)->dev, dst_output_sk);
        } else
@@ -578,6 +582,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->sk)
+                       skb_sender_cpu_clear(skb);
                NF_HOOK(pf, NF_INET_LOCAL_OUT, NULL, skb,
                        NULL, skb_dst(skb)->dev, dst_output_sk);
        } else